算法考前复习重点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法复习提纲
程序填空题:
简答题:
算法分析题:
算法设计题
贪心算法中每次做出的贪心选择都是当前最优的选择
=()2
3n O
n n
+-=()
21111O
动态规划求最短路径问题,旅行商问题。只考递归实现。
在算法分析中,什么是P类问题,什么是NP类问题,并举出一个NP类问题示例贪心法求单源最短路径问题(DIjkstra法)
回溯法求图的m着色问题并用递归树分析其复杂度(老师画过多次)。
递归树见算法导论第四章。重点。
理解回溯法中递归回溯与迭代回溯的一般形式
//用分支定界法求单源最短路径问题,剪枝函数的设计。
画出TSP问题(4个城市)的分支定界法求解过程。剪枝函数的设计,按最后一次课老师讲的画,书上有错,优先级的定义同单源最短路径问题优先级的定义类似。
分支定界法求解,画下图单源最短路径问题的解空间树(U为源点)
回溯法与分支定界法的根本区别是搜索方式的不同BFS 和DFS
复习建议:好好理解上述问题的求解思想并调试代码学习。
TSP 动态规划法:
假设从顶点i 出发,令)',(V i d 表示从顶点i 出发经过V ’中各个顶点一次且仅一次,,最后回到出发点i 的最短路径的长度,开始时,V ’=V-{i},于是,旅行商问题的动态规划函数为:
)
({}),()
'})}({',(min{)',(i k c k d V k k V k d c V i d ki ik ≠=∈-+= )
2()1( 下面举个实例说明算法的执行过程。
下图是无向带权图的邻接矩阵表示法: ⎢⎢⎢⎢⎣⎡∞=763C 323∞ 226∞ ⎥⎥⎥⎥⎦
⎤∞237
⎪⎪⎩
⎪⎪⎨⎧≠∞===≠+=≤≤无后继且有后继且v t v , 0start ,v v , 01,v t v , )}cost(v ] v {c[v,min cost(v)s i i m i 1start
在上图所示的带权图中,从城市0出发,经城市1,2,3然后回到城市0的最短路径长度为:})}2,1{,3(}),3,1{,2(}),3,2{,1(min{})3,2,1{,0(030201d c d c d c d +++=
这是最后一个阶段的决策,它必须知道})3,1{,3(}),3,1{,2(}),3,2{,1(d d d 的计算结果,而:})}2{,3(}),3{,2(min{})3,2{,1(1312d c d c d ++=
})}1{,3(}),3{,1(min{})3,1{,2(2321d c d c d ++=
})}1{,2(}),2{,1(min{})2,1{,3(3231d c d c d ++=
这一阶段的决策又依赖于下面的计算结果:
{}),2(})2{,3({}),,3(})3{,2({}),,2(})2{,1(322312d c d d c d d c d +=+=+= {}),1(})1{,3({}),,1(})1{,2({}),,3(})3{,1(312113d c d d c d d c d +=+=+= 而下面的就可以直接获得(括号中是该策略引起的路径):
)03(7{}),3(),02(6{}),2(),01(3})0{,1(302010>-==>-==>-==c d c d c d 向前推导,可以得到:
)23(862{}),2(})2{,3()
13(633{}),1(})1{,3()
12(532{}),1(})1{,2()
32(972{}),3(})3{,2()
31(1073{}),3(})3{,1()
21(862{}),2(})2{,1(323121231312>-=+=+=>-=+=+=>-=+=+=>-=+=+=>-=+=+=>-=+=+=d c d d c d d c d d c d d c d d c d
再向前推导有:
)
23(7}7,11min{})}1{,2(}),2{,1(min{})2,1{,3()32(8}8,12min{})}1{,3(}),3{,1(min{})3,1{,2()
21(11}11,11min{})}2{,3(}),3{,2(min{})3,2{,1(323123211312>-==++=>-==++=>-==++=d c d c d d c d c d d c d c d
最后有:
})}2,1{,3(}),3,1{,2(}),3,2{,1(min(})3,2,1{,0(030201d c d c d c d +++=
)302010(14}14,14,14min{}77,86,113min{>->->-==+++=or or 所以,从顶点0出发的旅行商问题的最短路径长度为14,其中一条路径为01320>->->->-。