闭卷重建跳表层级与搜索路径的ADT、表示不变量、操作与复杂度。
数据结构与抽象数据类型 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷重建B树节点与外存模型的ADT、表示不变量、操作与复杂度。
闭卷重建B树插入与分裂的ADT、表示不变量、操作与复杂度。
闭卷重建删除、借位与合并的ADT、表示不变量、操作与复杂度。
闭卷重建Fenwick树与前缀和的ADT、表示不变量、操作与复杂度。
闭卷重建线段树与惰性传播的ADT、表示不变量、操作与复杂度。
闭卷重建实验:Fenwick与线段聚合的ADT、表示不变量、操作与复杂度。
机制:一个节点存多键多孩子以提高磁盘页扇出,所有叶同深,非根节点有最小占用;实验:给阶数和页大小计算键/指针容量与树高上界;边界:B树阶/最小度定义在教材间不同,使用前必须声明容量公式。
机制:多层有序链让搜索从高层跳跃、过界后下降;随机层高带来期望对数成本;实验:用固定层级输入逐层搜索并输出访问节点;边界:期望O(logn)依赖独立层高,最坏仍可能线性;测试不能依赖真随机。
机制:删除前确保下降孩子有足够键,可向兄弟借或与兄弟及分隔键合并,根空时降高;实验:分别推演叶删除、内部替换、借位和合并;边界:先下降再发现孩子最小会让修复更复杂;合并后父索引变化必须更新。
机制:向叶插入,满节点分裂并把中键提升父节点,根分裂增加高度;实验:对最小度2的树插入序列并逐次输出层次;边界:分裂索引和孩子分配错一位会破坏键范围,重复键策略也需明确。
机制:节点维护区间聚合,点更新/区间查询递归分治;惰性标记延迟整段更新并在需要时下推;实验:执行区间加与区间和查询并记录lazy传播;边界:聚合与更新组合必须满足可合并规则,区间端点开闭约定不能混。
机制:lowbit分解索引区间,update向上累加,prefix向下跳转,均O(logn);实验:对数组建树并输出单点更新后的前缀/区间和;边界:常见实现用1下标;0下标直接套i+=i&-i会死循环。
机制:实现Fenwick单点加/区间和和线段树点更新/范围最值;实验:覆盖首尾索引、空区间、负值和连续更新测试;边界:不能调用第三方库;所有操作后用朴素数组作小规模对拍。