东南大学:《数据结构》课程教学资源(PPT课件讲稿)分治算法

分治算法 东南大学计算机学院方效林
东南大学计算机学院 方效林 分治算法

本章内容 分治算法的原理 n大整数乘法 矩阵乘法 求第k小元素问题 ■寻找最近点对 快速傅立叶变换 n寻找凸包
本章内容 ◼ 分治算法的原理 ◼ 大整数乘法 ◼ 矩阵乘法 ◼ 求第k小元素问题 ◼ 寻找最近点对 ◼ 快速傅立叶变换 ◼ 寻找凸包 2

分治犷法的原理 设计过程 g Divide:整个问题划分为多个子问题 a Conquer:求解各子问题(递归调用子问题的算法) g Combine:合并子问题的解,形成原始问题的解
分治算法的原理 ◼ 设计过程 Divide:整个问题划分为多个子问题 Conquer:求解各子问题(递归调用子问题的算法) Combine:合并子问题的解, 形成原始问题的解 3

分治犷法的原理 n分析过程 口建立递归方程 T(nFaT(n/b+D(n+c(n) Divide时间复杂度:D(n) 口 Conque时间复杂度:aT(n/b) n Combine: C(n) 当n<c,T(n)=(1) 递归方程求解
分治算法的原理 ◼ 分析过程 建立递归方程 ➢ T(n)= aT(n/b)+D(n)+C(n) Divide时间复杂度:D(n) Conquer时间复杂度:aT(n/b) Combine:C(n) ➢ 当n<c, T(n)=(1) 递归方程求解 4

分治犷法的原理 例1:归并排序 21254925*16083141 0816212525*314149 21254925 16083141 212525*49 08163141 2125492516083141 2125254908163141 25492516083141 212514925;161083141 T(n)=27()+0(n o(n logn)
分治算法的原理 ◼ 例1:归并排序 5 21 25 49 25* 16 08 31 41 21 25 49 25* 16 08 31 41 21 25 49 25* 16 08 31 41 21 25 49 25* 16 08 31 41 21 25 49 25* 16 08 31 41 08 16 21 25 25* 31 41 49 21 25 25* 49 08 16 31 41 21 25 25* 49 08 16 31 41 𝑻 𝒏 = 𝟐𝑻 𝒏 𝟐 + 𝚶 𝒏 = 𝚶 𝒏 log𝒏

分治犷法的原理 例2:找最大值 21254925*16083141 41 2125492516083141 2125492516083141 T(n)=2T(x)+1 n 6
分治算法的原理 ◼ 例2:找最大值 6 21 25 49 25* 16 08 31 41 21 25 49 25* 16 08 31 41 21 25 49 25* 16 08 31 41 𝑻 𝒏 = 𝟐𝑻 𝒏 𝟐 + 𝟏 = 𝒏 − 𝟏 25 49 16 41 49 41 49

折半搜索 搜索40 012345 有序顺序表 003040 5060 o low=0, high=n-1, mid=(low+high)/2 x先和md元素比较 id high 40>30 若相等,搜索成功,返回下标 23 45 若x更小,继续在前半部分搜索10203ol4o|soso n high=mid-1, mid=(low+high)/2 若x更大,继续在后半部分搜索 low mid high 40<50 o low=mid+1, mid=(low+high)/2 012345 102030405060 low mid high 搜索成功 40=40
折半搜索 ◼ 有序顺序表 low=0, high=n-1,mid=(low+high)/2 x先和mid元素比较 ➢ 若相等,搜索成功,返回下标 ➢ 若x更小,继续在前半部分搜索 high=mid-1, mid=(low+high)/2 ➢ 若x更大,继续在后半部分搜索 low=mid+1, mid=(low+high)/2 7 搜索40 low mid high 10 20 30 40 50 60 0 1 2 3 4 5 low mid high 10 20 30 40 50 60 0 1 2 3 4 5 low mid high 10 20 30 40 50 60 0 1 2 3 4 5 40>30 40<50 40=40 搜索成功

折半搜索 搜索25 012345 有序顺序表 003040 5060 o low=0, high=n-1, mid=(low+high)/2 x先和md元素比较 d high 25≤30 若相等,搜索成功,返回下标 23 45 若x更小,继续在前半部分搜索10203ol4o|soso n high=mid-1, mid=(low+high)/2 若x更大,继续在后半部分搜索 low mid high 25>10 o low=mid+1, mid=(low+high)/2 012345 012345 [10|20k3o4dl5 5060 102030405060 mid high low low mid high 25>20 low high,搜索失败
折半搜索 ◼ 有序顺序表 low=0, high=n-1,mid=(low+high)/2 x先和mid元素比较 ➢ 若相等,搜索成功,返回下标 ➢ 若x更小,继续在前半部分搜索 high=mid-1, mid=(low+high)/2 ➢ 若x更大,继续在后半部分搜索 low=mid+1, mid=(low+high)/2 8 搜索25 low mid high 10 20 30 40 50 60 0 1 2 3 4 5 low mid high 10 20 30 40 50 60 0 1 2 3 4 5 low mid high 10 20 30 40 50 60 0 1 2 3 4 5 2510 25>20 mid high low 10 20 30 40 50 60 0 1 2 3 4 5 low>high,搜索失败

折半搜索 有序顺序表 口折半搜索构造的判定树 >设满二叉树n=2h-1 则有2=n+1,h=logn+1) >平均搜索长度 ASL ICC (1*2”+2*21+3*22+…+(h-1)*2-2+h*21 n 错位相减法 (h-1)×2+1) n log2(n+1)-1slog2(n+1)-1
折半搜索 ◼ 有序顺序表 折半搜索构造的判定树 ➢ 设满二叉树n=2h-1 ➢ 则有2 h=n+1,h=log2 (n+1) ➢ 平均搜索长度 9 50 = = = = = = 30 > > > > > 20 40 60 10 log ( 1) 1 log ( 1) 1 1 (( 1) 2 1) 1 (1 * 2 2 * 2 3 * 2 ( 1) * 2 * 2 ) 1 2 2 0 1 2 2 1 + − + − + = = − + = + + + + − + − n n n n h n h h n ASL h h hsucc 错位相减法

大蓬数乘法 n位二进制整数X和Y相乘 口通常算法时间复杂性性为0(n 分治算法时间复杂度可降至0(n59) 10
大整数乘法 ◼ n位二进制整数X和Y相乘 通常算法时间复杂性性为 𝚶(𝒏 𝟐 ) 分治算法时间复杂度可降至 𝚶(𝒏 𝟏.𝟓𝟗) 10
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第4章 存储层次结构设计.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第3章 栈和队列.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)引言、背景概述.ppt
- 《计算机视觉》课程教学资源(PPT课件讲稿)第十二章 目标识别 Object Recognition.ppt
- 华东师范大学:《程序设计》课程教学资源(PPT课件讲稿)第九讲 类与对象(面向对象基础).pptx
- 《C程序设计》课程电子教案(PPT课件)第四章 数组和结构.ppt
- 山东大学:《人机交互技术》课程教学资源(PPT课件讲稿)第4章 人机交互技术.ppt
- 基于分布式哈希表的对等系统关键技术研究(论文PPT).ppt
- 西安交通大学:《微型计算机硬件技术》课程教学资源(PPT课件讲稿)第三章 总线线驱动与接口(主讲:桂小林).ppt
- 电子科技大学:《信息安全概论》课程教学资源(PPT课件讲稿)第一章 概述(秦志光).ppt
- 《计算机网络》课程教学资源(PPT课件讲稿)第7章 广域网.ppt
- 《电子技术》课程教学资源(PPT讲稿资料)玩转Arduino合集.ppt
- 《数字图像处理》课程教学资源(PPT课件)第三章 灰度直方图.ppt
- 《机器学习》课程教学资源(PPT课件讲稿)第十三章 半监督学习.pptx
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第三章 控制语句.ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第四章 指令系统及汇编语言程序设计(4.9-4.11).ppt
- 《计算机硬件基础》课程教学资源(PPT课件讲稿)第六章 汇编语言及其程序设计.ppt
- 中国科学技术大学:《网络信息安全 NETWORK SECURITY》课程教学资源(PPT课件讲稿)第一章 计算机网络安全概述2/2(主讲:肖明军).ppt
- 清华大学:Computational Models for Social Network Analysis(PPT讲稿)mining big social networks(Part III:Group and Structure).pptx
- 苏州大学:文档评分与向量空间模型(PPT讲稿).ppt
- 《电子商务实用教程》课程教学资源(PPT课件讲稿)第五章 物流配送.ppt
- 广西医科大学:《计算机网络 Computer Networking》课程教学资源(PPT课件讲稿)CHAPTER 9 COMMUNICATIONS CIRCUITS.pptx
- 安徽理工大学:《汇编语言》课程教学资源(PPT课件讲稿)第三章 80x86指令系统和寻址方式.ppt
- 机械工业出版社:国家“十一五”规划教材《数据库原理与应用教程》教学资源(PPT课件,第3版)第8章 数据库设计.ppt
- 《大学计算机》实践教程(PPT讲稿)面向计算思维能力培养(Raptor程序设计).pptx
- 南京航空航天大学:《数据结构》课程教学资源(PPT课件讲稿)第一章 绪论.ppt
- 《数字图像处理学》课程教学资源(PPT课件讲稿)第9章 数学形态学及其应用.ppt
- 东南大学:《操作系统概念 Operating System Concepts》课程教学资源(PPT课件讲稿)04 线程 Threads.ppt
- 《计算机视觉》课程教学资源(PPT课件)第八章 基于运动视觉的稠密估计——光流法(Optical Flow).ppt
- 中国科学技术大学:《算法基础》课程教学资源(PPT课件讲稿)第八讲 串匹配算法(主讲:顾乃杰).ppt
- 中国科学技术大学:《信号与图像处理基础 Signal and Image Processing》课程教学资源(PPT课件讲稿)图像成像机理与模型.pptx
- 数据包检测技术(PPT讲稿)High-Performance Pattern Matching for Intrusion Detection.ppt
- 《计算机操作系统》课程教学资源(PPT课件讲稿)第8章 计算机系统的测试.ppt
- 西北农林科技大学:高性能计算之并行编程技术(讲座PPT,报告人:周兆永).ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第四章 指令系统及汇编语言程序设计(4.1-4.6).ppt
- 电子工业出版社:《计算机网络》课程教学资源(第六版,PPT课件讲稿)第三章 数据链路层.pptx
- 北京大学:《软件需求工程》课程教学资源(PPT课件讲稿)第三章 软件需求获取(主讲:周立新).ppt
- 《管理信息系统》课程教学资源(PPT课件讲稿)第16章 新型数据库技术及发展.ppt
- 西安交通大学:《网络与信息安全》课程PPT教学课件(网络入侵与防范)第一章 网络安全概述(主讲:沈超、刘烃).ppt
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第4章 存储层次结构设计.ppt