单词查找树?Trie树,也被称作单词查找树或键树,是一种独特的树形数据结构,它源自哈希树的一种变体。它的主要用途是高效处理和管理大量的字符串数据,尤其在搜索引擎的文本词频统计中发挥着关键作用。Trie树的核心优势在于它的设计,它通过分治的方式,极大地减少了不必要的字符串比较,从而显著提高了查询效率,那么,单词查找树?一起来了解一下吧。
trie 树。单词查找树/字典树
插入与查询的时间复杂度均为 o(k) k为插入(查询)单词的长度
构建n个单词组成的字典树。 即 n*o(k)
个人的理解。
Trie树,又叫字典树、前缀树(Prefix Tree)、单词查找树 或 键树,是一种多叉树结构。
上图是一棵Trie树,表示了关键字集合{“a”, “to”, “tea”, “ted”, “ten”, “i”, “in”, “inn”} 。
从上图可以归纳出Trie树的基本性质:
实际场景中,每个中间节点,会设置「 一个标记 」,用于标识 当前节点 是否 构成一个单词 ( 关键词 )。
字典树,作为数据结构,有什么用?本质是:查询效率,或者说「时间复杂度」。
Trie树:
优点 :
缺点 :
具体的应用场景:
本文参考:树结构参考文献
[图片上传失败...(image-83b557-1539180310707)]
[图片上传失败...(image-d6bf01-1539180310707)]
性质1. 节点是红色或黑色,根是黑色,所有叶子都是黑色
性质2. 每个红色节点必须有两个黑色的子节点。(从每个叶子到根的所有路径上不能有两个连续的红色节点,即红黑相间),从任一节点到其每个叶子的所有简单路径都包含相同数目的黑色节点(简称黑高)。
[图片上传失败...(image-52c714-1539180310707)]
B+树是B树的变体,也是一种多路搜索树:
[图片上传失败...(image-c2ce8e-1539180310707)]
B+ 树的性质:
1.所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关键字恰好是有序的;
2.不可能在非叶子结点命中;
3.非叶子结点相当于是叶子结点的索引(稀疏索引),叶子结点相当于是存储(关键字)数据的数据层;
4. 更适合文件索引系统。
所以,B*树分配新结点的概率比B+树要低,空间使用率更高。
Tire树称为字典树,又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。
Trie树,也被称作单词查找树或键树,是一种独特的树形数据结构,它源自哈希树的一种变体。它的主要用途是高效处理和管理大量的字符串数据,尤其在搜索引擎的文本词频统计中发挥着关键作用。Trie树的核心优势在于它的设计,它通过分治的方式,极大地减少了不必要的字符串比较,从而显著提高了查询效率,相比传统的哈希表,Trie树在查找操作上表现出更高的性能。
这种数据结构的每个节点代表一个字符串的前缀,从根节点开始,沿着路径向下走,直到找到目标字符串或者到达叶子节点。这种设计使得Trie树在查找、插入和删除操作中,能够快速定位到特定的字符串,尤其是在处理大量数据时,其优势更为明显。由于它的高效性和针对性,Trie树已经成为处理字符串相关问题的首选工具之一。
总的来说,Trie树通过优化字符串查找过程,提供了优秀的性能,特别是在处理需要频繁搜索和统计字符串的场景中,它的优势无可替代。无论是文本挖掘、搜索引擎还是其他需要处理字符串的领域,Trie树都展现出了其强大的实用价值。
rose 玫瑰花
tulip['tju:lip] 郁金香
balsam ['bɔ:lsəm]凤仙花
canna ['kænə]美人蕉 l
lily 百合花
gladiolus [,ɡlædi'əuləs] 剑兰
jasmine ['dʒæzmɪn]茉莉
sweet pea 香豌豆花
sunflower 向日葵
geranium [dʒi'reinjəm]大竺葵
morning-glory 牵牛花
daffodil ['dæfədɪl]黄水仙
pansy 三色堇
hyacinth'haiəsinθ风信花
poppy 罂粟花
marigold ['mæriɡəuld] 万寿菊 金盏花
carnation[kɑ:'neɪʃən]康乃馨麝香石竹
orchid ['ɔ:kɪd 兰花
chrysanthemum [kri'sænθəməm] 菊花
Centnry plant 龙舌兰
marguerite[,mɑ:ɡə'ri:t],
daisy 雏菊
begonia [bi'ɡəuniə] 秋海棠
redbud 紫荆
dogwood 山茱萸
hawthorn ['hɔ:θɔ:n] 山楂
camellia [kə'mi:ljə]山茶
hibiscus[haɪ'bɪskəs]芙蓉 木槿
peony ['pi:əni:]牡丹 芍药
azalea [ə'zeiliə]杜鹃
rhododendron [,rəʊdə'dendrən]杜鹃花
daphne ['dæfni:] 瑞香
gardenia [gɑ:'di:njə]栀子
lilac ['laɪlək,] 紫丁香
cereus .[ˈsiəriəs] 仙人掌
petal ['petl]花瓣
pollen 花粉
apple 苹果
pear [pɛə] 梨
orange桔子
apricot 'æprɪ,kɔt] 杏
plum洋李
pine 松
cedar 雪松类
larch 落叶松
juniper ['dʒu:nipə] 杜松
cone [kəun]松果
cypress ['saɪprɪs]柏树
bamboo竹
box 黄杨
poplar ['pɔplə]白杨
cottonwood 三角叶杨
osier ['əuʒə] 紫皮柳树
willow垂柳
birch [bɜ:tʃ] 白桦
maple ['meipl] 枫树
sequoia [si'kwɔiə] 红杉
fir 冷杉
hemlock spruce [spru:s] 铁杉
spruce 云杉 yew [joəʊ]紫杉
eucalytus桉树
locust洋槐
camphortree 樟树
rosewood 紫檀
ebony 乌檀
sandalwood ['sændl,wʊd]檀香木
oak 橡树
acorn ['eɪ,kɔ:n, 'eɪkən]橡树果
sycamore ['sɪkə,mɔ:]美国梧桐
ginkgo ['ɡiŋkɡəu] 银杏树
holly 冬青
coco ['kəukəu]椰子树
date 枣椰树
hickory ['hikəri] 山核桃树
plane tree 悬铃树
beech山毛榉
horse chestnut 七叶树
baobab ['beiəubæb]猴面包树
elder 接骨木
cycad ['saikæd]苏铁
oil palm 油棕榈树
treetop 树梢
branch 树枝
twig 小树枝
bough 大树枝
knot 树节
trunk 树干
leaf 树叶
sprout [spraut] 新芽
sapling树苗
stump 树桩
root树根
taproot 主根
bark 树皮
resin ['rezɪn] 树脂
pith [pɪθ]木髓
cambium ['kæmbiəm] 形成层
ring年轮
wood 木材
以上就是单词查找树的全部内容,Trie树,又叫字典树、前缀树(Prefix Tree)、单词查找树 或 键树,是一种多叉树结构。上图是一棵Trie树,表示了关键字集合{“a”, “to”, “tea”, “ted”, “ten”, “i”, “in”, “inn”} 。从上图可以归纳出Trie树的基本性质:实际场景中,每个中间节点。