简介
树状数组的学名是二叉索引树, Binary Indexed Tree, BIT, 下文以 BIT 简称.
BIT 是一种特殊组织过的数组, 它和普通数组的唯一区别是:
BIT 的核心任务是快速求区间和, 而数组的核心任务是随机存取, 因此, 二者在只是时间复杂度上有所不同:
数据结构 | 单点修改 | 单点访问 | 区间求和 |
---|---|---|---|
普通数组 | O ( 1 ) O(1) O(1) | O ( 1 ) O(1) O(1) | O ( N ) O(N) O(N) |
BIT | O ( l o g N ) O(logN) O(logN) | O ( l o g N ) O(logN) O(logN) | O ( l o g N ) O(logN) O(logN |