算法设计与分析基础第三版PPT第九章

合集下载

算法设计与分析 ppt课件

算法设计与分析  ppt课件
相容的(兼容的).
活动安排问题是要求在所给的活动集合中选出最大
相容活动子集.
ppt课件
3
算法设计与分析 > 贪心算法
[直观想法]
在安排时应该将结束时间早的活动尽量往 前安排,好给后面的活动安排留出更多的 空间,从而达到安排最多活动的目标。
贪心准则应当是:在未安排的活动中挑选 结束时间最早的活动安排。
4.1 活动安排问题
有n个活动E={1,2,…,n},其中每个活动要使用同一
资源,同一时间只允许一个活动使用该资源.
每个活动i都有一个开始时间si,和一个结束时间fi . 如果选择活动i,则它在时间区间[si, fi )内占用该资 源;若区间 [si, fi ) 与[sj, fj )不相交, 则称活动i与j是
8
算法设计与分析 > 贪心算法
背包问题
给定n种物品和一个背包。物品i的重量是wi ,其价值为vi,背包的容量为C。应如何选择装 入背包的物品,使得装入背包中物品的总价值 最大?
在选择物品i装入背包时,可以选择物品i的 部分,而不一定要全部装入背包,1≤i≤n。 不允许重复装入。
ppt课件
9
算法设计与分析 > 贪心算法
ppt课件
10
算法设计与分析 > 贪心算法
贪心选择:
每次捡最轻的物品装;
只考虑到多装些物品,但由 于单位价值未必高,总价值 不能达到最大;
每次选择的价值最大,但同时
每次捡价值最大的装;也的可物能品占少用 ,了未较必大能的够空达间到,总装价
值最大
每次装包时既考虑物品的重量又考虑物品的
价值,也就是说每次捡单位价值最大的装。
因为Ak中的活动都是不相交的,aj是Ak中结束时间最早的 活动,而fm≤fj ,所以Ak′中的活动都是不相交的。

算法设计与分析(精品课件)

算法设计与分析(精品课件)

xn个
n=4, m=7 可行解 <1, 2, 3, 1>
序列 1 0 1 1 0 1 1 1 0 1
13
蛮力算法的效率
序列个数是输入规模的指数函数
C(m n 1, m) (m n 1)!
m!(n 1)!
((1 )mn1 )
有没有更好的算法?
14
小结
问题求解的关键 • 建模:对输入参数和解给出形式化
本周教学内容
算法课程主要内容及有关概念 .
算法研究内容
算法的有关概念
计算复杂性理论: 货郎问题 背包问题
双机调度问题
问题复杂度概念: 排序问题
算法设计与分析: 调度问题 投资问题
算 几类重要函数的性质


有关函数渐近的界

的定理

表 示
时间复杂度函数的表 示:函数渐近的界
算法及其时间复杂度的定义
2
• NP-hard问题的计算现状 • 计算复杂性理论的核心——NP完全
理论 • 算法研究的主要内容及重要意义
12
算法及其 时间复杂度
1
问题及实例
• 问题
需要回答的一般性提问,通常含若干参数
• 问题描述
定义问题参数(集合,变量,函数,序列等) 说明每个参数的取值范围及参数间的关系 定义问题的解 说明解满足的条件(优化目标或约束条件)
或半形式化的描述
• 设计算法: 采用什么算法设计技术 正确性——是否对所有的实例都得 到正确的解
• 分析算法——效率
15
问题计算复杂度 的界定:排序问题
例3 排序算法的效率
以元素比较作基本运算
算法
最坏情况下

算法设计与分析ppt课件

