数据结构
文章平均质量分 92
江枫forever
喜欢编程的初级菜鸟
展开
-
AVL树
理论介绍 AVL(Adelson-Velskii和Landis)树是带有平衡条件(balance condition)的二叉查找树。AVL树的核心是平衡因子(Balance Factor)这个概念,其数学原理是bf(x) = h(x-right) - h(x-left) .这个概念由一个放宽的平衡条件推导出来。 AVL树中最理想的平衡条件是要求每个节点都必须拥有相同高度的左子树和右子原创 2017-04-08 12:39:01 · 825 阅读 · 0 评论 -
Trie树
Trie Trie树 Trie树, 又称作字典树,前缀树(prefix tree),单词查找树或者键树. 它是一种树结构,主要用于检索字符串数据集中的键。 它是一种非常有用的数据结构,应用在多个场景,例如搜索框中的自动补全Autocomplete,单词的拼写检查Spell Checker, IP 路由匹配IP routing(Longest prefix matching) 等等原创 2017-03-27 20:19:16 · 393 阅读 · 0 评论 -
伸展树(Splay Tree)
伸展树(Splay Tree),又称分裂树,是一种在AVL树基础上进一步放松平衡条件的二叉排序树,它能够在O(log n)时间复杂度内完成插入、查找和删除操作。伸展树上的一般操作都是基于伸展操作的,还可以说伸展树是一种自调整形式的二叉查找树,他会沿着从某个节点到树根之间的路径,将当前访问的节点通过一系列的旋转操作迁移到树根。很重要的一点是:伸展树不需要维护平衡因子。它由丹尼尔·斯立特Daniel S原创 2017-04-12 20:00:34 · 1592 阅读 · 1 评论