“并行前缀扫描在任意幺半群上以 (\Theta(n)) 工作、(O(\log n)) 深度计算全部前缀。Fenwick 树则在标准阿贝尔群更新模型下支持动态点增量和前缀查询。两者实现的是不同更…”
形式陈述 ​
的后缀块
前缀查询从
由两个前缀可恢复区间聚合。加法记号下是
直觉
二进制最低位把每个前缀唯一拆成少量对齐块。查询向左删除当前最低位,恰好取出最后一个完整块;更新向右增加最低位,恰好枚举所有把该位置包含在其后缀块中的节点。它是一棵隐式树,父子关系编码在索引位模式中。
与线段树不同,Fenwick 树没有为每个区间保存显式左右孩子。紧凑布局换来更窄的操作接口:标准版本擅长可交换的点增量与前缀聚合,不自动支持任意非交换更新或复杂区间标签。
例子与边界
长度
若要把位置
对非交换群,块聚合有固定数组顺序,而把同一
推论与应用
Fenwick 树实现动态前缀聚合、频数表、逆序对计数和顺序统计。利用一个或两个树配合差分,可支持区间加与点查询、区间加与区间和;这些公式都依赖相应阿贝尔群与索引边界。
线段树只需幺半群即可维护有序区间聚合,并能通过更丰富节点摘要处理非交换操作;代价是更大的常数与显式树形分解。二者的
参考资料
- Peter M. Fenwick, “A New Data Structure for Cumulative Frequency Tables,” Software: Practice and Experience 24(3), 1994, pp. 327–336.
- Thomas H. Cormen et al., Introduction to Algorithms, 4th ed., MIT Press, 2022, discussion of cumulative frequency structures.
- OI-Wiki contributors, “Fenwick Tree,” 2026.