2013-03-20 46 views
0

我已經計劃在字典應用程序中使用trie數據結構實現,但問題是將超過10,000個字加載到trie中。儘管trie會刪除多餘的字母,並且首要的加載的內存總量不過是kbs的幾個字節,但將所有字加載到trie中所需的時間將花費很多時間,如果它被實現爲移動設備手機應用程序..如何使用trie設計字典應用程序?

有什麼建議可以做什麼?

+0

實際需要多長時間? – 2013-03-20 07:43:10

+0

我還沒有測試,但它應該需要很長時間..超過80千字的數據庫中有我有。應該花費相當長的時間或移動可能會強制退出應用程序..:/ – 2013-03-20 08:23:36

+1

80K並不是那麼多,我建議你在得出結論之前測試它,你可能會感到驚訝。另外,你的目標是什麼手機?根據您的需要,如果您只需檢查單詞是否在字典中,則只需要一個哈希表就可以完成這項工作,並且會加載得更快。這是JavaScript,但這些概念適用:http://ejohn.org/blog/javascript-trie-performance-analysis/ – Pin 2013-03-20 08:43:01

回答

1

代替(或者除此之外)傳送包含字典的數據庫以及您的應用程序,您可以發送包含所有字典單詞的序列化字典。這可以以您想要的任何方式(可能作爲數據庫或xml文件中的blob)序列化,然後您可以反序列化它以在應用程序啓動時創建Java trie對象。

要做到這一點,你可以使用它通過所有dicitionary話去創建線索一個部署腳本,並將它們放置到線索,並再序列線索到某些文件或BLOB和包這個連載特里結構的發佈應用程序。