当两个二叉搜索树在有序遍历中达成一致时,它们被认为是线性等效的。以下定理解释了为什么树旋转如此重要:
令A和B为二叉搜索树。当且仅当它们通过一系列树旋转连接时,A和B才是线性等价的。
很久以前,当我第一次学习数据结构时,我注意到了这个结果,并且想更深入地了解树旋转的特殊状态。
证明简单直观:将最小元素沿左脊旋转到根位置。通过顺序不变,该重新排列的树不能具有左子树。现在,在右边的子树上递归。结果是测试线性等效性的标准形式。
尽管这是一个基本定理,但我在文献中从未见过。对于下次需要使用此结果的参考,我将不胜感激。
(奖金脑筋急转弯:寻找连接两个线性等效二叉搜索树的最短树轮换序列的最佳算法是什么?)