B 树理路B 树B-tree以高扇出、有界节点占用率和等深叶层降低外存查找 I/O 的平衡搜索树。也用高分支度降低树高,但节点内通常仍做比较或块内搜索;Fusion tree 的额外收益来自把多个整数比较压进一个字操作。若键跨越许多机器字、比较器要执行昂贵语义,或 小到不能容纳打包字段,这份收益消失。
比较排序的 下界只允许二元键比较。Fusion tree 每步读取并组合多个键的位,因此没有违反该下界。它也不是 vEB 递归:vEB 以宇宙分解换取 ,fusion tree 则以节点并行比较得到 ,两者依赖的参数和空间权衡不同。
本页给出经典静态主线。动态 fusion tree 需要维护重要位、打包常数和节点分裂,原论文有更复杂方案;不能仅把普通 B 树插入代码接到静态 fusion node 后便宣称同样的最坏更新界。
推论与应用
Fusion Tree 把多个关键位压入一个机器字并并行比较,核心依赖四俄罗斯方法与字级并行理路四俄罗斯方法与字级并行Four Russians method · bit parallelism · broadword programming把状态切成可查表微块,或在一个机器字内并行处理多位,从而省去对数因子。式的表查与字内并行。允许的乘法、移位和字长假设是时间界的一部分。
Fusion tree 给整数 predecessor、整数排序子程序和 Word-RAM 上的次对数搜索提供基本构件,也展示了为何比较模型下界不能直接约束字级并行。动态版本、跨字键和弱操作集需要独立结构,不能从静态 fusion node 的查询界顺推。
参考资料
Michael L. Fredman and Dan E. Willard, “Surpassing the Information Theoretic Bound with Fusion Trees,” Journal of Computer and System Sciences 47(3), 1993, 424–436.
Peter Bro Miltersen, “Cell Probe Complexity—A Survey,” in Advances in Data Structural Query Processing, American Mathematical Society, 2000, pp. 183–217.