字典樹(陣列版)入門級詳細講解加模擬

2021-08-24 23:02:51 字數 717 閱讀 8308

字典樹是一種用於快速檢索的多叉樹結構,每個節點儲存乙個字元,一條枝幹表示乙個單詞、**等等資訊。

具體每個節點如草圖所示

結構體(節點)定義如下

struct tree

} t[maxn];

每個節點下面的26條分支初始狀態都是-1  按順序0-25分別表示a到z字元。不是-1的位置代表這個位置可以繼續往下索引。

比如 :(t[0]表示根節點)

t[0].point[0]=1;

t[1].point[1]=2;

t[2].point[2]=3;

這三個陣列的意思就是表示存了乙個abc字串,如果t[2].point[0]=4;就表示還存了乙個aba的串。從根開始通過t[0].point[0]可以找到t[1],通過t[1]裡面point陣列第二個位置的值(索引)可以找到t[2],t[2]的piont陣列裡面有第0個和第2個位置不為-1就表示有了aba和abc字串。

另貼上三個常用函式

void insert(char *str,int value)

}void delete(char *str,int value)

return t[cnt].num;

}

線段樹的入門級

線段樹是一種二叉搜尋樹,與區間樹相似,它將乙個區間劃分成一些單元區間,每個單元區間對應線段樹中的乙個葉結點。對於線段樹中的每乙個非葉子節點 a,b 它的左兒子表示的區間為 a,a b 2 右兒子表示的區間為 a b 2 1,b 因此線段樹是平衡二叉樹,最後的子節點數目為n,即整個線段區間的長度。使用...

入門級演算法

今天我想記錄的是一些關於入門級別的演算法。將乙個字串s對映為乙個整數,使得該整數可以唯一的代表字串s。先假設字串均由大寫字母a z構成,不妨設a z為0 25,即將26個大寫字母對應到了二十六進製制中。按照將二十六進製制轉換為十進位制的思路,即可實現將字串對映為整數的需求。題目 給出n個字串 恰好由...

PKI入門級介紹

隨著電子商務的迅速發展,資訊保安已成為焦點問題之一,尤其是網上支付和網路銀行對資訊保安的要求顯得更為突出。為了能在網際網路上開展安全的電子商務活動,公開金鑰基礎設施 pki,public key infrastructure 逐步在國內外得到廣泛應用。我們是否真的需要 pki pki 究竟有什麼用?...