- 1、本文档共7页,其中可免费阅读3页,需付费99金币后方可阅读剩余内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 4、文档侵权举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第01讲什么是树状数组?
树状数组用来求区间元素和,求一次区间元素和的时间效率为O(logn)。
有些同学会觉得很奇怪。用一个数组S[i]保存序列A[]的i个元素和,那么求区间i,j的元素和不就为
S[j]-S[i-1],那么时间效率为O(1),岂不是更快?
但是,如果题目的A[]会改变呢?例如:
我们来定义下列问题:我们有n个盒子。可能的操作为
1.向盒子k添加石块
2.查询从盒子i到盒子j总的石块数
自然的解法带有对操作1为O(1)而对操作2为O(n)的时间复杂度。但是用树状数组,对操作1和2的
时间复杂度都为O(logn)。
第02讲图解树状数组C[]
现
文档评论(0)