分而治之法 5 2019/4/27 演算法 _ 第五章.

Slides:



Advertisements
Similar presentations
第二节 东南亚 地理位置和自然环境 一 地理位置和 范围 1 地理位置 1 地理位置 纬度位置 纬度位置 海陆位置 海陆位置.
Advertisements

第五章 导数和微分 §1 导数的概念 一、问题的提出 1. 自由落体运动的瞬时速度问题 如图, 取极限得.
形式逻辑学的框架 推理 判断 概念 演绎 归纳 直 接 复 合 三段论 枚 举 完 全 科 学 【有效性与真实性】
年輕駕駛交通工具 考上駕照的 18 歲, 正好是高中畢業, 離家工作、上大學 的時候。 年輕人對新環境的 好奇及生疏,以及 尚未養成良好駕駛 習慣,造成意外的 產生。
分享成长的快乐 2010年3月刊 成长进行时 欢乐出版社.
第二节 植物的生殖生长 植物经历了一定的营养生长之后,在适当的条件下转入生殖生长阶段。 一、植物由营养生长转向生殖生长的条件
优化备课和讲课 的思考 黄恕伯
高三二轮复习能力专题.
举国上下抗击风雪灾害专刊 温暖行动 灾情告急年关近 万众一心齐抗灾 可歌可泣留千古 温暖行动遍人间 导读提示 阳关雨露出版社
身边生活探索课专刊 进入 2006年第 3 期 总第 68 期 2006年3月2日出版 和谐出版社出版.
说课课件 感悟工业革命力量,闪耀科技创新光辉 ----《走向整体的世界》教学设计及反思 爱迪生 西门子 卡尔·本茨 诺贝尔 学军中学 颜先辉.
作文选刊 作文之窗

快乐假期 2010年第6期 总第54期 贝尔芬 主编 暑期作文专刊 《快乐假期》杂志社 出版.
规模(限额)以下法人单位普查表(BJ611表)能源部分
S5MathsCH1&2Notes 等差與等比數列
国王赏麦的故事.
【实训11】 产品质量法和消费者法的案例分析.
邰港生物科技公司參訪.
™ 全球,唯一支持第三方自动部署的交易系统 中国产权交易所有限公司 二〇一四年十月 超级交易系统V1.0
102年10月17日 臺北市公共運輸處 報告人:陳榮明處長
生活与哲学 生活中处处有哲学.
神奇的宇宙 我们的太阳系 宇宙中天体有哪些类型? 刊号:CN77-87 编辑: 施雅苑 今日一叠4版 第1期 认识宇宙 16岁的哈勃
美国史 美利坚合众国创造了一个人类建国史的奇迹,在短短230年的时间从一个被英帝国奴役的殖民地到成为驾驭全世界的“超级大国”、“世界警察”,美国的探索为人类的发展提供了很宝贵的经验。
家庭與婚姻 組員名單:鄭會成(2) 吳天雄(7) 鄭曉娜(10) 黃海瑩(34) 葉頌秋(41).
剪纸是最为流行的中国传统的民间艺术之一,为了能够更好的宣传它,发扬它,我们成立了手工小组,并走访了民间剪纸高手温奶奶。在李英芳老师的指导下,一张普普通通的纸,经过构思、画稿、剪刻,能把我们的情感、审美趣味用不同的剪纸创作形式表达出来,变成了一个又一个艺术品。用它既可以美化环境,又可以美化我们的生活。
(安徽建筑工业学院法政学院 栗胜华副教授)
老师:如何撰写教研文章? 主讲:石修银 谨以此赠与孜孜追求的老师 谨以此赠与改变人生的老师.
第三次全国经济普查 ——611表 西城区统计局牛街统计所 2013年12月.
依“标”据“本”,命制考题 发表于《数学教学》2006年第9期 (华东师大核心“CN”刊物)
亥 丁 随 想 2007/2 有为少年出版社.
12星座 对于星座,你又知道多少呢? 第一刊.
推行使用散装预拌砂浆 全面贯彻落实禁现政策
分治演算法 各個擊破獲得最後勝利 國立中央大學 資工系 江振瑞 教授.
课程:机械设计A 祝同学们在新学期学习进步!.
数学通报简介 ——如何写稿及投稿 数学通报 郑亚利 2014年8月.
第十五章 功和机械能 一、功.
高等学校金工实习讲课型多媒体课件 机械制造工程训练 华南理工大学 张木青.
2014—2 摇 篮 出 版 社.
第4章 数值积分与数值微分 4.1 引言 数值求积的基本思想 一、问题 如何求积分 数学分析中的处理方法:
1.5楼梯与雨篷 1.5.1楼梯   板式楼梯(最常见)、梁式楼梯、   (螺旋楼梯、悬挑楼梯) 楼梯的结构设计步骤:
推进《玻璃钢制品工》 国家职业资格证书制度的建设
本期导读: 1版 习 惯 2版 的 十个做人的好习惯 3版 力 4版 量 5版 6版 7版 8版
术道相容 有法有序 2017年高考备考建议.
勞基法與員工權益 報告人: 人事室主任任台華 2017/9/12.
总第八期.
【敗犬的遠吠】讀書會 99/05/12 & 99/05/19 楊佳穎 諮商心理師.
计算复杂性和算法分析 计算机科学导论第六讲
任务四 交流接触器 接触器是一种自动的电磁式开关。触头的通断不是由手来控制,而是电动操作。 CJ10系列
数字信号处理 by Zaiyue Yang CSE, ZJU, 2012.
基督教 宣道會 南港堂 主日服事注意要項 ◆ 聚會程序與時間 ◆ 講員 ◆ 領會同工 ◆ 領敬拜同工 ◆ 司琴同工 ◆ 放投影片同工
翠 鸟 广东省东莞松山湖实验小学 张新元.
排列组合 1. 两个基本原理 分类加法计数原理 分步乘法计数原理.
第六次全国人口普查 近期数据处理工作部署 夏雨春 2010年12月28日.
(Dynamic programming)
第三节 常见天气系统.
关于“十三五”规划的思考 水利部农村饮水安全中心 张汉松 2014年10月 昆明.
第十一章 物件資料結構塑模.
吸毒的禍害 華德學校 5A 陳家韻 (3).
第1章 绪论(二) 教学目标 理解算法的特性及评价标准 掌握算法时间复杂度和空间复杂度的分析方法 1/
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
淘汰與搜尋法 /5/9 演算法 _ 第四章.
第三章 DFT 离散傅里叶变换.
GPS卫星定位原理及其应用 定位的观测量、观测方程及误差分析
數學遊戲二 大象轉彎.
分而治之法 /8/20 演算法 _ 第五章.
第一章 绪论 学 习 指 导 本章学习目的是了解本课程的性质和任务。学习要求是懂得互换性的含义;了解互换性与标准化的关系及其在现代化生产中的重要意义;了解优先数的基本原理及其应用。
主讲:小西.
§2.2.1对数与对数运算.
 等差數列 等差數列: a , a + d , a + 2d , a + 3d , 通項:
