两种顺序的高度差多少
同一个 height,把两棵树都建出来:一棵按升序插、一棵按 17、24、15、13、23 插。 输出两个高度之差(升序那棵减另一棵)。
判断一棵树平不平衡
补全 balanced:每个节点的左右子树高度差都不超过 1才算平衡。 这次判的是按升序插入的那棵。
BST 比哈希表强在哪
同样是查一个值,BST 比哈希表强的地方是【0】。
找第 k 小靠的是什么
在 BST 里找第 k 小的值,最自然的办法是【0】。
第二小的是几
还是那棵树。运行下面这段程序: class BNode: def __init__(self, val): self.val = val self.left = None self.r
15 到 23 之间有几个
同一棵树。运行下面这段程序: class BNode: def __init__(self, val): self.val = val self.left = None self.ri
找出最小的那个
补全 min_val:找出 BST 里最小的值。 ⚠️ 不用遍历整棵树——最小的那个有个很好找的位置。
找出第 k 小的那个
补全 kth:返回第 k 小的值(k 从 1 开始数)。 这次找的是第 4 小。
某个区间里有几个
补全 count_range:返回落在 [lo, hi] 区间内(含两端)的节点个数。 这次数的是 15 到 23。
某个值排第几
补全 rank:返回 val 在这棵树里从小到大排第几(最小的算第 1),不在返回 0。 这次问的是 17 排第几。