[理工] AVL树的建立

楼主: oklp1415 (天生我材)   2014-03-25 00:29:16
Show the detail steps of inserting the following values into an AVL tree:
65, 35, 40, 70, 50, 80, 55, 60, 45, 43, 30
我的问题是这样
40
/ \
35 65
/ \
50 70
\
80 加入80后要如何去做调整呢?? 还是无须作调整
继续下一个node?
因为对这种辨别方式不太了解
40
/ \
35 65
/ \
50 70
\ \
55 80
等到这样才需要做调整吗?? 求AVL详解,3Q
作者: kiki86151 (鲁饭)   2014-03-25 01:26:00
只要高度差2就要一律都要调整,没看懂AVL定义吧以第一颗插80为例 以root=40来看height left=1 right=3
作者: hsuanyao (New Life)   2014-03-25 07:27:00
接楼上 所以40 65 70要调整
作者: cs228 (秋)   2014-03-25 08:33:00
http://imgur.com/EUujsNh以65为root的子树为平衡不需要调整以50为root的树为平衡(左右子树高度不超过1),以65为root的树左右子树不平衡,以root到不平衡的方向找由root到最后你加入那个点的方向不平衡的树,一切以root往你加入的那的点开始算两格这边的root是指不平衡的树root不是整棵树的rootL=左 R=右挑40 45 43必须是 40 35 45 43那棵树不平衡才挑的第三列最后一张是因为,小的树调整完后,可以使整棵树平衡原则是小的树不平衡先调
作者: PTT007 ( )   2014-03-25 14:10:00
把每个节点的高度标出来,看2在哪里,从那点开始算
作者: hsuanyao (New Life)   2014-04-03 17:05:00
用每个点去检查左右子树

Links booklink

Contact Us: admin [ a t ] ucptt.com