计算机问题求解 – 论题2-12 - 堆与堆排序 2018年05月14日 数据的组织(逻辑的,物理的)均可以影响到算法的设计和性能.

Slides:



Advertisements
Similar presentations
1 教師敘薪 Q & A 教師敘薪 Q & A 新竹縣立新湖國中 陳淑芬 新竹縣立自強國中 楊美娟
Advertisements

103 學年度縣內介聘申請說明會 南郭國小 教務主任張妙芬.  重要作業日程 : 1 、 5/1( 四 ) 前超額學校 ( 含移撥超額 ) 備文函報縣府教 育處輔導介聘教師名單 2 、 5/7( 三 ) 超額教師積分審查( 9 : : 00 、 13 : : 00 )。 3.
大學甄選申請入學 〃備審資料 〃面試. 確認你的追求對象 學校環境概況 系別特質 有無交換學生 未來出路 性質相似的科系要清楚之間的差別 ex: 社會福利學系,社會工作學系, 社會學系.
人文行動考察 羅東聖母醫院 老人醫療大樓 吳采凌 黃玨宸 劉映姍 陳嫚萱.
焦點 1 陸域生態系. 臺灣的陸域生態系 臺灣四面環海 黑潮通過  高溫, 雨量充沛 熱帶, 亞熱帶氣候.
資源問題與環境保育 第 6 章. 學完本章我能 ……  知道中國土地資源的問題與保育  了解中國水資源的問題與保育  知道中國森林資源的問題與保育  能分析自然環境和人文環境如何影響人類 的生活型態  說舉出全球面臨與關心的課題.
景美樣品房工程變更 / 追加請款 / 說明 102/08/09 樣品房停工 102/10/10 樣品房完工 102/09/26 向工務部提出 追加工程估價單 102/10/25 經工務部審核 轉送採發部門 102/09/03 工地會議 確認後續施工方式 102/11/ /11/ /12/09.
統計之迷思問題 保險 4B 張君翌. 迷思問題及教學者之對策 常見迷思概念教學者之對策 解題的過程重於答案 例 : 全班有 50 位同學,英文不及格的有 15 人,數學不及格的有 19 人,英文與 數學都及格的有 21 人。請問英文與數 學都不及格的有幾人? 老師常使用畫圖來解決這樣的問題,英文和.
社團法人台南市癲癇之友協會 講師:王乃央老師
第八章 土地行政管理.
寓言 何謂寓言? 寓言中的主角選擇 以動物為主角,形象分析—以成語及諺語中來歸納動物形象 以人為主角,形象分析
「互联网金融2.0时代」与房地产的融合 广州互联网金融协会会长、广州e贷总裁 方颂.
企业会计学(三) 人大版本 吕 昌.
第七章 外營力作用 第一節 風化 第二節 崩壞 第三節 侵蝕與堆積.
物理治療師之僱傭關係 九十二年四月十二日.
勿讓權利睡著- 談車禍之損害賠償與消滅時效.
二、開港前的經濟發展 (一)土地開墾和農業發展 1.漢人移民的遷徙與拓墾 (1)遷徙 A.居住區 a.泉州人最多:沿海
設計新銳能量輔導 實習期中感想 實習生:賴美廷 部落格:TO13004.
日本的〈地獄劇〉 與 中國的〈目連戲〉.
授課教師:羅雅柔 博士 學員:吳沛臻/邱美如/張維庭/黃茹巧
國小教師檢定經驗分享 分享者:胡瑋婷 現職:國語日報語文中心寫作班教師 閱讀寫作營教材編輯及任課講師 榮獲「教育部教育實習績優獎」全國第三名.
民主政治的運作
教育與學習科技學系 103學年度課程說明 103年9月2日.
政府採購法規概要 報告人:杜國正 行政院公共工程委員會企劃處.
國有不動產撥、借用法令與實務 財政部國有財產局 接收保管組撥用科 蔡芳宜.
公務人員 育嬰留職停薪權益.
大學教、職員之法義務規範與法律效果 台南地檢署林仲斌.
第三課 政府的組織、功能與權限 一、內閣制 壹、民主國家的政府體制 二、總統制 三、混合制 四、小結 一、前言 貳、我國的中央政府體制
明代開國謀臣 劉伯溫 組員:吳政儒 林天財 王鈴秀 陳冠呈 施典均 李孟儒.
之 魔 析 妖 鬼 解 怪 大 沈家仪小组出品.
中央與地方教育權限 第八組 王湘婷 邱淑婷 全 彥 洪英博
中國宦官 鄭永富 鄭雅之 莊尉慈.
盧世欽 律師 鼎禾律師聯合事務所 民國 一○四 年 九 月 十八 日
关于职教发展的几个理念 上海市教育科学研究院 周亚弟.
簡報大綱 壹、親師溝通 貳、學生不當行為的處理 參、學生輔導 肆、個案研討分析.
行政作用法 行政命令.
福山國小 100學年度 新生家長始業輔導.
貨物稅稅務法令介紹 竹東稽徵所.
提升機密文書處理能力以貫徹執行個人資料保護 臺北市政府政風處 股長 呂佩毓
九年一貫課程綱要微調 健康與體育領域召集人 「課綱微調轉化」研習
第九章 长期资产及摊销 2017/3/21.
公私立大學特色介紹 (以第二類組為主) 報告人:吳婉綺.
危險情人的特徵 危險情人的特徵.
公務人員退休法、撫卹法 法制與實務講習 銓敘部退撫司 中華民國99年8月.
機關團體所得稅申報實務 中區國稅局苗栗縣分局第一課林天琴.
幼兒環境學習規畫 期末報告 指導老師:蔡其蓁 老師
第一節 行政裁量與不確定法律概念 第二節 行政裁量
雕塑你我他.
財政部臺灣省北區國稅局中壢稽徵所 各類所得扣繳暨免扣繳法令.
最後,是什麼決定一個領導者的成敗 這是一步思考與行動指南
「103年寒假教育優先區中小學生營隊」 校外補助計畫申請說明會.
水土保持法中「連續處罰」及「限期改正」制度之法律研究
國有公用財產管理及被占用處理暨活化運用法規與實務(含座談) 104年度教育部暨部屬機關學校總務人員研習會-不動產管理班
提升國民小學教師健康教育專業能力三年計畫
樹 2 Michael Tsai 2013/3/26.
織物的認識 演示者:陳明玲 美容科:家政概論.
馬公高中100學年101大學博覽會 專題演講 演講主題 如何選填適合自己的大學科系
性騷擾防治宣導.
創業環境分析與 風險評估 赫斯提亞負責人:謝馥仲先生 主講 演講時間 : 2008/05/01.
葉脈標本的創意製作.
穿出自我… 高一家政.
加減法文字題 國小低年級學生對加減法文字題的瞭解 小組成員 陳育娟 羅珠綾 侯宜孜
飛行器製作與飛行 講師:劉修建.
因果性:一个形而上学的预设 赵敦华 2008年5月.
財政四 徐瑜鴻 財政四 林博硯 財政四 陳玄恩 財政四 王張皓鈞 財政四 李定瑜
品格:熱 性格的培養6親熱就,48頁。 (一)什麼是熱.
计算机问题求解 – 论题 基本的数据结构 2018年05月09日.
JAVA 程式設計與資料結構 第十七章 Tree.
第六章 直接成本法.
Presentation transcript:

