欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    云南大学软件学院计算机网络原理实验七.doc

    • 资源ID:30670477       资源大小:349.04KB        全文页数:10页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    云南大学软件学院计算机网络原理实验七.doc

    实验七、Link States Algorithm的实现序号: : 学号: 2021 成绩 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<iostream>#include<stdio.h>using 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;i<num;i+)arcsi=new int num;for(int j=0;j<num;j+)cin>>arcsij;void initRoute(int * R ,int RL,int vNum)for(int i=0;i<vNum;i+)RLi=MAX;Ri=new intvNum;for(int j=0;j<vNum;j+)Rij=-1;void updateRoute(int R1, int R2,int dest,int num)for(int i=0;i<num;i+)R1i=R2i;for(int j=0;j<num;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;cout<<"请输入起始节点:"cin>>temp;v0=(int)temp-65; /A的ASCII码是65cout<<endl;if(v0>=vexnum)cout<<"输入错误,请重新输入"<<endl;cin>>v0;elsefor(int cnt=0;cnt<vexnum;cnt+)visitcnt=FALSE; /visit临时存储已经求得的最短路径RLcnt=arcsv0cnt;if(RLcnt<MAX)Rcnt0=v0;Rcnt1=cnt;RLv0=0;visitv0=TRUE;for(int i=1;i<vexnum;i+)int min=MAX;int v=v0;for(int j=0;j<vexnum;j+)if(!visitj)if(RLj<min)v=j;min=RLj;visitv=TRUE;for(int k=0;k<vexnum;k+)if(!visitk&&(min+arcsvk<RLk)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;dest<vNum;dest+)if(RLdest!=0)printf("目标节点 :%c n",dest+65);if (Rdest0=-1)cout<<"最短路径不存在!"<<endl;continue;elsecout<<"最低费用路径是:"<<endl;for(int j=0;j<vNum;j+)if(Rdestj!=-1)printf("%c",Rdestj+65);cout<<(Rdestj=dest?"n":"->");elsebreak;cout<<"最低费用:"<<RLdest<<endl; cout<<"*"<<endl;int main()int vNum;cout<<"请输入节点个数:"cin>>vNum;while(vNum<0)cout<<"输入个数错误!请重新输入:"cin>>vNum;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(shortestRoute,routeLen,vNum);cout<<"是否继续: y:是 n:否 "cin>>isExit;cout<<endl;if(isExit='n')break;while(isExit='y');return OK;

    注意事项

    本文(云南大学软件学院计算机网络原理实验七.doc)为本站会员(可****阿)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开