字串儲存結構Trie樹

2021-10-05 12:28:13 字數 779 閱讀 4141

trie樹主要用於字串的儲存,統計,查詢。其中字串的確定是根據節點在樹中的位置所決定的,並不是將字串的整個資訊存在節點中。

如下圖所示:

藍色節點表示為單詞字串的結尾,圖中包含了(ab,ac,b,bcd,cf)

1、節點的結構體

const

int char_num=26;

//(a-z)

struct trienode

};

2、插入單詞(insert)

void

insert

(string word)

ptr-

>is_end=

true

;}

3、查詢單詞(search)

bool

search

(string word)

return ptr-

>is_end;

}

4、判斷字首(startswith)

bool

startswith

(string prefix)

return

true

;}

字典樹的優點就是利用了字串之間的公共字首,減少了儲存的空間,提高了搜尋的效率。

字串 Trie樹(字典樹)

關於這個字串的資料結構我就不多說什麼了,不知道的可以戳這裡.trie樹在oi中應用廣泛,時間優秀,缺點就是空間占用大。下文中我們將字符集大小稱為 k,模式串長度為p trie支援o np 建樹,o p 插入,查詢,刪除。可是如果二維陣列儲存的話,就要耗費kn 的空間,基本無法承受。空間上我們可以用指...

字串 Trie字典樹

目錄 trie字典樹 例題 1.什麼是字典樹?2.字典樹的作用及性質 3.建樹 code 效果圖 4.查詢 code 5.優勢 6.回到例題 code 7.結束語 8.練習 給出n個字串,以及m個詢問。每次詢問讀入乙個字串,求該字串是多少個字串的字首 每個字串長度小於10 2,n和m小於10 5。樣...

字串統計 Trie樹

題目 維護乙個字串集合,支援兩種操作 i x 向集合中插入乙個字串x q x 詢問乙個字串在集合 現了多少次。共有n個操作,輸入的字串總長度不超過 10 5,字串僅包含小寫英文本母。輸入格式 第一行包含整數n,表示運算元。接下來n行,每行包含乙個操作指令,指令為 i x 或 q x 中的一種。輸出格...