Presentation transcript:

分而治之法 5 2019/4/27 演算法 _ 第五章

什麼叫分而治之法 針對一個有 n 筆輸入的問題,它把輸入分解成 k(1 < k  n)個獨立的小集合 這導致原問題變成k個小問題 2019/4/27 演算法 _ 第五章

什麼叫分而治之法 分而治之法分因此可以分成三個主要步驟: 如果要處理的資料量已經夠少,那麼用直接的方式解決;否則,把輸入資料分解成兩個獨立的小集合 求出每一個小問題的解,並且 把這兩個小問題的解組合起來,成為原來的大問題的解 2019/4/27 演算法 _ 第五章

什麼叫分而治之法 一個分而治之演算法的時間複雜度 T(n) 可以用下列的遞迴關係來求得: 其中 S(n) 是將原問題分解成兩個小問題所需要花的時間,M(n) 是將兩個小問題的解組合成原問題的解所需要花的時間,b 跟 c 都是常數 2019/4/27 演算法 _ 第五章

合併排序法 2019/4/27 演算法 _ 第五章

合併排序法 2019/4/27 演算法 _ 第五章

合併排序法 演算法 5.1 的 S(n) 是常數時間 O(1),因為它的分割只需要計算 mid 演算法 5.1 的 M(n) 做的是合併的工作,所需要的計算時間跟 n 成正比 因此,演算法 5.1 的時間複雜度 T(n) 可以用下列的遞迴關係來描述: 2019/4/27 演算法 _ 第五章

合併排序法 如果 2k < n  2k+1,則 T(n)  T(2k+1)。因此T(n) = O(n log n) 2019/4/27 演算法 _ 第五章

合併排序法 我們在第二章證明了排序問題的最壞情況計算複雜度是 (n log n) 而合併排序法的最壞情況時間複雜度又是T(n) = O(n log n) 因此,合併排序法已經是在最壞情況下的最佳化演算法了 2019/4/27 演算法 _ 第五章

合併排序法 合併排序法的平均時間複雜度又是多少? 作業 2.18 題證明了「排序問題的平均情況計算複雜度下限也是 (n log n)」 因此,合併排序法的平均情況時間複雜度必然大於等於 O(n log n) 2019/4/27 演算法 _ 第五章

合併排序法 但是,任何一個演算法的平均情況複雜度必然小於等於它的最壞情況複雜度,合併排序法也不例外 因此,合併排序法的平均情況複雜度必然小於等於 O(n log n) 綜合以上的討論,我們因此得到合併排序法的平均情況複雜度也等於O (n log n) 這也意味著合併排序法也是平均情況下的最佳化演算法 2019/4/27 演算法 _ 第五章

