- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数据结构计算机领域本科教育教学改革试点工作计划(“101计划”)研究成果俞勇、张铭、陈越、韩文弢上海交通大学、北京大学、浙江大学、清华大学101
12.2树状数组第12章高级查找戴波电子科技大学
12.2.1树状数组的用途12.2.2树状数组的lowbit运算12.2.3树状数组区间求和12.2.4小结12.2.5作业
12.2.1树状数组的用途12.2.1树状数组的用途数据结构一种用于高效处理动态数组前缀和查询的数据结构。它主要用于求解频繁更新单个元素值、以及在给定索引位置计算前缀和的问题。树状数组的主要用途单点修改:更改指定元素ai的值区间求和:计算第i个元素到第j个元素的和(1)单点修改:O(1)(2)区间求和:O(n)(1)单点修改:O(n)(2)区间求和:O(1)简单循环操作预处理求前缀和:时间复杂度分析
12.2.3树状数组的lowbit运算12.2.2树状数组的lowbit运算数据结构Lowbit(k)将k的二进制表示中最低位的1保留,其余位都变为0.在计算机整数的补码表示中,-k的二进制表示是k的二进制表示各位取反后再加一;因此,-k与k仅在Lowbit(k)所对应的最低位二进制位上同时为1,其余各位上都是相反的。所以,可以用位运算k-k快速计算出Lowbit(k)。
12.2.3树状数组的区间求和12.2.3树状数组的区间求和数据结构n=8的树状数组
12.2.3树状数组的区间求和数据结构12.2.3树状数组的区间求和算法:树状数组区间求和GetS(c,k)输入:树状数组c,整数下标k30输出:前缀和数组S第k项sk的值1sum←02whilek≠0do3|sum←sum+c[k]4|k←k–Lowbit(k)//即k=f(x)5end6returnsum树状数组区间求和算法描述
12.2.3树状数组的区间求和数据结构12.2.3树状数组的区间求和树状数组单点修改a[k]修改,则的c[i]的值都会改变所有符合条件的i可以由得到。算法:树状数组单点修改的伪代码:Update(c,n,k,d)输入:树状数组c,数组总长度n,拟修改的元素位置k,拟修改增加值d输出:更新后的树状数组c1whilek≤ndo//当超出数组总长度时停止2|c[k]←c[k]+d3|k←k+Lowbit(k)//即k=g(k)4end
12.2.3树状数组的区间求和数据结构12.2.3树状数组的区间求和已知数组A=[6,8,1,4,7,3],请建立树状数组并根据树状数组求出[2,5]的和值。树状数组例题
12.2.3树状数组的区间求和数据结构12.2.3树状数组的区间求和S[2,5]=S[5]-S[1]S[5]=C[5]+Sf[5]=C[5]+S[4]=C[5]+C[4]+Sf[4]=C[5]+C[4]=19+7=26S[1]=C[1]+Sf[1]=C[1]=6S[2,5]=26-6=20答案:
12.2.3树状数组小结数据结构12.2.4树状数组小结树状数组的本质是通过一种巧妙的基于二进制的方法划分出n个区间,使得任意前缀区间都可以由这n个区间中不超过个区间组合而成,且每一个元素最多被这n个区间中的个区间包含。树状数组最适合求区间和或区间积。事实上,只要任一区间内的计算可以通过两个前缀计算的逆运算得到就可以,例如减法是加法的逆运算,除法是乘法的逆运算等等。但像求区间最大值、最小值这种运算,就还是用线段树比较方便了。
12.2.3树状数组作业数据结构12.2.5树状数组作业树状数组的本质是通过一种巧妙的基于二进制的方法划分出n个区间,使得任意前缀区间都可以由这n个区间中不超过个区间组合而成,且每一个元素最多被这n个区间中的个区间包含。树状数组最适合求区间和或区间积。事实上,只要任一区间内的计算可以通过两个前缀计算的逆运算得到就可以,例如减法是加法的逆运算,除法是乘法的逆运算等等。但像求区间最大值、最小值这种运算,就还是用线段树比较方便了。
12.1.5作业12.1.5作业数据结构线段树和树状数组都能够解决区间问题,请分析各自特点和适合场合。已知数组A=[5,
您可能关注的文档
- 历史本2301-2302 2023-2024-2学期授课计划.doc
- 数据结构课件-8-KD树.pptx
- 数据结构课件-11-3AVL树.pptx
- 2001010_软件工程导论_理论教学大纲_终稿.doc
- 第1章 计算思维和医学计算.pptx
- 第5章 WPS文字长文档处理.pptx
- 论文排版样文_2.docx
- WPS文字操作修订1.docx
- 5.11 应用案例-原始文件.docx
- 3.6.1-1 为文字和段落添加边框.docx
- 二零二四版离婚协议财产分割补充协议范本.docx
- 武汉邮电科学研究院2024年招聘172人公开引进高层次人才笔试参考题库(共100题)答案王牌题库及参.docx
- 整理陕西烽火通信集团有限公司定向招聘历年高频难、易错点100题模拟试题附带答案大全及答案【新】.docx
- 2025年军工电子项目构思建设方案.docx
- 2025年力学计量标准器具项目建设总纲及方案.docx
- 2025年冰淇淋项目构思建设方案.docx
- 2025年刹车片项目建设总纲及方案.docx
- 2025年力学计量标准器具项目构思建设方案.docx
- 2025年军训项目建设方案.docx
- 2025年冻土共振柱试验机项目建设方案.docx
文档评论(0)