又稱單詞查詢樹,trie樹,是一種樹形結構,是一種雜湊樹的變種。典型應用是用於統計,排序和儲存大量的字串(但不僅限於字串),所以經常被搜尋引擎系統用於文字詞頻統計。它的優點是:利用字串的公共字首來減少查詢時間,最大限度地減少無謂的字串比較,查詢效率比雜湊樹高。
它有3個基本性質:
根節點不包含字元,除根節點外每乙個節點都只包含乙個字元; 從根節點到某一節點,路徑上經過的字元連線起來,為該節點對應的字串; 每個節點的所有子節點包含的字元都不相同。
key:查詢次數跟樣本數量無關,跟要查詢的字串長度有關
【code】
publicclass
trietree
}public
static
class
trie
public
void
insert(string str)
node.end++;
}public
void
delete(string str)
}node.end--;
}public
boolean
search(string word)
char chs =word.tochararray();
trienode node =root;
int index = 0;
for (int i = 0; i < chs.length; i++)
node =node.map[index];
}return node.end != 0;
}//字首str出現的次數
public
intprecount(string pre)
return
node.path;}}
}
鍊錶的增刪改查實現(遞迴與非遞迴實現)
1 鍊錶的概念 鍊錶是一種物理儲存單元上非連續 非順序的儲存結構。2 原理圖 3 增刪改查操作實現 遞迴 1 首先建立乙個node類 public class node 2 增刪改查 遞迴實現 增加 本例介紹在尾部插入 在增加的過程中,先找到最後乙個結點 next null 遞迴尋找 每增加乙個元素...
字首樹的簡單實現
1.字首樹 字首樹又稱為單詞查詢樹,是一種樹形的結構,用於儲存大量的字串,它的優點是 利用字串的公共字首來節約儲存空間 trie樹主要是利用詞的公共字首縮小查詞範圍 通過狀態間的對映關係避免了字元的遍歷,從而達到高效檢索的目的 2.可以先宣告乙個節點trienode,節點包括以下幾個屬性 trien...
CUDA實現平衡樹求字首和
應實驗要求,使用cuda實現平衡樹的字首求和演算法,很可惜只是做了乙個簡單的版本,沒有時間做更多的優化,在此記錄下來以後在進行深入優化。平衡樹求字首和的思想是使用邏輯上的樹形結構,先一次遍歷所有葉子節點實現相鄰的兩個節點相加,層層上播直到根節點。然後從根節點在執行一次向下的播送過程,最後所有的字首和...