各類樹的應用
AVL樹:最早的平衡二叉樹之一童谒,是一種高度平衡的二叉樹,所以通常的結(jié)果是,維護這種高度平衡所付出的代價比從中獲得的效率收益還大宽菜,故而實際的應用不多。windows對進程地址空間的管理用到了AVL樹竿报。
紅黑樹:平衡二叉樹铅乡,廣泛用在C++的STL中。map和set都是用紅黑樹實現(xiàn)的烈菌。還有epoll在內(nèi)核中的實現(xiàn)阵幸,用紅黑樹管理事件塊
nginx中,用紅黑樹管理timer等
Java的TreeMap實現(xiàn)
著名的linux進程調(diào)度Completely Fair Scheduler,用紅黑樹管理進程控制塊
B/B+樹:用在文件系統(tǒng)芽世、數(shù)據(jù)索引和數(shù)據(jù)庫索引挚赊,如Mysql。
trie 樹:的一個典型應用是前綴匹配济瓢,比如下面這個很常見的場景荠割,在我們輸入時,搜索引擎會給予提示旺矾,還有比如IP選路蔑鹦,也是前綴匹配,一定程度會用到trie箕宙。
哈夫曼樹:哈夫曼編碼