【数据结构-trie树】trie数实现单词查询和单词统计

本文介绍了Trie树的概念,包括其定义、建立过程、检索方法和利用Trie树进行词频统计。通过在节点中添加计数域,Trie树不仅可以快速查询单词,还能有效统计单词出现的频率。详细阐述了如何建立Trie树、进行检索操作,并提供了相关代码示例。
摘要由CSDN通过智能技术生成

参考内容:

1.  这位童鞋的文章 http://blog.csdn.net/zhulei632/article/details/6704496

2.  严蔚敏 -数据结构

1.键树的定义:

   键树又叫“数字查找树”。深度>=2  . 树中的每个节点一般不是直接包含关键字,而是包含组成关键字的符号(当然叶子节点除外,叶子节点可能包含整个单词以及词频,非叶节点也可包含单词和词频)。根据存储结构的不同,又分为双链树和多重链表树。或者就是常说的“Trie树”,取自检索“retrieve”中间的四个单词。因此也被称为检索树。Trie树的每个节点含有d个指针域(d为关键字的基数,如果是字母,那么基数为26 即a-z .如果是数字,那么基数是10, 即0-9)。

如图所示,一个Trie树的结构如下:

如果在trie树的node节点添加新的域 count,记录已有的单词总数。那么,Trie树除了实现单词查询之外,还可以实现单词频度统计。

如,我们定义的Trie树的节点结构如下:

typedef struct Trie_node{
    int  count;
    struct Trie_node *next[26];

}TrieNode, *Trie;
其中next数组指向下一层次节点。

有了这个结构。Trie树的实现就有了一个基础。

2。Trie树的建立

建立一个Trie树的过程就是不断添加新的单词的过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值