加入收藏 | 设为首页 | 会员中心 | 我要投稿 广元站长网 (https://www.0839zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

学会这些Vue小技巧

发布时间:2021-02-12 15:30:19 所属栏目:动态 来源:互联网
导读:不是挺简单的,至少比AVL树那种左旋右旋简单得多。 同样地,在2-3-4树自平衡的过程中出现了临时的5节点,所以,如果允许5节点的存在呢? 嗯,2-3-4-5树由此诞生! 同样地,还有2-3-4-5-6树、2-3-4-5-6-7树子子孙孙,无穷尽也~ 所以,有人就把这一类树归纳为一

不是挺简单的,至少比AVL树那种左旋右旋简单得多。

同样地,在2-3-4树自平衡的过程中出现了临时的5节点,所以,如果允许5节点的存在呢?

嗯,2-3-4-5树由此诞生!

同样地,还有2-3-4-5-6树、2-3-4-5-6-7树……子子孙孙,无穷尽也~

所以,有人就把这一类树归纳为一个新的名字:B树。

B树

B树,表示的是一类树,它允许一个节点可以有多于两个子节点,同时,也是自平衡的,叶子节点的高度都是相同的。

所以,为了更好地区分一颗B树到底属于哪一类树,我们给它一个新的属性:度(Degree)。

具有度为3的B树,表示一个节点最多有三个子节点,也就是2-3树的定义。

具有度为4的B树,表示一个节点最多有四个子节点,也就是2-3-4树的定义。
 

画图辛苦了,关注一波:彤哥读源码。

可以看到,上面自平衡的过程中,出现了一种节点,它具有四个子节点和三个数据元素,这个节点可以称作4节点,如果把4节点当作是可以允许存在的,那么,就出现了另一种树:2-3-4树。

2-3-4树

2-3-4树,它的每个非叶子节点,要么是2节点,要么是3节点,要么是4节点,且可以自平衡,所以称作2-3-4树。

2节点、3节点、4节点的定义在上面已经提及,我们再重申一下:

2节点:包含两个子节点和一个数据元素;

3节点:包含三个子节点和两个数据元素;

4节点:包含四个子节点和三个数据元素;
 

节点表示旋转的轴。

经过两次旋转,让这颗树再次变成了AVL树,而且这只是其中一种插入场景,真实的情况还要根据插入的位置的不同做不同的旋转,你可以多插入几个节点自己尝试平衡一下。

同样地,AVL树的代码也不是那么好实现的,反正,到目前为止,彤哥是没搞懂AVL树的各种规则。

基于这些缺点,所以,后来又发展出来了各种各样的神奇的平衡树。

2-3树

2-3树,是指每个具有子节点的节点(内部节点,internal node)要么有两个子节点和一个数据元素,要么有三个子节点和两个数据元素的自平衡的树,它的所有叶子节点都具有相同的高度。

简单点讲,2-3树的非叶子节点都具有两个分叉或者三个分叉,所以,称作2叉-3叉树更容易理解。

另外一种说法,具有两个子节点和一个数据元素的节点又称作2节点,具有三个子节点和两个数据元素的节点又称作3节点,所以,整颗树叫做2-3树。

(编辑:广元站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读