我应该使用从头开始的整数值插入来构建AVL树,这样在连续插入之后发生所有四种树旋转(简单左,简单右,双左和右右)。我认为展示这样一个例子的工作并不多,但是找到一个最小的例子并证明找到的例子是最小的似乎有点困难。有谁知道怎么办?应该发生双重旋转,至少会对树的最小高度施加一些限制。
答案 0 :(得分:0)
无论您从哪个旋转开始,您总是需要3个节点才能进行第一次旋转,并且您始终会在该点处以平衡树结束。一旦树平衡,您至少需要2个节点才能导致另一个不平衡。
值是随机的。
单身
50,25,10
右转
5,8
单身
75,100
左转
63,55
可在此处显示https://www.cs.usfca.edu/~galles/visualization/AVLtree.html
小的实现细节,但是双旋转只是两个相反的单个旋转的组合。