AVL 树

ccxswl / 2024-10-16 / 原文

【问题描述】
AVL 树是经典的平衡二叉搜索树,他的定义如下:
• 平衡:对于任何一个点,他的左子树和右子树的高度差至多为 1。树的
高度定义为,根结点到子树内的点的最远距离。空子树的高度为-1。
• 二叉搜索树:每一个点都有一个相应的权值(两两不同),任何一个点
的权值都大于左子树中每个点的权值,且小于右子树中每个点的权值。
pks 得到了一棵 N 个节点,权值为 1~N 的 AVL 树,他觉得这棵树太大了,
于是他想要删掉一些节点使得最后剩下的树恰好有 K 个节点。如果 pks 删掉了
一个节点,那么以这个节点为根的整棵子树都会被删掉。最后剩下的树必须依
旧是一棵 AVL 树。

pks 希望,留下的 K 个节点的中序遍历的字典序最小。他希望你能帮他找到
这个方案,作为报答,他将会把自己的财富分一半给你。