update tree
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
# 字典树trie
|
||||
|
||||
## trie基本
|
||||
|
||||
`字典树`,英文名`Trie树`,Trie一词来自retrieve,发音为/tri:/ “tree”,也有人读为/traɪ/ “try”,
|
||||
又称`单词查找树` 或 `前缀树`,Trie树,是一种树形结构(多叉树)。
|
||||
@@ -81,9 +80,12 @@ trie树把每个关键字保存在一条路径上,而不是一个节点中
|
||||
|
||||
## trie树存储结构和基本操作
|
||||
|
||||
最简单实现 ---- 26个字母表 a-z (没有考虑数字,大小写,其他字符如=-*/)
|
||||
子树用数组存储,浪费空间;如果系统中存在大量字符串,且这些字符串基本没有公共前缀,trie树将消耗大量内存
|
||||
如果用链表存储,查询时需要遍历链表,查询效率有所降低
|
||||
最简单实现 ---- 26个字母表 `a-z` (没有考虑数字,大小写,其他字符如 `=-*/`)
|
||||
|
||||
trie 树存储结构
|
||||
|
||||
* 用数组存储,浪费空间;如果系统中存在大量字符串,且这些字符串基本没有公共前缀,trie树将消耗大量内存
|
||||
* 用链表存储,查询时需要遍历链表,查询效率有所降低
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# 赫夫曼编码 Huffman
|
||||
|
||||
这是一个经典的压缩算法。通过`字符出现的频率`,`优先级`,`二叉树`进行的压缩算法。
|
||||
Huffman在1952年根据香农(Shannon)在1948年和范若(Fano)在1949年阐述的这种编码思想提出了一种不定长编码的方法,也称霍夫曼(Huffman)编码。
|
||||
|
||||
这是一个经典的压缩算法。通过`字符出现的频率`,`优先级`,`二叉树` 进行的压缩算法。
|
||||
|
||||
对一个字符串,计算每个字符出现的次数,把这些字符放到优先队列(priority queue)
|
||||
这这个priority queue转出二叉树
|
||||
|
||||
Reference in New Issue
Block a user