【需求】使用字典樹處理。【**實現】public inte***ce trie
【測試】/**
* @author yusael
* trie 字典樹
*/public class trie }
public int size()
public boolean isempty()
public void clear()
public v get(string key)
public boolean contains(string key)
public v add(string key, v value)
nodenode = root;
int len = key.length();
for(int i = 0; i < len; i++)
node = childnode;
} if(node.word)
// 新增乙個單詞
node.word = true;
node.value = value;
size++;
return null; }
public v remove(string key)
// 沒有子節點
nodeparent = null;
while((parent = node.parent) != null)
return oldvalue; }
public boolean startswith(string prefix)
/*** 根據傳入字串,找到最後乙個節點
* 例如輸入 dog
* 找到 g
*/private nodenode(string key)
return node; }
private void keycheck(string key) }
}
public class main
}
資料結構 Trie字典樹
簡介 字典樹 又稱單詞查詢樹,trie樹,是一種樹形結構,是一種雜湊樹的變種。優點 利用字串的公共字首來減少查詢時間,最大限度地減少無謂的字串比較,查詢效率比雜湊樹高。性質 1.根節點不包含字元,除根節點外每乙個節點都只包含乙個字元 2.從根節點到某一節點,路徑上經過的字元連線起來,為該節點對應的字...
資料結構 TRIE樹
分類 data structure 2009 04 19 22 31 5425人閱讀收藏 舉報trie樹 trie樹就是字元樹,其核心思想就是空間換時間。舉個簡單的例子。給你100000個長度不超過10的單詞。對於每乙個單詞,我們要判斷他出沒出現過,如果出現了,第一次出現第幾個位置。這題當然可以用h...
資料結構 TRIE樹
trie樹 trie樹就是字元樹,其核心思想就是空間換時間。舉個簡單的例子。給你100000個長度不超過10的單詞。對於每乙個單詞,我們要判斷他出沒出現過,如果出現了,第一次出現第幾個位置。這題當然可以用hash來,但是我要介紹的是trie樹。在某些方面它的用途更大。比如說對於某乙個單詞,我要詢問它...