算法设计与分析ppt课件
2
ACM国际大学生程序设计竞赛
ACM国际大学生程序设计竞赛(英文 全称:ACM International Collegiate Programming Contest(ACM-ICPC或 ICPC)是由美国计算机协会(ACM)主办 的,一项旨在展示大学生创新能力、团队 精神和在压力下编写程序、分析和解决问 题能力的年度竞赛。经过30多年的发展, ACM国际大学生程序设计竞赛已经发展成 为最具影响力的大学生计算机竞赛。赛事 目前由IBM公司赞助。
第3章 动态规划 3.1 矩阵连乘问题 3.2 动态规划算法的基本要素 3.3 最长公共子序列 3.4 最大子段和 3.5 凸多边形最优三角剖分 3.6 多边形游戏 3.7 图像压缩 3.8 电路布线 3.9 流水作业调度 3.10 0-1背包问题 3.11 最优二叉搜索树 3.12 动态规划加速原理
7
1.1 算法与程序
算法:是满足下述性质的指令序列。
输 入:有零个或多个外部量作为算法的输入。 输 出:算法产生至少一个量作为输出。 确定性:组成算法的每条指令清晰、无歧义。 有限性:算法中每条指令的执行次数有限,执行
每条指令的时间也有限。
程序:是算法用某种程序设计语言的具体实现。
4
教材与参考书
教 材:
◦ 算法设计与分析(第三版) 王晓东,2007年 5月,电子工业出版社。
参考书:
◦ 徐士良编,C常用算法程序集,华大学出版 社,1998年
◦ 霍红卫编,算法设计与分析 西安电子科技 大学出版社,2005年
◦ 卢开澄编,计算机算法导引,清华大学出 版社,2003年
5
部分目录
算法分析是计算机领域的“古老”而“前沿” 的课题。
10

《算法设计与分析》第09章

《算法设计与分析》第09章

1 X1=1 0 3 0 5 6 1 0 7
X3=1 0
8 9
1
10
0
11
1
12
0
13
1
14
0
15
状态空间树
分枝限界算法有利于提高算法效率的两个特点:
• 该算法首先扩展上层结点,采用智能化的限界 函数,有利于大范围地剪枝; • 该算法处理活动结点时,只经过一次扩展即列 出所有子结点,而回溯算法每次只扩展一个子 结点,遍历的路径较长。所以效率较高。 • 较高的效率是以付出一定代价为基础的。
0-1背包问题分枝限界算法思路:
1

0 3
X1=1
2 X2=1 4 X3=1 0 8 9 1 10 0 5 0 11 1
1 6 0 13
0
n=3,M=35,W=( 11,21,23),P=(2 1,31,33)
12
按FIFO方式从活 7 动结点表中选 A-结点进行扩 1 0 展,其搜索过 14 15 程为:
– 对状态结点的处理是跳跃式的。 – 算法要维护一个“活动结点表”。需占用较多的空 间
6.2 单源最短路径问题
1. 问题描述
下面以一个例子来说明单源最短路径问题:在下 图所给的有向图G中,每一边都有一个非负边权。要求 图G的从源顶点s到目标顶点t之间的最短路径。
6.2 单源最短路径问题
下图是用优先队列式分支限界法解有向图G的单源最 短路径问题产生的解空间树。其中,每一个结点旁边的 数字表示该结点所对应的当前路长。
顶点i和j间有边,且此 路径长小于原先从原点 到j的路径长
6.3 最小耗费搜索
1.问题描述
设x是所有可行解集合A中的一个可行解,D(x)是找到x 所需要的耗费(如:当这个耗费与该解在T中的深度成正 比时,可以定义D(x)等于x的深度),要求找到一个可行 解x*,使得D(x*)=minD(x) (x∈A)。

算法分析与设计 PPT

算法分析与设计 PPT
P且有限,将P中所有元素相乘,X表示积
Y=X+1。 对Y分析:d为Y的一个最小的且大于1的约数。
[欧几里德]证明
Y>1,且不要求d一定不等于Y,d一定存在。
d定为素数,否则存在一个约数z,使得z可整除Y。
又 z<d
d为Y的一个最小的约数
=>
矛盾
dP,且X是P中所有元素的积 => d是X的约数
即d可以同时整除X和Y=X+1。
输入 规则 输出
确定性 清晰、无歧义 有限性 指令执行次数、时间 特点:
执行时,不能包含任何主观的决定; 不能有类似直觉/创造力等因素。
例子:
人们日常生活中做菜的过程,可否用算法 描述?
✓ 如:“咸了”、“放点盐”、“再煮一会”。 ✓ 可否用计算机完成?
算法必须规定明确的量与时间; 不能含糊字眼。
参考书目
Aho, Hopcroft, Ullman. The Design and Analysis of Computer Algorithms. (1974版影印版,铁 道出版社)
Aho, Hopcroft, Ullman. 数据结构与算法(1983 年影印本,清华出版社)
Thomas H. Cormen 等4人. 算法导论(MIT第2 版), 高教出版社影印本
2) n1,m 2n ,对 2n12n1大小的地板显然成
立,现四分地板得到4个相同大小的地板。
也变成存在特殊 方格地板地板
特殊方格地板
[证毕]
归纳法证明举例-马的颜色
例子:[伪定理] 所有马都只有一种颜色。
证明:任何一个马的集合都只有一种颜色
=>所有马只有一种颜色。
设H为任何一个马的集合,对H中马数量n归纳:

