- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
顺序统计树应用-求逆序对 9 1 数据结构扩张方法: SUM=0; SUM=SUM+ i +1-OS-RANK(T,x) 6 1 数组:9 6 12 2 20 10 9 2 SUM=0+1+1-1=1; 12 1 9 3 2 1 12 1 6 2 9 4 SUM=1+3+1-1=4; 20 1 12 2 9 5 10 1 12 3 9 6 SUM=4+5+1-4=6; 时间复杂度为:O(nlgn) 顺序统计树 顺序统计树提出的原因 顺序统计树的介绍 如何利用顺序统计树解决问题 举例 Josephus排列 求逆序对 MIN-GAP 顺序统计树应用:MIN-GAP 例如,Q={1,5,9,15,18,22} 传统方法: 4 4 4 6 3 Q的MIN-GAP为:3; 时间复杂度为:O(N); 顺序统计树应用:MIN-GAP 数据结构扩张的方法: 附加信息:min-val[x]、max-vla[x]、min-gap[x]; min-val[x]= min-val[left[x]] key[x] max-val[x]= max-val[right[x]] key[x] min-gap[x]= min-gap[left[x]] min-gap[right[x]] key-max-val[left[x]] min-vla[right[x]]-key[x] 顺序统计树应用:MIN-GAP 数据结构扩张的方法: Q={1,5,9,15,18,22} 1 ∞ 1 1 -1 min-vla min-gap max-val ∞ 5 1 5 ∞ 5 5 1 1 4 5 1 -1 5 ∞ 5 5 1 ∞ 9 5 1 4 9 5 -1 9 ∞ 9 9 5 1 4 5 1 -1 1 ∞ 1 1 5 15 ∞ 15 15 9 1 ∞ 1 1 5 9 6 15 9 5 1 4 15 5 -1 顺序统计树应用:MIN-GAP 1 4 15 5 -1 1 ∞ 1 1 5 9 6 15 9 5 15 ∞ 15 15 9 18 ∞ 18 18 15 1 4 15 5 -1 1 ∞ 1 1 5 9 6 15 9 5 15 ∞ 15 15 9 18 ∞ 18 18 15 9 ∞ 9 9 15 1 3 18 5 -1 9 3 18 15 5 22 ∞ 22 22 15 1 3 22 5 -1 9 3 22 15 5 9 ∞ 9 9 15 18 4 22 18 15 return T-min-gap; 时间复杂度:O(lgn) 大纲 数据结构的扩张 应用 总结 顺序统计树 区间树 区间树 区间树的定义 区间三分法 区间树的查找操作 举例 区间树 将RB-Tree扩张为由区间构成的数据结构。 [16,21] 30 [16,21] [8,9] [5,8] [19,20] [17,19] [26,26] [25,30] [6,10] 优点:查找特定区间内发生什么事情 [8,9] 10 [25,30] 30 [5,8] 10 [6,10] 10 [17,19] 20 [26,26] 26 [19,20] 20 max域 max[x]=max(high[int [x]],max[left[x]],max[right[x]]) [25,30] 30 区间树 区间树与线段树的对比: [16,21] 30 [26,26] 26 [8,9] 10 [5,8] 10 [6,10] 10 [17,19] 20 [19,20] 20 [25,30] 30 [1,10] [1,5] [6,10] [1,3] [4,5] [6,8] [9,10] [1,2] [3,3] [4,4] [5,5] [6,7] [8,8] [9,9] [10,10] [1,1] [2,2] [6,6] [7,7] 区间树 区间树的定义 区间三分法 区间树的查找操作 举例 区间三分法 区间 i 和 i之间的关系: 重叠 i 在 i左边 i 在 i右边 条件:low[ i ] =high[ i ],且 low[ i ]=high[ i ] 条件:high[ i ] low[ i ] 条件:low[ i ] high[ i ] 区间树 区间树的定义 区间三分法 区间树的查找操作 举例 区间树的INTERVAL-SEARCH(T,i)操作 操作说明:用来找出树T中覆盖区间i的那个结点 [16,21] 30 [8,9] 23 [25,30] 30 [5,8] 10 [15,23] 23 [17,19] 20 [26,26] 26 [19,20] 20 [6,10
您可能关注的文档
- 数据结构 实验 队列基本操作.doc
- 数据结构 图遍历.doc
- 数据结构 图基本运算代码.doc
- [VB程序设计][课件][第7-9节].ppt
- 数据结构(C语言版)严尉敏编 第1节绪论.ppt
- 数据结构(第2篇).ppt
- 数据结构_第7篇 图.ppt
- 数据结构01线性表基本操作.doc
- 数据结构1-4篇习题.doc
- 数据结构C语言版第八节 查找.doc
- 152 水勘院院453工程纲要.doc
- 手册安装说明英语vector informatik gmbh installation en.pdf
- 售卖面试辅导通用结构化小组点场.pdf
- 课件内容讲稿卷10 jco.pdf
- mode user guidecn模式使用指南.pdf
- digital booklet-aim deluxe数字小册子豪华版.pdf
- 文稿turntiin student guide学生指南.pdf
- 内容访问级别saladin.pdf
- zirco android浏览器customwebview java自定义WebView.pdf
- rainbow基本测量参数pctel seegull系列.pdf
文档评论(0)