C++数据结构与算法分析——树状数组
树状数组
介绍
我们此前已经了解过前缀和与差分,在数组中,求前缀和的时间复杂度为O(n)O(n)O(n),查询元素的时间复杂度为O(1)O(1)O(1)。在前缀和数组中,求前缀和的时间复杂度为O(1)O(1)O(1),查询元素的时间复杂度为O(n)O(n)O(n),这两种数组的时间复杂度都是根据其最高的时间复杂度来确定的,即O(n)O(n)O(n),那么有没有可能采取一个折衷的办法让修改和查询操作都不至于那么慢呢?树状数组出现了。
树状数组是一种高级数据结构,它主要支持两种操作:
快速修改数组中的一个数a
原创
2021-08-26 16:50:41 ·
177 阅读 ·
0 评论