摘要: Trie树的理解 Trie树又称单词查找树,字典树,是哈希树的变种; 优点在于:最大限度地减少无谓的字符串比较,查询效率比哈希高; 缺点在于:空间消耗很大; 性质 其基本性质可以归纳为: 1. 跟结点不包括字符,除跟结点以外,每个结点只包含一个字符; 2. 从跟结点到某一个结点,路径上经过的字符连接 阅读全文
posted @ 2017-01-24 11:36 banananana 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 前言 "Trie树理解" ,该博客已经对Trie树进行了简要的介绍; Trie树分为静态建树和动态建树,两者的区别在于: 插入操作时,静态建树中插入不存在的结点利用的是已经创建好的大数组进行存放,而动态数组则会动态申请一个结点; 删除操作时,静态建树中删除只需将跟节点的next数组都置为空即可,而动 阅读全文
posted @ 2017-01-24 11:35 banananana 阅读(1257) 评论(0) 推荐(0) 编辑
摘要: 并查集 第一次遇到并查集这个数据结构,发现这是一种很高效的算法,便打算纪录下来; 当题目给定多条整数对,我们需要设计数据结构来保存已知的所有整数对的足够多的信息,并用它们来判断一对新对象是否是相连的; 并查集就适用于这种动态连通性问题。 union find算法有这五种方法 UF void unio 阅读全文
posted @ 2017-01-24 11:34 banananana 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 例题 以字符串 ABABACA 为例 a 前缀: 后缀: 结果为0 ab 前缀:a 后缀: b 结果为0 aba 前缀:a ab 后缀: ba a 结果为1,此时 i=2,j=1 abab 前缀:a ab aba 后缀: bab ab b 结果为2,此时 i=3,j=2 ababa 前缀:a ab 阅读全文
posted @ 2017-01-24 11:32 banananana 阅读(233) 评论(0) 推荐(0) 编辑
摘要: DFS 算法总结 这篇文章会对DFS进行一个总结,列举的题目则是从LeetCode上面选的; 适用场景: 有三个方面,分别是输入数据、状态转换图、求解目标; 输入数据 :如果是递归数据结构,如单链表,二叉树,集合,则百分之百可以使用深搜;如果是非递归数据结构,比如一维数组、二维数组、字符串、图,则概 阅读全文
posted @ 2017-01-24 11:25 banananana 阅读(7449) 评论(0) 推荐(0) 编辑