计算机问题求解 – 论题2-12 - 堆与堆排序 2018年05月14日 数据的组织(逻辑的,物理的)均可以影响到算法的设计和性能

如果我们要定义堆的ADT,在其数据部分,我们应该给出什么约束? 堆性质 如果我们要定义堆的ADT,在其数据部分,我们应该给出什么约束? 树T 满足偏序树性质 当且仅当 树中任一结点的键值不小于(或不大于)其子结点(如果有)的键值。 树T满足几乎完全二叉性质 最底一层可能不满,但必须从左到右填充 就如栈一定是栈一样(用c来表示进入的过程),树也一定是树:用元素个数限制树的高度;用父子关系限制元素大小

问题1: 堆与我们上次讨论的队列与 栈最突出的差别是什么? 其特征与对象的内容相关, 一定是源于具体应用。 对象的内容决定了数据的存储和基本操作 对象的观察顺序决定了数据的存储和基本操作 其特征与对象的内容相关, 一定是源于具体应用。

问题2: 为什么我们常用数组来实现堆? 偏序树性质在数组实现中如何表示? 几乎完全性质在数组实现中如何体现? 一个nearly complete binary tree和一个数组是可以等价表示的。 树的基本概念均可通过数组的下标相关算法进行实现。 其中: 堆是一个nearly complete binary tree是关键 下标相关算法可以被实现为宏或者内联操作 在堆排序算法中,heapsize不断减少,但length没有改变 Parent(A.heapsize) <=A.heapsize/2

