树状数组和线段树
树状数组树状数组的优点是能在O(logn)的时间复杂度之内解决两类问题:1.在数组的某个位置上的数加上一个数(单点修改)2.快速求前缀和(区间查询)如果用一般的算法,在修改某个数之后,再求前缀和,那么包含这个数的前n个数的前缀和都要进行改变,时间复杂度就从O(1)变成了O(n)。再者如果同时进行单点修改(时间复杂度为O(n))和区间查询(时间复杂度为O(1)),平均下来就是O(n)/2,即O(n),而用树状数组来做因为时间复杂度都是O(logn),所以平均下来就是O(logn)。树状数组也是一个
原创
2021-04-23 20:55:06 ·
488 阅读 ·
0 评论