1 Star 0 Fork 16

EMANON / LeetCode-Py

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
01.Binary-Indexed-Tree.md 1.25 KB
一键复制 编辑 原始数据 按行查看 历史
程序员充电站 提交于 2023-09-20 14:22 . 修正 Latex 语句格式

1. 树状数组简介

1.1 树状数组的定义

树状数组(Binary Indexed Tree):也因其发明者命名为 Fenwick 树,最早 Peter M. Fenwick 于 1994 年以 A New Data Structure for Cumulative Frequency Tables 为题发表在 SOFTWARE PRACTICE AND EXPERIENCE。其初衷是解决数据压缩里的累积频率(Cumulative Frequency)的计算问题,现多用于高效计算数列的前缀和,区间和。它可以以 $O(\log n)$ 的时间得到任意前缀 $\sum_{i=1}^{j}A[i], 1 \le j \le n$,并同时支持在 $O(\log n)$ 时间内支持动态单点值的修改。空间复杂度为 $O(n)$。

1.2 树状数组的原理

2. 树状数组的基本操作

2.1 树状数组的建立

2.2 树状数组的修改

2.3 树状数组的求和

4. 树状数组的常见题型

4.1 单点更新 + 区间求值

4.2 区间更新 + 单点求值

4.3 求逆序对数

参考资料

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/Athrunzard/LeetCode-Py.git
git@gitee.com:Athrunzard/LeetCode-Py.git
Athrunzard
LeetCode-Py
LeetCode-Py
main

搜索帮助

344bd9b3 5694891 D2dac590 5694891