你能利用上图解释Max-Heapify吗? 特别注意一下largest Largest是潜在的冲突可能元素的下标,我们希望它成为以它为根的子树的最大 问题4: 你能利用上图解释Max-Heapify吗?

MAX-Heapify操作的pre/post-condition是什么? Largest是潜在的冲突可能元素的下标,我们希望它成为以它为根的子树的最大 MAX-Heapify操作的pre/post-condition是什么? Pre-condition: i的子女均已是某个大堆的根节点! Post-condition: 以i为根,构成一个大堆!

Worst-case Analysis for Max-Heapify 过程Max-Heapify中不包含循环,所以,如果不递归,其代价是O(1)。 如果考虑比较运算的次数,每“下沉”一层,执行2次比较。 递归: 问题5: 为什么2n/3? 左子树全满时:左子树几乎是右子树的一倍 此处的O(h)有伏笔

造“堆”:自底向上 问题6:这5个子树已经是“堆”了? 其实后┌n/2┒个子树已经是“堆”了 其实算法循环从A.length开始又何妨? 分界线 问题6:这5个子树已经是“堆”了? 其实后┌n/2┒个子树已经是“堆”了 对后一半数据进行heapify也是可以的,只是heapify的结果不会变化,没有意义 其实算法循环从A.length开始又何妨?

问题6: 这个循环的invariant是什么? 循环过程中的第i次:i+1,…,n元素都是某个大堆的根。

Built-Max-Heap正确性证明

A Poor Upper Bound 问题7: 为什么这个Bound不很好? 过于不tight了

关于堆的两点数学知识 N元素堆中,高度为h的子堆,最多有n/2h+1个 是什么意思?

建堆的时间复杂度是线性的 = O(2n) = O(n)

在堆中增加/删除一个元素,如何处理? 放到数组中最后一个元素位置上,找它的父亲,交换或者不交换,如果交换发生,重复和父亲的比较,直到不发生交换。

堆排序 取出树根,和树的最后一个元素互换(将最后一个元素放到根上去),进行max-heapify。就地输出体现在“从小到大排序”,heap-size辖制max过程不会涉及到原来的根。 堆排序是stable的吗?不稳定

堆排序 算法部分正确性如何证明? 每次进入循环时,A[i..A.length]都是升序排列的

堆排序算法: 问题9: 问题10: 怎么体现in-place, 即“原地输出”? 尽管堆排序时间复杂度是O(nlgn), 但快排算法似乎还是占有优势。为什么? A[I..A.length]是有序的。 1,系数有差异; 2,数据访问时cache利用率不同

但堆作为一种性质鲜明的数据结构,仍然拥有很好的应用领域 堆数据结构的应用 堆排序似乎影响了堆的使用价值, 但堆作为一种性质鲜明的数据结构,仍然拥有很好的应用领域

问题11: 你能否通过比较priority-queue与一 般的queue,说明抽象数据类型(ADT) 对于计算机问题求解的意义? 同等优先级,FIFO;不等优先级,非FIFO;

Max-Priority Queue 抽象数据类型是为了减轻人思考的负担,而不是为了减轻计算机执行的负担。关键是如何实现!

实现:Array Heap Priority Queue

Open Topics: 1,通过实验和理论分析两种方法,比较堆排序和快排的性能和应用场景 2,用二叉树堆优先队列的方式给出优先队列的实现

家庭作业 TC pp.153-: ex.6.1-2, 6.1-4, 6.1-7 TC pp.156-: ex.6.2-2, 6.2-5, 6.2-6 TC pp.159-: ex.6.3-3 TC pp.160-: ex.6.4-2, 6.4-4 TC pp.164-: ex.6.5-5, 6.5-7, 6.5-9