算法设计与分析ppt课件

算法设计与分析ppt课件
算法设计与分析
2013.4
dqwang@
写在讲课前
一、什么是算法
算法就是计算的方法。 数·学
数:1,2,3,4,… 学:偶数、质数、微积分…之数的学问
算·法
算:加、减、乘、除 法::排序
问题描述:将一组数按从小到大的顺序整理有序
3.冒泡排序会不会比快速排序快? 来自于实测的结论:可能。
三、为什么要学习算法
1. 编程序的需要
任何程序都需要算法。 the core of computer science 程序 = 数据结构 + 算法
2. 改造世界的需要
世界上还有很多很多的问题等待你解决,有无数的程 序等待你去编。
3. 国家综合实力的体现(大)
五、算法的学习过程:痛苦并快乐着
1.枯燥的过程
繁&烦:学习一个算法如同做一道数学题,多了呢? ACM ICPC的训练过程:乐于其中
2.智慧的积累
方法的掌握、技术的升华
3.理论的贡献
算法成就或在于理论的贡献,而不仅仅是技术的提高。
如何成就好算法:好思想+好技术
六、好算法
从理论的角度说,好算法应该有较低的时间复杂度(高速 )和空间复杂度(低耗),但好的算法还要依靠好的算 法实现,需要理论与技术、技巧的结合才能最终实现好 的算法。
本课程需要的基础 数据结构 程序设计语言(C/C++):结构化设计 数学基础 操作系统、编译
授课形式: 课堂教学:(√) 课堂讨论:专题、解题报告 上机实践:需要提交实验报告
考核方式: 考试:(√) 综合成绩=卷面成绩*80% + 平时成绩*20% 平时成绩=作业+上机实验+考勤
etc.

算法分析基础ppt课件

算法分析基础ppt课件

精品
14
1. 3 二分搜索及其时间复杂度
• 线性搜索 及其算法分析 • 二分搜索
同数据结构,略。但要求作为例子或问题求解。
2020/6/13
精品
15
比较次数分析
• While中,j次循环时剩余元素数目 Floor(n/2j-1)
• 循环停止条件:找到x,或 当前查找范 围的数组长度为1。
• 最大搜索次数:满足Floor(n/2j-1)=1 时的j 值
2020/6/13
精品
7
1.2 历史背景
20世纪,早期, 30年代 能否用有效的过程来求解问题受到关注
问题分类为:可解、不可解(存在有效过程来求解问题) 计算模型:存在模型,用此模型能建立一求解某问题的算法,--入- -可解的类 模型列举:歌德尔的递归函数,Church的Lamda演算,Post的波斯特机, Turing机。 Church论断:所有4个模型等效。如果一个问题在某一模型上可解,那么 在其他模型上都是可解的。=>“几乎所有”问题都是不可解的。
2.算法的时间复杂性 (1)最坏情况下的时间复杂性
Tmax(n) = max{ T(I) | size(I)=n } (2)最好情况下的时间复杂性
Tmin(n) = min{ T(I) | size(I)=n } (3)平均情况下的时间复杂性
Tavg(n) = p(I)T(I) siz(eI)n
其中I是问题的规模为n的实例,p(I)是实 例I出现的
➢每个领域: 依赖 有效算法设计 ➢运行时间: 由例子到理论 ➢时间是衡量算法有效性的最好测度
➢算法的几个方面:
➢输入 ➢有限指令集 ➢输出 (存在? Y/N)
2020/6/13

