- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
树结构及应用(需要2007以上版本)
Winter Camp 2004 演讲稿 * Winter Camp 2004 演讲稿 * Winter Camp 2004 演讲稿 * Winter Camp 2004 演讲稿 * Winter Camp 2004 演讲稿 * Winter Camp 2004 演讲稿 * Winter Camp 2004 演讲稿 * Winter Camp 2004 演讲稿 * Winter Camp 2004 演讲稿 * Winter Camp 2004 演讲稿 * Winter Camp 2004 演讲稿 * Winter Camp 2004 演讲稿 * Winter Camp 2004 演讲稿 * Winter Camp 2004 演讲稿 * Winter Camp 2004 演讲稿 * Winter Camp 2004 演讲稿 * 输入关系 分离集合 初始状态 {1}{2}{3}{4}{5}{6}{7}{8}{9}{10} (2,4) {1}{2,4}{3}{5}{6}{7}{8}{9}{10} (5,7) {1}{2,4}{3}{5,7}{6}{8}{9}{10} (1,3) {1,3}{2,4}{5,7}{6}{8}{9}{10} (8,9) {1,3}{2,4}{5,7}{6}{8,9}{10} (1,2) {1,2,3,4}{5,7}{6}{8,9}{10} (5,6) {1,2,3,4}{5,6,7}{8,9}{10} (2,3) {1,2,3,4}{5,6,7}{8,9}{10} 由上图可以看出,操作是在集合的基础上进行的,没有必要保存所有的边,而且每一步得到的划分方式是动态的。 1、并查集的概念 并查集是一种用于对分离集合进行操作的抽象数据类型。 它所处理的是“集合”之间的关系,即动态地维护和处理集合元素之间复杂的关系,当给出两个元素的一个无序对(a,b)时,需要快速“合并”a和b分别所在的集合,这其间需要反复“查找”某元素所在的集合。“并”、“查”和“集”三字由此而来。 在这种数据类型中,n个不同的元素被分为若干组。每组是一个集合,这种集合叫做分离集合。 并查集支持查找一个元素所属的集合以及两个元素各自所属的集合的合并。 并查集记录了一组分离的动态集合S,S={S1,S2,…,Sk},每个集合通过一个“代表”加以识别,代表即该集合中的某个元素(成员),哪一个成员被选做代表是无所谓的,重要的是:如果求某一动态集合的代表两次,且在两次请求间不修改此集合,则两次得到的答案应该是相同的。 动态集合中的每一元素是由一个对象来表示的,设x表示一个对象,并查集的实现需要支持如下操作: 2、并查集支持的操作 ① MAKE-SET(x) 建立一个新的集合,其仅有的成员(同时就是代表)是x。由于各集合是分离的,要求x没有在其它集合中出现过。 ② UNION(x,y) 将包含x和y的动态集合(例如Sx和Sy)合并为一个新的集合,假定在此操作前这两个集合是分离的。结果的集合代表是Sx∪Sy的某个成员。一般来说,在不同的实现中通常都以Sx或者Sy的代表作为新集合的代表。此后,由新的集合S代替了原来的Sx和Sy。 ③ FIND-SET(x) 返回一个包含x的集合的代表。 并查集本身不具有结构,必须借助一定的数据结构以得到支持和实现。数据结构的选择是一个重要的环节,选择不同的数据结构可能会在查找和合并的操作效率上有很大的差别,但操作实现都比较简单高效。并查集的数据结构实现方法很多,一般用的比较多的是,数组实现、链表实现和树实现。 3、并查集的实现 (1)并查集的数组实现 用数组s[i]记录元素i所属集合的编号。 MAKE-SET(x):初始化只要s[i]:= i; FIND-SET(x):查找元素所属的集合时,只需读出s[i], 时间复杂度为O(1); UNION(x,y):合并两元素各自所属的集合时,需要将数组中属于其中一个集合的元素所对应的数组元素值全部改为另一个集合的编号值,时间复杂度为O(n)。 实现简单,实际使用较多。但是合并的代价太大,在最坏情况下,所有集合合并成一个集合的总代价会达到O(n2)。 输入样例: 10 7 2 4 5 7 1 3 8 9 1 2 5 6 2 3 3 3 4 7 10 8 9 UNION(x,y)过程演示: 1 2 3 4 5 6 7 8 9 10 S 1 2 3 4 5 6 7 8 9 10 1 1 1 1 5 5 5 8 8 10 S 1
您可能关注的文档
最近下载
- 课堂趣味惩罚小游戏——幸运大转盘+课件.pptx VIP
- 人教版六年级数学上册分数乘法解决问题《连续的求一个数的几分之几是多少》课后作业设计.doc VIP
- 山西省致密气开发排采水回注处置概述.docx
- 2025年医药销售外包(CSO)行业研究报告及未来五至十年行业预测分析报告.docx
- 建设的项目用地预审流程.doc VIP
- 《GB_T 24608-2023滚动轴承及其商品零件检验规则》必威体育精装版解读.pptx VIP
- 人教版小学数学六年级上册分数乘法《连续求一个数的几分之几是多少》.pptx VIP
- 新解读《GB_T 300-2023滚动轴承 四列圆锥滚子轴承 外形尺寸》必威体育精装版解读.pptx VIP
- 电动汽车充电基础设施设计与安装图集.pdf VIP
- 新解读《GB_T 297-2015滚动轴承 圆锥滚子轴承 外形尺寸》必威体育精装版解读.docx VIP
文档评论(0)