- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验7_物联1301班_刘悦_201308080112报告
算法分析与设计实验报告第 7次实验姓名刘悦学号201308080112班级物联1301班时间12.26上午地点工训楼C栋309 实验名称分支限界法实验(单源最短路径)实验目的掌握并运用分支限界法基本思想。运用分支限界法实现单源最短路径问题。实验原理类似于广度优先搜索,即每次搜索到一个结点的时候,就将其子结点全部加入待搜索队列中。此算法采用优先队列,每次出队的为优先级最小的结点,即代价最小的结点先搜索。使用剪枝策略,若此结点前面搜索到的代价比当前代价小,则剪去以此结点为根的子树。实验步骤算法从图G 的源顶点s 和空优先队列开始。结点s 被扩展后,它的儿子结点被依次插入堆中。算法每次从堆中取出具有最小当前路长的结点作为当前扩展结点,并依次检查与当前扩展结点相邻的所有顶点。如果从当前扩展结点i 到j 有边可达,且从源出发,途经i 再到j 的所相应路径长度,小于当前最优路径长度,则将该顶点作为活结点插入到活结点优先队列中。结点扩展过程一直继续到活结点优先队列为空时为止。关键代码/*================================================================= 定义Graph类来存储的信息。******************************************************************* n表示图的顶点数。 prev表示前驱顶点数组,pre[i]表示顶点i的前驱顶点。 c是二维矩阵,用来表示图的邻接矩阵。dist表示最短距离数组,记录从源到各顶点的距离,dist[i]表示源到顶点i的距离。 =================================================================*/templateclass Type class Graph { public: void ShortesPaths(int); int n, //图G的顶点数 *prev; //前驱顶点数组 Type **c, //图G的邻接矩阵,-1表示无边相连,其余为相应边权值 *dist; //最短距离数组 }; /*=================================================================定义MinHeapNode类来存储最小堆中顶点的信息。*******************************************************************i表示图的顶点的编号。 length用来记录从源到这个顶点的距离。 =================================================================*/ templateclass Type class MinHeapNode { friend GraphType; public: operator int ()const{return length;} private: int i; //顶点编号 Type length; //当前路长 }; /*=================================================================ShortesPaths函数为使用优先队列求单源最短路径。从源结点开始,找到其邻接点,若满足控制约束,就更新邻接点的距离值和前驱结点的值同时将邻接点加入到优先队列中。之后重复这个过程直至有点队列为空。约束控制条件是:一个结点的下界小于当前找到的最短路径长度。不满足约束条件的结点,就不继续扩展即剪掉以该结点为根的子树。 =================================================================*/templateclass Type void GraphType::ShortesPaths(int v) { //定义最小堆得容量为1000 MinHeapMinHeapNodeType H(1000); //定义最小堆中的结点E MinHeapNodeType E; //定义源为初始扩展节点 E.i=v; E.length=0; dist[v]=0; //搜索问
您可能关注的文档
- 实践能力模拟试卷三报告.doc
- 实达总体报告报告.ppt
- 实验1PowerDesigner概念模型设计及逻辑结构、物理结构生成报告.doc
- 实训第一部分-综合布线实训项目指导书报告.doc
- 实验1水样中铬的测定报告.doc
- 实验1(基本测量实验)报告.ppt
- 实验2Java基本数据类型及方法控制流程报告.doc
- 实验11屏幕录像专家的使用报告.ppt
- 剖视图和剖面图区别详解2分解.ppt
- 实验2玻璃电极响应斜率和溶液pH的测定报告.ppt
- 内蒙古赤峰冶金化工开发区巴林右旗产业园水土保持方案.docx
- 正定县均成鞋厂年产25万双EVA拖鞋改建项目环境影响报告表.docx
- 家长助考课件.pptx
- 家长培训课件资源公众号.pptx
- 专题11口语交际和综合实践-2025年五升六语文暑假专项提升(统编版)【含答案】.docx
- 专题09古诗文鉴赏-2025年三升四语文暑假专项提升(统编版)【含答案】.docx
- 比亚迪G3维修手册F3尊贵型培训课件.pdf
- 力帆大CVT资料401-SM-09-005(RDC15-FA维修手册V1.0)(第一部分).pdf
- 流形思维-用于可信推荐的动态双曲推理-计算机科学-机器学习-推荐系统.pdf
- HAPI-一种从人类偏好学习机器人面部表情的模型-计算机科学-人工智能-类人机器人.pdf
文档评论(0)