




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档实验七、Link States Algorithm的实现序号: 姓名: 学号: 2016 成绩 1实验目的:通过编程模拟实现LSA.2实验环境:VS.net软件开发平台,可以使用任何编程语言。3实验要求(1)求网络中任何两个结点之间的最短路径(网络中至少有4个节点)。(2)得到任何一个节点上的转发表。4.实验内容、拓扑结构ABDCE232111F2535通过链路状态算法计算A点到其它各点的cost,最终输出A的路由表。算法提示:Initialization: 2 N = u /*u is source node*/3 for all nodes j /* j is dest node*/4 if j adjacent to u 5 then D(j) = c(u,j) 6 else D(j) = 7 8 Loop 9 find i not in N such that D(i) is a minimum 10 add i to N 11 update D(j) for all j adjacent to i and not in N : 12 D(j) = min( D(j), D(i) + c(i,j) ) 13 /* new cost to j is either old cost to j or known 14 shortest path cost to i plus cost from i to j */ 15 until all nodes in N 4实验分析,回答下列问题(1)给出LSA算法的主要思想。LSA算法即链路状态选路算法,该算法中,网络拓扑和所有的链路费用都是已知的。它的具体实现依据Dijkstra算法,其主要思想是计算从某节点(源节点,u)到网络中所有其他节点的最短路径。其算法是迭代算法,即经算法的第k次迭代后,可知道到k个目的节点的最低费用路径,在在到所有目的节点的最低费用路径之中,这k条路径具有k个最低费用。(2)通过图表算出任何两个节点之间的最短路径,并给出每个节点上的转发表。截图:转发表:A:目的地链路最低费用BA-B2CA-D-E-C3DA-D1EA-D-E2FA-D-E-F4B:目的地链路最低费用AB-A2CB-C3DB-D2EB-D-E3FB-D-E-F5C:目的地链路最低费用AC-E-D-A3BC-B3DC-E-D2EC-E1FC-E-F3D:目的地链路最低费用AD-A1BD-B2CD-E-C2ED-E1FD-E-F3E:目的地链路最低费用AE-D-A2BE-D-B3CE-C1DE-D1FE-F2F:目的地链路最低费用AF-E-D-A4BF-E-D-B5CF-E-C3DF-E-D3EF-E2源代码:#include#includeusing namespace std;const int MAX=1000;const int OK=1;const int FALSE=0;const int TRUE=1;void createGraph(int *arcs,int &num)cout请依次输入各点的各条路径的cost:endl(如果拓扑图中的顶点没有直接相连,则输入1000)endl;cout-endl;for (int i=0;inum;i+)arcsi=new int num;for(int j=0;jarcsij;void initRoute(int * R ,int RL,int vNum)for(int i=0;ivNum;i+)RLi=MAX;Ri=new intvNum;for(int j=0;jvNum;j+)Rij=-1;void updateRoute(int R1, int R2,int dest,int num)for(int i=0;inum;i+)R1i=R2i;for(int j=0;jnum;j+)if (R1j=-1)R1j=dest;break;void Dijkstra(int * arcs,int * R,int RL,int vexnum)char temp;int v0;bool * visit=new bool vexnum;couttemp;v0=(int)temp-65; /A的ASCII码是65cout=vexnum)cout输入错误,请重新输入v0;elsefor(int cnt=0;cntvexnum;cnt+)visitcnt=FALSE; /visit临时存储已经求得的最短路径RLcnt=arcsv0cnt;if(RLcntMAX)Rcnt0=v0;Rcnt1=cnt;RLv0=0;visitv0=TRUE;for(int i=1;ivexnum;i+)int min=MAX;int v=v0;for(int j=0;jvexnum;j+)if(!visitj)if(RLjmin)v=j;min=RLj;visitv=TRUE;for(int k=0;kvexnum;k+)if(!visitk&(min+arcsvkRLk)RLk=min+arcsvk;updateRoute(Rk,Rv,k,vexnum); visit=NULL;void printRoute(int * R,int RL, int vNum)int q=0;for(int dest=0;destvNum;dest+)if(RLdest!=0)printf(目标节点 :%c n,dest+65);if (Rdest0=-1)cout最短路径不存在!endl;continue;elsecout最低费用路径是:endl;for(int j=0;jvNum;j+)if(Rdestj!=-1)printf(%c,Rdestj+65);cout);elsebreak;cout最低费用:RLdestendl; cout*endl;int main()int vNum;coutvNum;while(vNum0)coutvNum;cout-endl;cout你输入的vNum个节点将按0-vNum-1顺序组成的邻接矩阵存储权值endl;int * weight=new int * vNum;int * shortestRoute=new int * vNum;int * routeLen=new int vNum;createGraph(weight,vNum);cout-endl;char isExit=y;doinitRoute(shortestRoute,routeLen,vNum);Dijkstra(weight,shortestRoute ,routeLen,vNum);printRoute(short
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上海高考英语试卷及答案
- 闺蜜测试题试卷及答案
- 2025年心理健康科普知识竞赛考试必考题库附答案
- 2025年执业药师通关题库附完整答案详解【历年真题】
- 2025年武汉中考数学试卷及答案
- 2025年智能交通:语音识别降噪技术创新应用报告
- 三聚氰胺装置操作工转正考核试卷及答案
- 2025年智能电网周界入侵检测技术创新应用
- 在线学习服务师转正考核试卷及答案
- 2025年智能电网微电网能量管理技术创新在智能电网智能电网互动中的应用
- 室内装饰装修施工工艺标准规范及管理流程
- 颞下颌关节功能紊乱综合征的诊治
- 七年级上册英语单词形象记忆法
- 小学生科普知识蜜蜂介绍PPT
- GB/T 24346-2009纺织品防霉性能的评价
- FZ/T 12045-2014喷气涡流纺粘胶纤维色纺纱
- 船舶电气知识培训课件
- 苏轼生平课件
- 矿山爆破安全技术课件
- 中国文化概论-第6章-中国语言文字分解课件
- 水文学考试复习题和答案
评论
0/150
提交评论