樹的演算法 實現乙個Trie

2021-10-04 03:30:37 字數 950 閱讀 9653

insert(word)傳入乙個單詞後構造字首樹的時候,將字串word轉化成字元陣列進行遍歷,要判斷單詞的當前字元是否在字首樹中,如果不在就要建立這個結點物件;如果存在就使用。將當前結點值變為孩子結點,所以要定義乙個指標currentnode初始值是this。

search(word)傳入乙個單詞判斷是否在字首樹中,將單詞word轉化為字元陣列遍歷,(需要對特殊情況的word進行判斷)。如果當前字元存在於字首樹中就繼續遍歷下乙個字元,如果不存在就讓結果result=false。當遍歷完當前字元陣列的時候,還要判斷此時currentnode指標指向的結點是否是葉子結點,如果是那麼此時search的結果才是真正為true。

startwith就簡單的多了,與search類似,不過遍歷完之後不再需要對尾結點進行判斷。

編輯器

public class tire 

/*** 插入乙個單詞

* @param word 單詞

*/public void insert(string word)

/*** 插入乙個單詞

* @param word 單詞

*/public void insert(string word) else

}//這個標識很重要

currentnode.endasword=true;}}

/*** 檢索指定單詞是否在樹中

* @param word 單詞

*/public boolean search(string word) else

}if(result)

}return result;

}/**

* 檢索指定字首是否在樹中

* @param word 單詞

*/public boolean startswith(string prefix) else}}

return result;

}}

Trie的乙個實現

trie.h 檔案 ifndef trie h define trie h include include include include include using namespace std inline int sub size int level struct search tree cha...

Trie樹演算法實現 c 版

老規矩。推薦部落格 trie樹詳解 如下 created by administrator on 2020 2 18.include include include include include include include using namespace std typedef struct ...

Trie樹的實現

一 定義 trie,又稱字典樹,是一種用於快速檢索的二十六叉樹結構。典型的空間換時間 二 結構圖 三 原理 特別地 和二叉查詢樹不同,在trie樹中,每個結點上並非儲存乙個元素。四 性質 0 利用串的公共字首,節約記憶體 1 在trie樹上進行檢索總是始於根結點 2 根節點不包含字元,除根節點外的每...