精品课件-算法设计与分析PPT课件

精品课件-算法设计与分析PPT课件
19
Bland提出避免循环的一个简单易行的方法。Bland提出在单纯形算法迭代中,按照下面的2个简单规则就可以避免循环。规则1:设 ,取xe为入基变量。规则2:设 取xk为离基变量。算法leave(col)已经按照规则2选取离基变量。选取入基变量的算法enter(objrow) 中只要加一个break语句即可。
4
这个问题的解为 (x1,x2,x3,x4) = (0,3.5,4.5,1);最优值为16。
5
8.1.2 线性规划基本定理
约束条件(8.2)-(8.5)中n个约束以等号满足的可行解称为线性规划问题的基本可行解。若n>m,则基本可行解中至少有n-m个分量为0,也就是说,基本可行解中最多有m个分量非零。线性规划基本定理:如果线性规划问题有最优解,则必有一基本可行最优解。上述定理的重要意义在于,它把一个最优化问题转化为一个组合问题,即在(8.2) -(8.5)式的m+n个约束条件中,确定最优解应满足其中哪n个约束条件的问题。由此可知,只要对各种不同的组合进行测试,并比较每种情况下的目标函数值,直到找到最优解。Dantzig于1948年提出了线性规划问题的单纯形算法。单纯形算法的特点是:1)只对约束条件的若干组合进行测试,测试的每一步都使目标函数的值增加;2)一般经过不大于m或n次迭代就可求得最优解。
16
为了进一步构造标准型约束,还需要引入m个人工变量,记为zi。至此,原问题已经变换为等价的约束标准型线性规划问题。对极小化线性规划问题,只要将目标函数乘以-1即可化为等价的极大化线性规划问题。
17
8.1.5 一般线性规划问题的2阶段单纯形算法
引入人工变量后的线性规划问题与原问题并不等价,除非所有zi都是0 。为了解决这个问题,在求解时必须分2个阶段进行。第一阶段用一个辅助目标函数 替代原来的目标函数。这个线性规划问题称为原线性规划问题所相应的辅助线性规划问题。对辅助线性规划问题用单纯形算法求解。如果原线性规划问题有可行解,则辅助线性规划问题就有最优解,且其最优值为0,即所有zi都为0。在辅助线性规划问题最后的单纯形表中,所有zi均为非基本变量。划掉所有zi相应的列,剩下的就是只含xi和yi的约束标准型线性规划问题了。单纯形算法第一阶段的任务就是构造一个初始基本可行解。单纯形算法第二阶段的目标是求解由第一阶段导出的问题。此时要用原来的目标函数进行求解。如果在辅助线性规划问题最后的单纯形表中, zi不全为0,则原线性规划问题没有可行解,从而原线性规划问题无解。

算法设计与分析概要PPT学习教案

算法设计与分析概要PPT学习教案
第10页/共51页
LC分支限界法
结点代价相关概念
代价函数c(.):表示从根结点搜索到X,以及在X之下搜索到一个答案状态 所需的代价。如下定义
1. 若X是答案结点,则c(X)是由空间树根到结点X的代价; 2. 若X不是答案结点且子树X不包含任何答案结点,则c(X)= ∞; 3. 否则c(X)等于子树X中具有最小代价的答案结点的代价。
第6页/共51页
求4皇后问题第一个解
FIFO分支限界法生成的状态树
1 图8-6
2
3
4
5
6 7 8 9 10 11 12 13 14 15 16 17
18
22
26
30
31
第7页/共51页
参考 图8-3
存在性问题-分枝限界法算法框架
树结点的数据结构
//状态空间树采用树的双亲表示法,parent是指向其双亲的指针
一般地,f(X) = X在树中的层次 一般地,^g(X)根据问题确定
LC检索(即最小成本检索):总是选取^c(.)值最小的活 结点为下一个E结点。
若令f(X)≡ 0 时, LC检索退化为DFS搜索 若令^g(X) ≡ 0时,LC检第1索5页退/共5化1页为BFS搜索
15谜问题
15谜问题 在一个分成16格的方形棋盘上,放有15块编了 号码(1,2,…,15)的牌(见下图)。对这些牌给定一种初始 排列如图(a),要求通过一系列的合法移动将这一初始排 列转换成图(b)所示的那样的目标排列。
设结点X对应的部 分解为(x0,x1,…,xk-1)
设物品按单位收益 由大到小编号,即 p(i)/w(i)≥p(i+1)/w(i +1)
到状态X时,背包 剩余载重cu第24页/共51页

