数据结构
1999xiaoshuai
这个作者很懒,什么都没留下…
展开
-
Trie树
又称单词查找树,字典树,前缀树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 class Trie { Trie[] next; boolean isEnd = false; public Trie() { next = new Trie[26]; } .原创 2021-04-19 17:23:55 · 95 阅读 · 0 评论 -
SkipList跳表
SkipList 一种让排序链表的查找的复杂度能降低到O(logn)级别的数据结构 相当于给排序链表加了索引使其能用二分来查找 // 每一层都是一个 sorted linkedlist // 上面一层的元素是下层元素的一半, 均匀分布 1---------------------->9 // cache1 1---------->5---------->9 // cache2 1---->3---->5---->7---->9 // cache3原创 2021-03-21 17:58:17 · 135 阅读 · 0 评论 -
最小生成树问题
最小生成树问题 简介 最小生成树是一副连通加权无向图中一棵权值最小的生成树。 最小生成树是图论算法中比较经典的问题,在现实生活中也有非常多的应用。有两种比较经典的算法,都是使用了贪心的思想解决: Prim算法(普利姆算法) Prim算法的每一步都会为一棵生长中的树添加一条边,该树最开始只有一个顶点,然后会添加{V-1}个边。每次总是添加生长中的树和树中除该生长的树以外的部分形成的切分的具有最小权值的横切边。Prim算法的时间复杂度为{O(E + VlogV)}。 Kruskal算法(克鲁斯克尔算法)原创 2021-03-21 17:52:42 · 672 阅读 · 1 评论