在函数式编程中,这被称为指数树,但显然也有在命令式语言中实现的情况。在这些文章中,有一个链接到博客帖子,解释了在C#中实现这种数据结构的方法,这可能对你有用。
Fenwick tree(又称为二进制索引树)是一种数据结构,用于维护元素序列,并能够在O(logn)时间内计算任何连续元素范围的累积和。更改任何单个元素的值也需要O(logn)时间。