update tree

This commit is contained in:
ranwenjie
2021-11-09 01:26:42 +08:00
parent 881539862f
commit 103347ed16
4 changed files with 22 additions and 9 deletions
+6 -4
View File
@@ -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树将消耗大量内存
* 用链表存储,查询时需要遍历链表,查询效率有所降低
+3 -1
View File
@@ -1,6 +1,8 @@
# 赫夫曼编码 Huffman
这是一个经典的压缩算法。通过`字符出现的频率`,`优先级`,`二叉树`进行的压缩算法。
Huffman在1952年根据香农(Shannon)在1948年和范若(Fano)在1949年阐述的这种编码思想提出了一种不定长编码的方法,也称霍夫曼(Huffman)编码。
这是一个经典的压缩算法。通过`字符出现的频率`,`优先级`,`二叉树` 进行的压缩算法。
对一个字符串,计算每个字符出现的次数,把这些字符放到优先队列(priority queue)
这这个priority queue转出二叉树