算一算 B+树要几层
补全 levels:每个节点装 fanout 个键,要索引 total 条,返回至少几层。 算 100 个键、一百万条的情况。
阅读更多 →
二叉树装同样多要多高
同样一百万条数据,二叉树要多少层。运行下面这段程序: n = 1 lv = 0 while n < 1000000: n = n * 2 lv += 1 print(lv)
阅读更多 →
三层能装多少条
每个节点装 100 个键的 B+树,三层最多能索引多少条。运行下面这段程序: print(100 * 100 * 100)
阅读更多 →
数据库索引为什么不用普通 BST
数据库索引用 B+树而不是普通二叉搜索树,因为【0】。
阅读更多 →
B+树和 B 树的区别
B+树相比 B 树,最大的不同是【0】。
阅读更多 →
B+树的节点为什么装那么多键
B+树一个节点动辄装几百个键,原因是【0】。
阅读更多 →
把违规那个染黑再检查一遍
同一个 no_red_red。这次先把 13 染成黑色,再检查一遍。 染完之后应该就合格了。
阅读更多 →
⚠️ 红节点的孩子必须是黑的
补全 no_red_red:检查有没有"红节点挂着红孩子"。没有返回 True,有返回 False。 这棵树里 15 是红的、它左边的 13 也是红的——正好违规。
阅读更多 →
数一数黑节点
补全 count_black:递归数出树里黑节点的个数。
阅读更多 →
根是黑的吗
同一棵树。运行下面这段程序: class RNode: def __init__(self, val, color): self.val = val self.
阅读更多 →