右旋一次之后有多高

一棵往左歪的小树(17 的左边挂 15,15 的左边挂 13),右旋一次。运行下面这段程序: class ANode: def __init__(self, val): self.val = val

开始练习 →

算出一个节点的平衡因子

补全 balance_factor:左子树高度减右子树高度。 拿那棵往左歪的小树的根来算,输出结果。

开始练习 →

判断这棵树需不需要旋转

补全 need_rotate:平衡因子的绝对值超过 1 就返回 True。 还是那棵往左歪的小树,输出结果。

开始练习 →

亲手做一次右旋

补全 rotate_right:把左孩子转上来当根,返回新的根。 ⚠️ 左孩子原来的右子树不能丢,要接到老根的左边。 转完之后输出新根的值。

开始练习 →

红黑树的根是什么颜色

红黑树规定根节点一定是【0】。

开始练习 →

红黑树最关键的一条性质

让红黑树"不会太歪"的那条性质是【0】。

开始练习 →

红黑树比 AVL 好在哪

工程上更常用红黑树而不是 AVL,是因为【0】。

开始练习 →

这棵树里有几个黑节点

一棵小树:17 是黑的根,左边挂红色的 15,右边挂黑色的 24,15 的左边还挂着红色的 13。运行下面这段程序: class RNode: def __init__(self, val, color): self

开始练习 →

根是黑的吗

同一棵树。运行下面这段程序: class RNode: def __init__(self, val, color): self.val = val self.color = color

开始练习 →

数一数黑节点

补全 count_black:递归数出树里黑节点的个数。

开始练习 →