算法设计与分析 ppt

算法设计与分析 ppt
算法设计与分析 >目录
第一章 算法概述 第二章 递归与分治策略 第三章 动态规划 第四章 贪心算法 第五章 回朔法 第六章 分支限界法 第七章 随机化算法
1
算法设计与分析 >第一章 目录
1.1 算法与程序 1.2 算法复杂度分析 1.3 NP完全性理论
2
算法设计与分析>算>法算概法述概述
1.1 算法与程序 1 算法定义及其特性
A


条件成立?
条件成立?


B
A
B
A
C
14
算法设计与分>析算>法算概法述概述
5. 算法分类
从解法上 数值型算法:算法中的基本运算为算术运算. 非数值型算法:算法中的基本运算为逻辑运算.
从处理方式上 串行算法:串行计算机上执行的算法. 并行算法:并行计算机上执行的算法.
本课程主要介绍非数值型的串行算法.
如果存在一个函数 ~T(n)使得当n ,有
(T(n) - ~T(n)) / T(n)0
称 ~T(n)是T(n)当 n 时的渐进性态 或 渐进复杂性
27
算法设计与分>>析算算法>法算复概法杂述概性分述析 >渐进性态
在数学上,T(n)与 ~T(有n)相同的最高阶项.可取 为~T(略n去) T(n)的低阶项后剩余的主项. 例如 T(n)=3n2+4nlogn+7, 则 ~T(n) 可以是3n2 当n充分大时用 ~T(n)代替T(n)作为算法复杂性的度量, 以简化分析 比较两个算法时,如果他们的阶不同,就可分出效率高低 。故此时只需关心 ~T最(n高) 限的阶即可。可忽略最高项系 数或低阶项。
4

C++程序设计课件第九章(清华第三版)

C++程序设计课件第九章(清华第三版)

CScrollBar类的主要成员函数 BOOL GetScrollInfo(LPSCROLLINFO lpScrollInfo, UINT nMask = SIF_ALL); 获取的滚动条的参数信息,该信息为 SCROLLINFO结构体的形式。参数 lpScrollInfo为指向SCROLLINFO结构体变 量的指针。 SCROLLINFO结构体的定义如下:

获取滚动块的当前位置。如果失败则返回0 。
int SetScrollPos(intnPos, BOOL bRedraw = TRUE); 将滚动块移动到指定位置。参数nPos指定了滚动块的新 位置,参数bRedraw表示是否需要重绘滚动条,如果为 TRUE,则重绘。函数返回滚动框原来的位置,若操作失 败则返回0。 void GetScrollRange(LPINT lpMinPos, LPINT lpMax Pos) const; 获取滚动条的滚动范围。参数lpMinPos指向滚动条滚动 范围的最小值,参数lpMaxPos指向滚动条滚动范围的最 大值。
滚动条控件的创建
MFC也为滚动条控件的操作提供了类, 即为CScrollBar类。 滚动条控件的创建依然有两种方式,一种 是直接在Toolbox中将滚动条控件拖入对话 框模板,然后添加控件变量使用,另一种 就是用CScrollBar类的Create成员函数动 态创建。这两种方式适用于不同的场合。
9.3 滚动条控件
滚动条控件简介 滚动条大家也很熟悉了,Windows窗口中很多都有滚动条。 列表框和组合框设置了相应属性后,如果列表项显示不下也 会出现滚动条。滚动条分为水平滚动条 (Horizontal Scroll Bar)和垂直滚动条 (Vertical Scroll Bar)两种。滚动条中有一个滚动块,用 于标识滚动条当前滚动的位置。我们可以拖动滚动块,也可 以用鼠标点击滚动条某一位置使滚动块移动。 从滚动条的创建形式来分,有标准滚动条和滚动条控件两种。 像列表框和组合框设置了WS_HSCROLL 或WS_VSCROLL风格以后 出现的滚动条,不是一个独立的窗口,而是这些窗口的一部 分,这就是标准滚动条。而滚动条控件是一个独立的窗口, 它可以获得焦点,响应某些操作。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


