ACM字典树详解汇编.pptVIP

  • 53
  • 0
  • 约3.48千字
  • 约 16页
  • 2017-04-11 发布于湖北
  • 举报
ACM字典树详解汇编

ACM程序设计 杭州电子科技大学 刘春英 acm@hdu.edu.cn 集训队讲座(二) 字典树 (Trie) 导引问题 (HDOJ-1251) Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). 初步分析(Brute-force) Question: 如果单词表容量很大-查找效率? -低 更有效率的方法:字典树 假设单词表容量为M,需要统计的前缀数量为N,单词的平均长度为L,则常规算法的时间复杂度是? 什么是字典树? 字典树:又称为Trie,是一种用于快速检索的多叉树结构。Trie把要查找的关键词看作一个字符序列,并根据构成关键词字符的先后顺序构造用于检索的树结构;一棵m度的Trie树或者为空,或者由m棵m度的Trie树构成。 特别地:和二叉查找树不同,在Trie树中,每个结点上并非存储一个元素。 Trie的图示 特点: 利用串的公共前缀-节约内存 根结点不包含任何字母 其余结点仅包含一个字母(非元素) 每个结点的子节点包含字母不同 Trie的查找(最主要的操作) (1)在trie树上进行检索总是始于根结点。 (2)取得要查找关键词的第一个字母,并根据该字母选择对应的子树并转到该子树继续进行检索。 (3)在(5)在某个结点处,关相应的子树上,取

文档评论(0)

1亿VIP精品文档

相关文档