欢迎光临散文网 会员登陆 & 注册

【数据结构之字典树Trie】C语言实现

2022-05-04 16:49 作者:快乐的小log  | 我要投稿


运行结果
字典树结构及查询过程

/**

 * 字典树

 *  1、根节点(Root)不包含字符,除根节点外的每一个节点都仅包含一个字符;

 *  2、从根节点到某一节点路径上所经过的字符连接起来,即为该节点对应的字符串;

 *  3、任意节点的所有子节点所包含的字符都不相同;

 *  4、关键词的插入和查找过程的时间复杂度均为 O(key_length),

 *  5、空间复杂度 O(ALPHABET_SIZE * key_length * N) ,其中 N 是关键词的数量。

**/

    Trie又称单词查找树,是一种树形结构,是哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。

    优点:非常适合操作字符串,利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。

    缺点:虽然不同单词共享前缀,但其实trie是一个以空间换时间的算法,每个结点只存储一个字符浪费了


【数据结构之字典树Trie】C语言实现的评论 (共 条)

分享到微博请遵守国家法律