进行到这里我们可以思考一下,保证中序遍历的顺序不变的底层逻辑是什么?其实就在于往树上挂节点的方式,不管是 split 还是 merge,都是左树只挂右节点,右树只挂左节点。我们依然拿左树来举例,这种挂法首先保证了被挂节点 u 的左子树的形态不会变化;其次考虑右子树,由于只往右儿子上挂节点,所以 u 的右子树原本就有的节点的顺序不会有变化,即使是有穿插的情况,这种挂法也保证了一定是将右树最先遍历到的部分接到左树最后遍历到的部分,所以整体的顺序仍然不变。
posted on
2025-02-26 09:32wuhu12345
阅读(17)
评论(0)
收藏举报