字典樹是一種用於快速檢索的多叉樹結構,每個節點儲存乙個字元,一條枝幹表示乙個單詞、**等等資訊。
具體每個節點如草圖所示
結構體(節點)定義如下
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 究竟有什麼用?...