1-實現單詞插入並統計插入次數
2-實現查詢單詞是否存於字母查詢樹中
3-實現自動補全提醒
注意:1-只支援全小寫字母單詞
2-查詢時間複雜度為log(h),h為單詞長度
3-插入時間複雜度為log(h),h為單詞長度
4-空間複雜度小於所有字母個數
結點**:
package bin.tree.trie;
/**字母查詢樹節點
* @author 牽手無奈
* date:2015-9-2
* */
public class mytrie
public mytrie(char letter)
public void initialnext()
if(isword(word))
/**檢查輸入單詞在字母樹中出現的次數
* @param word
* @return
*/public int checkcount(string word)
/**自動補全,列出可以匹配的單詞
* @param key
* @return
*/public listautocomplete(string key)
/**先序遍歷剩下的部分
* @param p
* @param list
* @param oneword
*/public void listalllast(mytrie p,listlist,stringbuffer oneword)else
}} }
/**檢查當前結點是否是葉子結點
* @param trie
* @return
*/public boolean checknext(mytrie trie)
return false; }
/**判斷輸入的字串是不是全是小寫字母
* @param word
* @return
*/public static boolean isword(string word)
/*** @param args
* @throws ioexception
*/public static void main(string args) throws ioexception
} inputstreamreader testinr = new inputstreamreader(system.in);
bufferedreader testreader = new bufferedreader(testinr);
do else
} while (true);
}}
本程式測試時從檔案讀入資料
trie樹 字典樹 java實現
public class trie public void insert string word else current.count current.isend true 怎麼判斷單詞是否存在?被判斷的單詞的字母與根節點下的子節點的字母進行比較,直到匹配到兩者最後乙個字母相同,並且最後乙個節點的i...
Trie(字典樹)的Java實現
簡單實現了乙個具有crud操作能力的trie。crud操作即插入 create 讀取 read 改變 update 和刪除 delete 刪除是基於當前結點的count實現的。當count為0時代表當前結點應該被完全刪除。trie的所有操作均為o n 其中n為所要操作的單詞的長度。public ke...
Trie樹(單詞查詢樹)
前言 tire樹,又稱之為字典樹或者單詞查詢樹。是一種樹形結構,是雜湊樹的變種。典型應用是用於統計 排序或儲存大量的字串 不僅限於字串 所以經常被搜尋引擎系統用於文字詞頻的統計。因為相同的字串字首會共享同一條分支,所以優點是可以利用不同字串的相同字首來減少無謂的字串比較,查詢效率比hash表 has...