快速排序法 快速排序法的最壞情況時間複雜度高達O(n2) 但是平均起來它通常都跑得比合併排序法快 快速排序法也是使用分而治之法 2019/4/27 演算法 _ 第五章

快速排序法 先從待排序的資料中選擇一筆樞鈕資料 接下來,將待排序的記錄重新排列使得 最後,樞鈕左方的記錄以及樞鈕右方的記錄分別獨立地做排序 在樞鈕左方的資料都小於或等於樞鈕 在樞鈕右方的資料則都大於或等於樞鈕 最後,樞鈕左方的記錄以及樞鈕右方的記錄分別獨立地做排序 2019/4/27 演算法 _ 第五章

快速排序法 2019/4/27 演算法 _ 第五章

快速排序法 2019/4/27 演算法 _ 第五章

快速排序法 W(n) = O(n2) 最佳情況時間複雜度是 O(n log n) 平均計算時間是 O(n log n) 2019/4/27 演算法 _ 第五章

快速排序法 歸納基礎:當n = 2,從 (5.1) 式得到Tavg(2) ≤ 2c + 2b ≤ kn loge2。 歸納假設:假設Tavg(n) ≤ kn loge n,其中1 ≤ n < m。 2019/4/27 演算法 _ 第五章

快速排序法 歸納步驟:從 (5.1) 式跟歸納假設中我們得到: 2019/4/27 演算法 _ 第五章

快速排序法 2019/4/27 演算法 _ 第五章

二維平面上的極點 給定平面上的兩個點 P1 = (x1, y1), P2 = (x2, y2),我們說 P1 凌駕(dominate)P2 若且唯若 x1 > x2 且 y1 >y2 如果一個點不被任何點所凌駕,則我們就稱該點為極點(maximal point) 2019/4/27 演算法 _ 第五章

二維平面上的極點 2019/4/27 演算法 _ 第五章

二維平面上的極點 2019/4/27 演算法 _ 第五章

二維平面上的極點 2019/4/27 演算法 _ 第五章

二維平面上的極點 2019/4/27 演算法 _ 第五章

二維平面上的極點 2019/4/27 演算法 _ 第五章

二維平面上的極點 2019/4/27 演算法 _ 第五章

二維平面上的極點 步驟二裡的 2.1 行找中位數需要 O(n) 的時間,2.2行的分割也需要O(n) 的時間 步驟三需要 2T(n/2) 步驟四的 4.1 行求最大值需要 O(n) 的時間,4.2 行比較 SL 極點的 y 座標值與 ymax 需要 O(n) 的時間 因此,整個演算法的時間複雜度是 T(n) = 2T(n/2) + O(n) = O(n log n) 2019/4/27 演算法 _ 第五章

最接近的兩點 2019/4/27 演算法 _ 第五章

最接近的兩點 直接解這個問題需要計算任意兩點間的距離,因此我們需要 O(n2) 的時間才能解出這個問題 我們可以利用分而治之法將複雜度降到O(n log n) 2019/4/27 演算法 _ 第五章

最接近的兩點 2019/4/27 演算法 _ 第五章

最接近的兩點 2019/4/27 演算法 _ 第五章

最接近的兩點 2019/4/27 演算法 _ 第五章

最接近的兩點 我們只需要將RL裡的每一點與RR中頂多6個點配對、檢測即可 2019/4/27 演算法 _ 第五章

最接近的兩點 2019/4/27 演算法 _ 第五章

最接近的兩點 2019/4/27 演算法 _ 第五章

最接近的兩點 2019/4/27 演算法 _ 第五章

最接近的兩點 步驟一只需要 O(1) 的時間 步驟二的兩次排序分別都需要 O(n log n) 假設步驟三至步驟五的執行時間為 T(n) 步驟五裡的p點最壞情況下有n/2個,針對每一個p點我們頂多需要檢測六個在SR裡的點,因此步驟五的最壞情況複雜度為6cn = O(n),其中c是一個常數 我們於是得到步驟三至步驟五的執行時間為 T(n) = 2T(n/2) + O(n) = O(n log n)。 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 數位傅利葉轉換(DFT)的定義為: 它的逆轉換則定義為: 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 利用wn,我們可以將傅利葉轉換重寫成 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 當 n = 4 時: 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 把偶數項放一起,奇數項放一起: 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 但是, 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 我們因此可以將上面的 4 點傅利葉轉換係數重寫成: 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 8點傅利葉轉換 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 把偶數點跟奇數點分別集中 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 我們因此可以將上面的 8 點傅利葉轉換係數重寫成: 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 n = 2k 點的傅利葉轉換 將 Aj 與 Aj+n/2 湊成一對 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 定義 Bj 與 Cj 如下: 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 2019/4/27 演算法 _ 第五章

快速傅利葉轉換 時間複雜度是 T(n) = 2T(n/2) + cn = O(n log n) 2019/4/27 演算法 _ 第五章