第十三章动态程序设计规划方法.docVIP

  • 2
  • 0
  • 约2.57万字
  • 约 19页
  • 2017-05-27 发布于贵州
  • 举报
第十三章动态程序设计规划方法

第十三章动态程序设计方法 §13.1 问题的引出 在近几年的联赛中,动态程序设计方法作为一种解题工具,其应用范围愈来愈广,愈来愈受到选手的重视。为什么要学习动态程序设计方法?这个解题方法与其它算法究竟有什么区别?它有什么应用价值?我们先通过一个具体实例来回答这些问题。 【例题13.1】最短路径问题 下图给出了一个地图,地图中每个顶点代表一个城市,两个城市间的连线代表道路,连线上的数值代表道路长度。 现在,我们想从城市a到达城市E。怎样走才能使得路径最短,最短路径的长度是多少?设 DiS[x]为城市x到城市E的最短路径长度(x表示任意一个城市); map[i,ji,j两个城市间的距离,若map[i,j]=0,则两个城市不通; 我们可以使用回溯法来计算DiS[x]: var S:末访问的城市集合; function search(who):integer; {求城市who与城市E的最短距离} begin if Who=E Then Search←0 Else begin min←maxint; for i取遍所有城市Do if(map[Who,i]>0)and(iS) then begin S←S-[i]; {城市i已访问} j←map[Who,

文档评论(0)

1亿VIP精品文档

相关文档