算法分析第六章答案优秀PPT.ppt





《算法分析第六章答案优秀PPT.ppt》由会员分享,可在线阅读,更多相关《算法分析第六章答案优秀PPT.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 1计算机算法分析计算机算法分析习题课习题课第六章1,2,3,4,5,6,7,8,12,13,15,172 2动态规划动态规划1.多阶段过程2.满足最优性原理3.建立递推关系式3 3P151-1n n递推关系式递推关系式(6.8)对右图成立吗?为什对右图成立吗?为什么?么?n n递推关系式递推关系式(6.8)为什么对于含有负长为什么对于含有负长度环的图不能成立?度环的图不能成立?12345674536-429314 4n nAk(i,j)=minAk-1(i,j),Ak-1(i,k)+Ak-1(k,j),k 1成立,不包含负长度环成立,不包含负长度环.P130可以使结点间的长度任意小。可以使
2、结点间的长度任意小。P151-15 5P151-2 n n修改过程修改过程ALL_PATHS,使其输出每对,使其输出每对结点(结点(i,j)间的最短路径,这个新算法)间的最短路径,这个新算法的时间和空间复杂度是多少?的时间和空间复杂度是多少?n n回忆算法:回忆算法:P131 算法算法6.3P127 算法算法6.1 6 6P131 算法算法6.3n n对矩阵进行初始化,每个元素赋值为边的成本对矩阵进行初始化,每个元素赋值为边的成本(15行行)n n迭代计算最短路径长度迭代计算最短路径长度(612行行)n nAk(i,j)=minAk-1(i,j),Ak-1(i,k)+Ak-1(k,j),k 1
3、7 7P127 算法算法6.1n nD(i,j)/D(j):D(i,j)/D(j):从节点从节点从节点从节点j j到汇点到汇点到汇点到汇点t t的最优路径中下一个的最优路径中下一个的最优路径中下一个的最优路径中下一个节点,即最优路径中节点,即最优路径中节点,即最优路径中节点,即最优路径中j j的后继节点。的后继节点。的后继节点。的后继节点。n n算法算法算法算法6.16.1在计算在计算在计算在计算COST(j)COST(j)的同时也记录了的同时也记录了的同时也记录了的同时也记录了D(j)D(j)3 37 7行行行行n n计算出计算出计算出计算出D(j)D(j)之后,即可计算最短路径。之后,即可
4、计算最短路径。之后,即可计算最短路径。之后,即可计算最短路径。9 91111行行行行n n仿照仿照仿照仿照6.1,6.1,用用用用Path(i,j)Path(i,j)表示从表示从表示从表示从i i到到到到j j的最短路径时的最短路径时的最短路径时的最短路径时i i的的的的后继结点。后继结点。后继结点。后继结点。8 8Procedure ShortestPath(COST,n,A,Max)Procedure ShortestPath(COST,n,A,Max)integer i,j,k integer i,j,k real COST(n,n),A(n,n),Path(n,n),Maxreal C
5、OST(n,n),A(n,n),Path(n,n),Maxfor i1 to n do/for i1 to n do/初始化最初始化最初始化最初始化最优优优优路径矩路径矩路径矩路径矩阵阵阵阵for j1 to n do for j1 to n do A(i,j)COST(i,j)A(i,j)COST(i,j)if ij and A(i,j)Max thenif ij and A(i,j)Max thenPath(i,j)jPath(i,j)jelseelsePath(i,j)0Path(i,j)0endifendif repeatrepeatrepeatrepeat9 9for k1 to n
6、 do/迭代迭代计计算算for i1 to n do for j1 to n do if A(i,j)A(i,k)+A(k,j)thenA(i,j)A(i,k)+A(k,j)Path(i,j)Path(i,k)endifrepeatrepeatrepeat1010for i1 to n do/for i1 to n do/输输输输出最出最出最出最优优优优路径路径路径路径for j1 to n dofor j1 to n doprint(print(“the path of i to j is the path of i to j is”i)i)kpath(i,j)kpath(i,j)while
7、 k0 dowhile k0 doprint(k)print(k)kpath(k,j)kpath(k,j)repeatrepeatrepeatrepeatrepeatrepeatend ShortestPath1111复杂度分析复杂度分析n n时间复杂度时间复杂度第一个循环:第一个循环:O(n2)第二个循环:第二个循环:O(n3)第三个循环:第三个循环:O(n3)n n空间复杂度空间复杂度Cost(n,n)A(n,n)Path(n,n)O(n2)1212P151-3n n对对于于标识标识符集符集(a1,a2,a3,a4)=(end,goto,print,stop),已知成功,已知成功检检索概率
8、索概率为为P(1)=1/20,P(2)=1/5,P(3)=1/10,P(4)=1/20,不成功,不成功检检索索概率概率为为Q(0)=1/5,Q(1)=1/10,Q(2)=1/5,Q(3)=1/20,Q(4)=1/20,用算法,用算法OBST对对其其计计算算W(i,j),R(i,j)和和C(i,j)(0i,j4)。1313递推关系式:递推关系式:n nW(i,j)=Q(i)i=jW(i,j-1)+P(j)+Q(j)ij n nC(i,j)=0 i=j W(i,j)+minC(i,k-1)+C(k,j)ij k在在R(i,j-1)和和R(i+1,j)中,使中,使C(i,k-1)+C(k,j)取最小
9、值。取最小值。n nR(i,j)=k1414P136 算法算法6.5n nP(i)P(1)=1/20,P(2)=1/5,P(3)=1/10,P(4)=1/20n nQ(i)Q(0)=1/5,Q(1)=1/10,Q(2)=1/5,Q(3)=1/20,Q(4)=1/20化化简为简为整数形式整数形式n nP(i)P(1)=1,P(2)=4,P(3)=2,P(4)=1n nQ(i)Q(0)=4,Q(1)=2,Q(2)=4,Q(3)=1,Q(4)=11515WRC44+2+1=77+4+4=1515+2+1=1818+1+1=20012220722 32 3922+4+4=1010+2+1=1313+1
10、+1=150222010 20 2744+1+2=77+1+1=9033071211+1+1=30403100ijj-i=0;j-i=1;j-i=2;j-i=3;j-i=4n nP(1)=1,P(2)=4,P(3)=2,P(4)=1P(1)=1,P(2)=4,P(3)=2,P(4)=1n nQ(0)=4,Q(1)=2,Q(2)=4,Q(3)=1,Q(4)=1Q(0)=4,Q(1)=2,Q(2)=4,Q(3)=1,Q(4)=11616P151-4n n证明算法证明算法OBST的计算时间是的计算时间是O(n2)。n n在已知根在已知根R(i,j),0 i 1,求使,求使|w(m,k-1)-w(k,
11、n)|值值最小的最小的k值,不妨设是值,不妨设是r,其中,其中k=m+1,n,rmn=r。令令令令m=mm=m,n=r-1n=r-1,重复上述过程。,重复上述过程。,重复上述过程。,重复上述过程。令令令令m=rm=r,n=nn=n,重复上述过程。,重复上述过程。,重复上述过程。,重复上述过程。2626Procedure CreateTree(m,n,root,w)Procedure CreateTree(m,n,root,w)integer r,k,root(n,n),w(n,n)integer r,k,root(n,n),w(n,n)real ww,min+real ww,min+if m=
12、n then if m=n then root(m,n)0root(m,n)0else if m=n-1 then else if m=n-1 then root(m,n)nroot(m,n)n else else for km+1 to n do for km+1 to n do ww|w(m,k-1)-w(k,n)|ww|w(m,k-1)-w(k,n)|if ww min then minww,rk endif if ww0,重复下列操作:,重复下列操作:在在在在F(i)F(i)和和和和F(i+1)F(i+1)之间使用二分检索法查找之间使用二分检索法查找之间使用二分检索法查找之间使用二分检
13、索法查找(P,W)(P,W)。若存在,若存在,若存在,若存在,X Xi+1i+1=0;=0;否则,否则,否则,否则,(P,W)=(P-P(P,W)=(P-Pi+1i+1,W-W,W-Wi+1i+1),X Xi+1i+1=1=1。i ii-1i-13131Procedure PARTS(n,F,M,P,W,p,w)Procedure PARTS(n,F,M,P,W,p,w)/*p(n)/*p(n)和和和和w(n)w(n)是存放原数据的,是存放原数据的,是存放原数据的,是存放原数据的,P(m)P(m)和和和和W(m)W(m)是存放是存放是存放是存放S S的,的,的,的,F(n)F(n)是存放指针的
14、,是存放指针的,是存放指针的,是存放指针的,x(n)x(n)是存放元素取舍结果的是存放元素取舍结果的是存放元素取舍结果的是存放元素取舍结果的*/integer n,k,i,j,F(0:n),x(n)integer n,k,i,j,F(0:n),x(n)real P(m),W(m),pp,ww,p(n),w(n)real P(m),W(m),pp,ww,p(n),w(n)3232/*/*确定:确定:确定:确定:x(n)x(n)、最优解所对应的序偶、最优解所对应的序偶、最优解所对应的序偶、最优解所对应的序偶(pp,ww)(pp,ww),其所在位置其所在位置其所在位置其所在位置j j,j j在在在在
15、F(n-1)F(n-1)和和和和F(n)F(n)之间之间之间之间*/kF(n)-1 kF(n)-1 ww W(k)ww W(k)pp P(k)pp P(k)jk jk /k/k为为为为S Sn-1n-1的最末位置的最末位置的最末位置的最末位置 while W(j)+w(n)M and j=F(n-1)do while W(j)+w(n)M and j=F(n-1)do jj-1jj-1 repeat repeat /找找找找S Sn n的最末位置的最末位置的最末位置的最末位置j jif(pp=F(n-1)if(pp=F(n-1)then x(n)1,pp P(j),ww W(j)then x(
16、n)1,pp P(j),ww W(j)else x(n)0 else x(n)0 endif endif 3333 /*/*使用二分检索法在使用二分检索法在使用二分检索法在使用二分检索法在WW上上上上F(i)F(i)和和和和F(i+1)F(i+1)范围范围范围范围 之间查找之间查找之间查找之间查找wwww,确定确定确定确定x(i+1)*/x(i+1)*/for i n-2 to 0 by-1 do n-2 to 0 by-1 do BINSRCH(W,ww,F(i),F(i+1)-1,j)BINSRCH(W,ww,F(i),F(i+1)-1,j)if(j=0)if(j=0)then x(i+1
17、)1,pppp-p(i+1),wwww-w(i+1)then x(i+1)1,pppp-p(i+1),wwww-w(i+1)else x(i+1)0 else x(i+1)0 endif endif repeat repeatendPARTSendPARTS3434P151-8n给出一个使得给出一个使得DKNAP(算法算法6.7 P141)出现出现最坏情况的例子,它使得最坏情况的例子,它使得|Si|=2i,0i0:fi(X)=max fi 1(X),fi 1(X wi)+pi (6.14)3838P151-12(1)(1)对这个问题,推导出相应于式对这个问题,推导出相应于式对这个问题,推导出相
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 分析 第六 答案 优秀 PPT

限制150内