A. Levitin “Introduction to the Design & Analysis of Algorithms,” 3rd ed., Ch. 9 ©2012 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
5
Example
4
c
1
a
6 2
b
3
d
A. Levitin “Introduction to the Design & Analysis of Algorithms,” 3rd ed., Ch. 9 ©2012 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
7
Another greedy algorithm for MST: Kruskal’s

Sort the edges in nondecreasing order of lengths “Grow” tree one edge at a time to produce MST through a series of expanding forests F1, F2, …, Fn-1 On each iteration, add the next edge on the sorted list unless this would create a cycle. (If it would, skip the edge.)
6
Notes about Prim’s algorithm

Proof by induction that this construction actually yields MST Needs priority queue for locating closest fringe vertex



A. Levitin “Introduction to the Design & Analysis of Algorithms,” 3rd ed., Ch. 9 ©2012 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.


A. Levitin “Introduction to the Design & Analysis of Algorithms,” 3rd ed., Ch. 9 ©2012 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
Efficiency • O(n2) for weight matrix representation of graph and array implementation of priority queue • O(m log n) for adjacency list representation of graph with n vertices and m edges and min-heap implementation of priority queue

Approximations: • traveling salesman problem (TSP) • knapsack problem • other combinatorial optimization problems
A. Levitin “Introduction to the Design & Analysis of Algorithms,” 3rd ed., Ch. 9 ©2012 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 2

Example:
6
c
1
a
4 2
b
3
d
4
A. Levitin “Introduction to the Design & Analysis of Algorithms,” 3rd ed., Ch. 9 ©2012 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
Greedy solution is optimal for any amount and “normal’’ set of denominations may not be optimal for arbitrary coin denominations
A. Levitin “Introduction to the Design & Analysis of Algorithms,” 3rd ed., Ch. 9 ©2012 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
9
Notes about Kruskal’s algorithm

Algorithm looks easier than Prim’s but is harder to implement (checking for cycles!) Cycle checking: a cycle is created iff added edge connects vertices in the same connected component Union-find algorithms – see section 9.2
10
Minimum spanning tree vs. Steiner tree
a
1 1
c
1
a
vs b
c
b
1
d
d
A. Levitin “Introduction to the Design & Analysis of Algorithms,” 3rd ed., Ch. 9 ©2012 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.

On each iteration, construct Ti+1 from Ti by adding vertex not in Ti that is closest to those already in Ti (this is a “greedy” step!)
Stop when all vertices are included
8
Example
4
c

a
6 2
b
3
d
A. Levitin “Introduction to the Design & Analysis of Algorithms,” 3rd ed., Ch. 9 ©2012 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
A. Levitin “Introduction to the Design & Analysis of Algorithms,” 3rd ed., Ch. 9 ©2012 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 12
Greedy Technique
Constructs a solution to an optimization problem piece by piece through a sequence of choices that are:

feasible locally optimal


irrevocable
3
Minimum Spanning Tree (MST)

Spanning tree of a connected graph G: a connected acyclic subgraph of G that includes all of G’s vertices Minimum spanning tree of a weighted, connected graph G: a spanning tree of G of minimum total weight
Change-Making Problem
Given unlimited amounts of coins of denominations d1 > … > dm , give change for amount n with the least number of coins Example: d1 = 25c, d2 =10c, d3 = 5c, d4 = 1c and n = 48c Greedy solution:
11
Shortest paths – Dijkstra’s algorithm
Single Source Shortest Paths Problem: Given a weighted connected graph G, find shortest paths from source vertex s to each of the other vertices Dijkstra’s algorithm: Similar to Prim’s MST algorithm, with a different way of computing numerical labels: Among vertices not already in the tree, it finds vertex u with the smallest sum dv + w(v,u) where v is a vertex for which shortest path has been already found on preceding iterations (such vertices form a tree) dv is the length of the shortest path form source to v w(v,u) is the length (weight) of edge from v to u
相关文档
最新文档