证明:在一棵有n个结点的二叉查找树中,刚好有n-1种可能的旋转

来源:互联网 发布:通过淘宝给人寄寿衣 编辑:程序博客网 时间:2024/05/16 09:18

用数学归纳法证明:

首先对n=1时,对于二叉查找树,只有一个结点,也就是根结点,这时无法旋转,因此有0(n-1)种可能的旋转,命题成立。

假设对于n=kk>1)时,对于二叉查找树,有k-1种可能的旋转。

那么对于n=k+1时,也就是我们在原来的二叉查找树中添加了一个结点,这个结点最终一定是二叉查找树的一个叶结点,其父结点一定存在(k>1),这个叶结点可能是其父结点的左子结点,也可能是其父结点的右子结点。如果是左子结点,那么相对于原二叉查找树,增加了一个右旋操作;如果是右子结点,那么增加了一个左旋的操作。这样加上原来的k-1种旋转可能,则对于有k+1个结点的新二叉查找树共有k种旋转可能。

这样我们就证明了上述归纳假设的正确性。

原创粉丝点击