- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.第八章
Chapter 8 堆積 8.1 何謂堆積 8.2 何謂min-heap 8.3 min-maxheap 8.4 Deap 堆積 堆積(Heap)和二元搜尋樹大致上雷同,但有一點點差異。 Heap在分類上大致可分為Max-heap, Min-heap, Min-max heap及Deap。 Heap也可用在排序上,此稱為Heap sort(堆積排序)。 8.1 何謂堆積 何謂堆積(Heap)? 定義如下:堆積是一棵二元樹,其樹根的鍵值大於子樹的鍵值,而且必須符合第六章6.2節所談的完整二元樹。 8.1 何謂堆積 它是一棵Heap,而不是二元搜尋樹。 在調整的過程中有二種方式,一是由上而下,從樹根開始與其子節點相比,若前者大則不用交換,反之,則要交換;以符合父節點大於子節點。 8.1 何謂堆積 此種方法也可以讓子節點先比,找出最大者再與其父節點比,此種方法至多只要做一次對調即可,如下圖23和30中30較大,因此15和30對調。 由於這種方式較快,故若以由上而下調整時,皆以此種方式進行之。 8.1 何謂堆積 一棵Heap不是唯一,因為只要父節點大於子節點即可。 需在此提醒讀者的是,當中間有某些節點互換時,需要再往上相比較,直到父節點大於子節點為止。 8.1 何謂堆積 第二種方法為由下而上,先算出此棵樹的節點數目,假設n,再取其,從此節點,開始與它的最大子節點相比,若最大子節點的鍵值大於父節點之鍵值,則相互對調,一直做到樹根止。 記得相互對調後要往下繼續比較,看看是否還要對調喔! 8.1 何謂堆積 調整的方法如下: step 1:先將每一節點按完整二元樹的順序加以編號如下圖: 8.1 何謂堆積 step 2: ,故從第2節點開始與其較大的子節點相比。由於40比23大,故調換之。 8.1 何謂堆積 step 3:接下來將第1個節點與其較大子 節點比,我們發現40大於15,故調換之,如下圖: 8.1 何謂堆積 step 4:雖然皆已調換完成,但我們發現第2節點小於第4節點(15<23),故需繼續對調,如下圖: 8.1 何謂堆積 8.1.1 Heap的加入 承以上的那一棵Heap,加入30及50。 首先按照完整二元樹的特性將30加進來,如下圖 8.1 何謂堆積 8.1 何謂堆積 因為加入50後不是一棵Heap,所以要加以調整之。 由於原先已是一棵Heap,所以,只要將加入的那一個節點往上調整即可。 8.1 何謂堆積 8.1.2 Heap的刪除 Heap的刪除則將完整二元樹的最後一節點取代被刪除的節點,然後判斷是否為一棵Heap,若否,則再依上述的方法加以調整之。 8.1 何謂堆積 再刪除40 ,則將10取代之。 8.1 何謂堆積 再舉一例,有一棵Heap如下: 8.1 何謂堆積 今欲將40刪除,則以15取代40(因為15在完整二元樹中是最後一個節點) 8.1 何謂堆積 此時將15和其所屬的最大子節點比較,亦即15和35(因為它大於30)比較,直接將15和35交換。 8.2 何謂min-heap 上述介紹的Heap,我們稱之為max-heap,在max-heap樹中的鍵值,一律是上大於下,節點內的鍵值一律大於其子節點。其中min-heap的觀念十分簡單,其節點鍵值一律小於子節點,恰與max-heap相反,如下圖即為一棵min-heap的例子。 8.2 何謂min-heap 由於其加入與刪除的方法與max-heap十分類似,在此就不重覆說明了。 8.3 min-max heap min-max heap包含了min-heap與max-heap兩種Heap的特徵。 8.3 min-max heap 何謂min-max heap:為了方便解說,我們就直接以上圖為例,來定義min-max heap,必須符合下列三項定義: min-max heap是以一層min-heap,一層max-heap交互構成的。 樹中為min-heap的部分,仍需符合min-heap的特性。 樹中為max-heap的部分,仍需符合max-heap的特性。 8.3 min-max heap 8.3.1 min-max heap的加入 min-max heap的加入與max-heap的原理差不多,但是加入後,要調整至符合上述min-max heap的定義。 8.3 min-max heap 若加入5,步驟如下: 8.3 min-max heap 加入後185,不符合第一項定義,將5與18交換。 8.3 min-max heap 交換後,由於105,不符合第二項定義,將5與10
您可能关注的文档
- 2017硕士研究生招生考试科目的考试范围及参考-中山大学研究生院.doc
- 206章题.doc.doc
- 2017年项目申报指南如下.doc
- 209下亲师座谈.ppt.ppt
- 20《一幅名扬中外的画》.ppt
- 20世纪下半叶大陆的课程研究回顾与前瞻-教育科学学院质量工程.ppt
- 20妇科护理病历.ppt.ppt
- 2103.ppt-会计室-海洋大学.ppt
- 20第二十章心血管疾病.ppt.ppt
- 21世纪的绿色技术-光催化应用.doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
最近下载
- 2023年华东师范大学数据科学与大数据技术专业《操作系统》科目期末试卷A(有答案).docx VIP
- 2023年华东师范大学数据科学与大数据技术专业《操作系统》科目期末试卷B(有答案).docx VIP
- 2023年华东师范大学计算机科学与技术专业《操作系统》科目期末试卷A(有答案).docx VIP
- 人防通风系统安装施工方案管理文档.doc
- 标准图集 - 12J003 室外工程.pdf VIP
- 北师大版六年级数学上册3-3《天安门广场》教学设计.doc
- 东北财经大学通用PPT模板.pptx
- 屋盖钢结构设计讲课教案.pdf VIP
- 社会情感教育与教学质量改进.pptx
- 2024年华医网继续教育护理学基于循证理念的临床护理管理实践新进展题库及答案.docx VIP
文档评论(0)