实验四 分支限界法实现单源最短路径.docVIP

实验四 分支限界法实现单源最短路径.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四 分支限界法实现单源最短路径

实验四 分支限界法实现单源最短路径 09电信实验班 徐振飞 实验名称 实现书本P194页所描述的单源最短路径问题 实验目的 掌握并运用分支限界法基本思想 运用分支限界法实现单源最短路径问题 区分分支限界算法与回溯算法的区别,加深对分支限界法理解 实验内容和原理 (1)实验原理 解单源最短路径问题的优先队列式分支限界法用一极小堆(本次实验我采用java.util包中的优先队列类PriorityQueue来实现)来存储活结点表。其优先级是结点所对应的当前路长。算法从图G的源顶点s和空优先队列开始。结点s被扩展后,它的儿子结点被依次插入堆中。此后,算法从堆中取出具有最小当前路长的结点作为当前扩展结点,并依次检查与当前扩展结点相邻的所有顶点。如果从当前扩展结点i到顶点j有边可达,且从源出发,途经顶点i再到顶点j的所相应的路径的长度小于当前最优路径长度,则将该顶点作为活结点插入到活结点优先队列中。这个结点的扩展过程一直继续到活结点优先队列为空时为止。 实验内容 测试用例: 源程序 import java.util.*; public class ShortestPath { private int n; private double matrix[][] = null; private double minpath[]; public ShortestPath(int n) { this.n = n; matrix = new double[n+1][n+1]; minpath = new double[n+1]; for(int i=1;i=n;i++) { minpath[i] = Double.MAX_VALUE; } //初始化图 getGraphMatrix(); } public void getGraphMatrix() { //初始化为不能连通 for(int i=1;i=n;i++) { for(int j=1;j=n;j++) { matrix[i][j] = Double.MAX_VALUE; } } System.out.println(请输入边总数:); Scanner scan = new Scanner(System.in); int m = scan.nextInt(); System.out.println(依次输入两个顶点号(1~+n+)和边长:例如 1 2 3); for(int i=0;im;i++) { int a,b; double d; a = scan.nextInt(); b = scan.nextInt(); d = scan.nextDouble(); if(a1 || b1) { i--; System.out.println(顶点号不能小于1); continue; } if(an||bn) { i--; System.out.println(顶点号不能大于+n); continue; } matrix[a][b] = d; } } /** *@param 求以第i个节点为起点的单源最短路径 */ public void shortpath(int i) { minpath[i] = 0; double curlen = 0;

文档评论(0)

zilaiye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档