我有一個單詞詞典,我想做一個搜索算法來確定給定的字符串(長度至少3,最大10)是否存在於字典中。如何使用ByteArray訪問一百萬片樹葉的圖樹?
我想要做的是一棵樹,每個級別都是來自被測試單詞的連續字母。如果我爲下一封信得到一個孩子而沒有,那麼這個單詞就不存在了。
例如,對於單詞「雜草」,根是w,是否有孩子「e」?是?那有一個孩子「e」嗎?是?那個孩子有「d」嗎?沒有? Word不存在。是? Word存在。
問題在於字典的龐大。從文本文件構建巨大的樹需要花費很多時間,我的應用程序凍結並需要太多時間(大約8,取決於個人電腦),並可能觸發瀏覽器「swf停止響應,停止它?」
我想要的是在AIR中預先構建樹,然後將其保存爲二進制文件。最後一步是以某種方式提取預先構建的樹。不使用readObject,因爲它構建了巨大的樹新我想以某種方式將bytearrary轉換爲Object並從內存中訪問它,但我不知道如何開始這樣做。
這並不回答你的問題,但如果你還沒有,我會調查現有的拼寫檢查庫如何工作,如[Adobe Squiggly](http://labs.adobe.com/technologies/squiggly/)使用[Hunspell算法](http://hunspell.sourceforge.net/)。當然,拼寫檢查器要複雜得多,因爲它們提供了建議,但它們確實解決了大字典檢查的問題。例如,Squiggly的'SpellChecker/checkWord()'。 – Aaron
不會將數據放在硬盤上,並使用操作系統進行搜索足夠快嗎? – moot