- 1、本文档共69页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
例子246891357UNION(4,8)例子246891357FIND(1)End4.3.4union-find算法的分析引理4.2对于任意的整数:r?0,秩r的节点数至多是n/2r.证明:固定r的一个特定值.当给一个节点x指定秩为r时,对以x为根的树中包含的所有节点都用x标号。由引理4.1可知,标号的节点个数至少是2r.如果树的根节点发生变化,那么新树的根节点的秩至少是r+1,这说明那些用x标号过的节点将不再被标号了。由于标号过的节点个数的最大值是n,而且每个秩为r的根至少有2r个节点,那么至多有n/2r个节点秩为r。4.3.4union-find算法的分析推论4.1任何节点的秩最大是?logn?.证明:如果对于某个节点x,有rank(x)=r??logn?+1,那么由引理4.2可知,至多有n/2?logn?+11个节点的秩为r。.定义4.2时于任意正整数n,Iog*n定义为例如,log*2=1,log*4=2,log*16=3,log*65536=4,log*265536=5.算法分析定理4.3设T(m)表示用按秩合并和路径压缩处理m个合并和寻找运算的交替序列?所需的运行时间,那么在最坏情况下T(m)=O(mlog*n)注意对于几乎所有的实际用途,log*n?5.这说明事实上对于所有的实际应用,运行时间是O(m)。练习4.34.74.114.26算法分析空间:这个算法的一个重大好处在于它是在原有的空间里排序,它不需要辅助存储空间。时间:建立堆用?(n)时间Sift-down运算用O(logj)时间,并且要重复n一1次,Theorem4.2算法HEAPSORT对n个元素排序要用?(nlogn)时间和?(1)空间。4.2.4最小堆和最大堆最大堆:存储在根节点以外的节点的键值,小于或等于存储在它父节点中的键值。最小堆:存储在根节点以外的节点的键值,大于或等于存储在它父节点中的键值。A[1..10]={4,3,8,10,11,13,7,30,17,26}转换成堆.例子171311871034123456789103026Maxheap107111383017261234567891034Minheap4.3不相交集数据结构什么是不相交集?假设给出一个有n个不同元素的集合S,这些元素被分成不相交集合。在每个子集中,用一个特殊的元素作为集合的名字或代表。例如,如果集合S={1,2,…,11}有4个子集,分别是{1,7,10,11},{2,3,5,6},{4,8}和{9},,这些子集可以依次被标记为1,3,8,9。.不相交集的操作FIND(x):寻找并返回包含元素x的集合的名字。UNION(x,y):包含元素x和y的两个集合用它们的并集替换。并集的名字或者是原来包含元素x的那个集合的名字,或者是原来包含元素y的那个集合的名字,这将会在以后确定。例如,如果集合S={1,2,…,11}有4个子集{1,7,10,11},{2,3,5,6},{4,8}和{9},这些子集可以依次被标记为1,3,8,9。FIND(11)运算返回结果1;UNION(1,3)运算返回新子集被标记为1或3我们的目的是什么?我们的目的是设计有效算法进行FIND和UNION操作。为此需要一种数据结构,它既要简单,同时又要考虑到能有效地实现合并和寻找这两种运算。Howtorepresentaset?比特向量表示法S={1,2,…,11}and4subsetsS1={1,7,10,11},S2={2,3,5,6},S3={4,8}andS4={9},S1=10000010011;S2=01101100000;S3=00010001000;S4=00000000100问题:耗费太多额外资源union操作时间与n相关,而不是两个子集的长度List列表表示法Thesubsetisrepresentedasalistofitselements.Forexample,S={1,2,…,11}and4
您可能关注的文档
- 《Linux原理及应用》第10章 Shell编程-教学课件(非AI生成).ppt
- 《Linux原理及应用》第11章 Linux系统管理-教学课件(非AI生成).ppt
- 《Linux原理及应用》第13章 Linux的图形环境-教学课件(非AI生成).ppt
- 《Linux原理及应用》第14章 Linux编程-教学课件(非AI生成).ppt
- 《算法设计技巧与分析》第1章 算法分析的基本概念-教学课件(非AI生成).ppt
- 《算法设计技巧与分析》第4章 堆和不相交集数据结构(英文)-教学课件(非AI生成).ppt
- 《算法设计技巧与分析》第5章 归纳法(英文)-教学课件(非AI生成).ppt
- 《算法设计技巧与分析》第6章 分治(英文)-教学课件(非AI生成).ppt
- 《算法设计技巧与分析》第6章 分治-教学课件(非AI生成).ppt
- 《算法设计技巧与分析》第7章 动态规划-教学课件(非AI生成).ppt
- 初中网络课程设计与实施效果分析教学研究课题报告.docx
- 《家政服务企业员工培训体系中的跨文化沟通与跨地域培训策略》教学研究课题报告.docx
- 《绿色供应链管理与企业环境绩效提升的产业链协同效应研究》教学研究课题报告.docx
- 2024-2025学年华东师大版7年级下册期末试卷附答案详解【突破训练】.docx
- 《土壤修复后污染物质长期监测与风险管控中的土壤修复技术经济效益评估》教学研究课题报告.docx
- 《学前教育专业实践教学中的教育地理学研究》教学研究课题报告.docx
- 放射科基础知识《CT成像基础考试题》模拟卷.doc
- 2025年环境影响评价工程师之环评技术方法题库附答案(模拟题).docx
- 2024-2025学年华东师大版7年级下册期末试卷附答案详解.docx
- 2024-2025学年华东师大版7年级下册期末试卷附参考答案详解(夺分金卷).docx
文档评论(0)