数据结构最短路径.docxVIP

  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文档。上传文档
查看更多
图的最短路径 一、 实验目的 使学生熟悉最短路径的算法实现 二、 掌握带权图的存储结构和处理方法 硬件:每个学生需配备计算机一台。操作系统:DOS或Windows 软件:DOS或 Windows操作系统+Turbo C; 三、 实验要求 1.能够独立完成带权图的存储和最短路径的生成 四、 实验内容 现在假设我国铁路交通图如下(权值表示距离),请用合适的存储结构将下图存储到计算机中方便进行处 理。 现在我想以最小的代价从徐州出发到达其他目的地,请用Dijkstra算法实现我的要求的路径。 #include stdio.h #include malloc.h” typedef struct (int *vexs; int **arcs; int vexnum; }graph_hc; typedef struct (int adjvex; int lowcost; }markedg_hc; graph_hc *initgraph_hc() (int i,j;graph_hc*g; g=(graph_hc*)malloc(sizeof(graph_hc)); g-vexnum=25; g-vexs=(int*)malloc(g-vexnum*sizeof(int)); g-arcs=(int**)malloc(g-vexnum*sizeof(int*)); for(i=0;ig-vexnum;i++) g-arcs[i]=(int*)malloc(g-vexnum*sizeof(int)); for(i=0;ig-vexnum;i++) for(j=0;jg-vexnum;j++) (g-arcs[i][j]=0;} return g;} void creategraph_hc(graph_hc *g) (int i,j; for(i=0;ig-vexnum;i++)g-vexs[i] =i; g-arcs[0][9]=1892; g-arcs[1][3]=242; g-arcs[2][4]=668; g-arcs[2][9]=1145; g-arcs[3][5]=305; g-arcs[4][6]=137; g-arcs[4][11]=695; g-arcs[5][6] =704; g-arcs[5][7]=397; g-arcs[6][12]=674; g-arcs[8][9]=216; g-arcs[9][10]=676; g-arcs[10][11]=511;g-arcs[10][13]=842; g-arcs[11][12]=349;g-arcs[11][14]=534; g-arcs[12][15]=651;g-arcs[13][16]=110; g-arcs[13][17] =967;g-arcs[14][18] =409; g-arcs[15][19]=825;g-arcs[16][17]=639; g-arcs[17][18]=902;g-arcs[17][21]=607; g-arcs[18][19] =367;g-arcs[18][21]=672; g-arcs[18][23]=675;g-arcs[19][20] =622; g-arcs[21][22] =255;g-arcs[23][24]=140; for(i=0;ig-vexnum;i++) for(j=i;jg-vexnum;j++) if(g-arcs[i][j]) g-arcs[j][i] =g-arcs[i][j];} void printgraph_hc(graph_hc*g) {int x,y; printf(\n城市间连通图为:\n); for(x=0;xg-vexnum;x++) for(y=x;yg-vexnum;y++) if(g-arcs[x][y])printf((%d,%d)距离:%d\t”,x,y,g-arcs[x][y]);} int selectnearvex_hc(markedg_hc*mark,int *flag,int num) {int j; int nearestv; int lowcost=32767; for(j=0;j num;j ++) {if(flag[j] !=1mark[j] .lowcostlowcost) {nearestv=j; lowcost=mark[j].lowcost;}} flag[nearestv]=1; return nearestv;} void markothervex_hc(graph_hc*g,markedg_hc*mark,int nearestvjnt num,int*flag) {int j; for(j=0;j num;j ++) {if(g-arcs[neare

文档评论(0)

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

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

1亿VIP精品文档

相关文档