(原创)
本文讨论一些树的数据结构:
二叉查找树binary search tree:根节点大于等于左树,小于等于右树。
k-ary 树:孩子至多k个
AVL树:对每一个节点,平衡因子(右树高度-左树高度)为0,1,或-1
B树:二叉查找树的拓展,一个节点可多于2个孩子,由keys分割多个子树,并符合大小关系,如两个key的节点 k1,k2,孩子1小于k1,孩子2介于k1和k2,孩子3大于k2。例子:2-3B树(简称2-3树),他有2个孩子(根一个数据),或3个孩子(根两个数据)。
2-3-4树:2个或3个或4个孩子
B+树:类B树,但除底层叶子外的节点都只含key仅做索引用,并且这些叶子组成一个链表。
红黑树:
红黑树是一种自平衡二叉查找树(self-balancing binary search tree),额外还有性质:
(1)每个节点红或黑
(2)root是黑,叶子NIL是黑
(3)红节点的孩子皆黑
(4)节点到它的叶子的路径包含同样数目的黑节点
插入节点时,有三种情况需要调整(这是在左树情况下,右树相应镜像操作)
case1:父叔节点都红,父叔变红,祖父变黑
case2:父红叔黑,且自身为右孩子,左旋一下到case3
case3:父红叔黑,且自身为左孩子,右旋一下,且之后父和兄弟变色
标签:左树,孩子,右树,k2,k1,一些,数据结构,节点 来源: https://www.cnblogs.com/randomstring/p/15707338.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。