这棵树里有几个黑节点
一棵小树:17 是黑的根,左边挂红色的 15,右边挂黑色的 24,15 的左边还挂着红色的 13。运行下面这段程序: class RNode: def __init__(self, val,
阅读更多 →
红黑树比 AVL 好在哪
工程上更常用红黑树而不是 AVL,是因为【0】。
阅读更多 →
红黑树最关键的一条性质
让红黑树"不会太歪"的那条性质是【0】。
阅读更多 →
红黑树的根是什么颜色
红黑树规定根节点一定是【0】。
阅读更多 →
亲手做一次右旋
补全 rotate_right:把左孩子转上来当根,返回新的根。 ⚠️ 左孩子原来的右子树不能丢,要接到老根的左边。 转完之后输出新根的值。
阅读更多 →
判断这棵树需不需要旋转
补全 need_rotate:平衡因子的绝对值超过 1 就返回 True。 还是那棵往左歪的小树,输出结果。
阅读更多 →
算出一个节点的平衡因子
补全 balance_factor:左子树高度减右子树高度。 拿那棵往左歪的小树的根来算,输出结果。
阅读更多 →
右旋一次之后有多高
一棵往左歪的小树(17 的左边挂 15,15 的左边挂 13),右旋一次。运行下面这段程序: class ANode: def __init__(self, val): sel
阅读更多 →
按升序插进去有多高
把 13、15、17、23、24 按升序插进一棵普通 BST。运行下面这段程序: class ANode: def __init__(self, val): self.val
阅读更多 →
左左情况怎么修
新节点插在了"左孩子的左边",导致失衡,修法是【0】。
阅读更多 →