算法分析与设计多媒体课件 ppt

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
假设洗了5双不同的袜子后,发现两只找不到了,当然 希望留下数量最多的完整的袜子,在最好的情况下, 你会留下4双袜子,最坏情况下只有3双,假设10只袜 子每只丢失的概率相同,请找出最好与最坏的发生概 率,平均情况下能指望有几双?
2020/5/7
-
23
增长次数
T(n) ≈ copC(n)
最重要的: 考虑n→∞时,效率的乘积增长速度
理论学习上的重要性
计科专业的核心课程 计科专业的基础课程
实践上的重要性
2020/5/7
-
8
已有的基础—数据结构
典型的问题类型
排序 查找 字符串处理 图 组合问题 几何问题 数值问题
2020/5/7
-
9
已有的基础—数据结构
数据结构基础

数组 链表 字符串
栈和队列 图 树 集合和字典
算法设计与分析
Algorithm Design and Analysis
湖南商学院计算机与电子工程学院 2009.5
目录
Chapter1 绪论
Chapter6 时空权衡
Chapter2 算法效率分析基础 Chapter7 动态规划
Chapter3 分治法 Chapter4 减治法 Chapter5 变治法
节点数或者边数
对节点或对边的 访问
2020/5/7
-
18
对时间效率的实证分析
选择特别的或者典型的输入
统计
实际运行时间 (e.g., milliseconds) 统计基本操作执行的次数
对统计数据进行分析
2020/5/7
-
19
最好、最坏、平均情况
很多算法的效率都取决于输入的组织
最坏情况: Cworst(n) – 对于规模为n的输入,最大的消 耗
例如:
当计算机的速度增加两倍时,算法运行的速度会有多快 当在两倍的输入规模下解决某问题时,时间会增加多少
2020/5/7
-
24
n时的重要增长值
比较一下logn与n2的区别
2020/5/7
-
25
分析框架概要
算法的效率用输入规模函数进行度量 基本操作的执行次数 输入规模相同情况下,有时候需要区分最好、最差和
2020/5/7
-
11
本章结束,返回总目录
2020/5/7
-
12
Chapter2 算法效率分析基础
Foundation of Algorithm Analysis
算法效率分析基础
研究的主要问题 方法
时间效率的理论分析 时间效率的实证分析
最好、最坏与平均情况 增长速度 非递归与递归分析过程
Chapter8 贪心法 Chapter9 回溯与分枝限界
附:算法设计与分析实例动画集成
2020/5/7
-
1
Chapter1
绪论
Introduction
绪论
什么是算法 算法的实例 算法研究的基本问题 为什么要学习算法 已有的基础—数据结构
2020/5/7
-
Baidu Nhomakorabea
返回总目录
3
什么是算法
算法是为了解决某一问题而设计的无疑义的指令序列, 对于合法的输入,能在有限的时间内得出所需要的输出。
最好情况: Cbest(n) –对于规模为n的输入,最小的消耗
平均情况: Cavg(n)–对于规模为n的输入,“平均”的消 耗
基本操作执行的次数体现在典型输入中
不是最好最坏情况的平均
将规模n的实例划分为几种类型,同种实例所需要的基 本操作执行次数一样,然后我们得到或者假设各种输入 的概率分布,以推导出我们的平均次数
2020/5/7
-
5
算法的实例
排序 查找 最短路径 最小生成树 旅行商问题 背包问题 皇后问题 汉诺塔
2020/5/7
-
6
算法研究的基本问题
如何设计算法 如何描述算法 证明算法的正确性
常用数学归纳法
算法效率
理论分析 实证分析
算法优化
2020/5/7
-
7
为什么要学习算法
problem
algorithm
input
computer
output
2020/5/7
-
4
算法满足下列性质
输 入:有零个或多个外部量作为算法的输入。 输 出:算法产生至少一个量作为输出。 确定性:组成算法的每条指令清晰、无歧义。 有限性:算法中每条指令的执行次数有限,执行每条
指令的时间也有限。
2020/5/7
-
17
输入规模与基本操作举例
问题
输入规模的度量
基本运算
在长度为n的列表中 列表节点数目,例如 n 按关键字查找
关键字比较
两个矩阵相乘
矩阵的维度或者元素的 个数
两个数相乘
对 于 给 定 的 数 n, 判 断是否为素数
n的大小(经常转化为 二进制表示,即为二进 制的位数)
除法
典型的图问题
2020/5/7
-
20
例:顺序查找
//在一个指定的数组中顺序查找指定元素 //输入:A[0..n-1],k //输出:指定查找元素在数组中的下标,没有返回-1
最坏情况:n 最好情况:1 平均情况:(1+n)p/2+n(1-p)
2020/5/7
-
21
思考
对于下面每种算法,1.指出输入规模的合理度量,2. 它的基本操作,对相同规模的输入来说,3.基本操作 的执行次数是否有所不同?
2020/5/7
-
10
思考
带锁的门 走廊上n个带锁的门,从1到n一次编号,最初都关着,
我们从门前经过n次,每次都从1号门开始,在第i次经 过时,我们改变i的倍数的门所状态,这样,最后一次 经过时,那些门开着,那些门关着?
有四个人过桥,他们都在桥的一端,17分钟让他们全 部通过,必须携带手电筒,必须步行携带,每个人速 度不同,甲过桥一分钟,乙过桥2分钟,丙过桥5分钟, 丁要10分钟,2个人一起走需要的时间是较慢的人的 时间,他们要如何走才能顺利完成?
2020/5/7
-
返回总目录
14
研究的主要问题
算法的正确性 时间效率 空间效率 最优性
2020/5/7
-
15
方法
理论分析 实证分析
2020/5/7
-
16
2.1时间效率的理论分析
输入规模
输入规模
T(n) ≈ copC(n)
运行时间 基本运算的执行时间 基本运算的执行次 数
基本运算 为什么要用基本运算?如何找基本运算?
a、计算n个数的和 b、计算n! c、找出包含n个数字的列表的最大元素 c、两个十进制正整数相乘的笔算算法 d、欧几里得法求公约数
2020/5/7
-
22
选择手套
一个抽屉里有22只手套,5双红色的,4双黄色的,2双 绿色的,黑暗中挑选,最优情况下就最少选几只能找 到一对匹配的手套?最坏情况下呢?
丢失的袜子
相关文档
最新文档