欢迎来到天天文库
浏览记录
ID:9532864
大小:89.00 KB
页数:9页
时间:2018-05-03
《dijkstra算法求最短路径》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Dijkstra算法求最短路径(C#版)行如下图的路径,(V0是中心):经过该算法后转化为下图usingSystem;usingSystem.Collections;usingSystem.Text;namespaceGreedy{ classMarx { privateint[]distance; privateintrow; privateArrayListways=newArrayList(); publicMarx(intn,paramsint[]d) { this
2、.row=n; distance=newint[row*row]; for(inti=0;i3、 w.Add(j); ways.Add(w); } } //------------------------------ publicvoidFind_way() { ArrayListS=newArrayList(1); ArrayListSr=newArrayList(1); int[]Indexof_distance=newint[this.row]; 4、 for(inti=0;i5、; //存放中心点到每个点的距离 //---------------以上已经初始化了,S和Sr(里边放的都是点的编号)------------------ intCount=this.row-1; while(Count>0) { //假定中心点的编号是0的贪吃法求路径 for(inti=0;i6、tmin_num=(int)Sr[0]; //距中心点的最小距离点编号 foreach(intsinSr) { if(D[s]7、------- ((ArrayList)ways[min_num]).Add(min_num); //----------------------------------------------- foreach(intelementinSr) { intposition=element*(this.row)+min_num;
3、 w.Add(j); ways.Add(w); } } //------------------------------ publicvoidFind_way() { ArrayListS=newArrayList(1); ArrayListSr=newArrayList(1); int[]Indexof_distance=newint[this.row];
4、 for(inti=0;i5、; //存放中心点到每个点的距离 //---------------以上已经初始化了,S和Sr(里边放的都是点的编号)------------------ intCount=this.row-1; while(Count>0) { //假定中心点的编号是0的贪吃法求路径 for(inti=0;i6、tmin_num=(int)Sr[0]; //距中心点的最小距离点编号 foreach(intsinSr) { if(D[s]7、------- ((ArrayList)ways[min_num]).Add(min_num); //----------------------------------------------- foreach(intelementinSr) { intposition=element*(this.row)+min_num;
5、; //存放中心点到每个点的距离 //---------------以上已经初始化了,S和Sr(里边放的都是点的编号)------------------ intCount=this.row-1; while(Count>0) { //假定中心点的编号是0的贪吃法求路径 for(inti=0;i6、tmin_num=(int)Sr[0]; //距中心点的最小距离点编号 foreach(intsinSr) { if(D[s]7、------- ((ArrayList)ways[min_num]).Add(min_num); //----------------------------------------------- foreach(intelementinSr) { intposition=element*(this.row)+min_num;
6、tmin_num=(int)Sr[0]; //距中心点的最小距离点编号 foreach(intsinSr) { if(D[s]7、------- ((ArrayList)ways[min_num]).Add(min_num); //----------------------------------------------- foreach(intelementinSr) { intposition=element*(this.row)+min_num;
7、------- ((ArrayList)ways[min_num]).Add(min_num); //----------------------------------------------- foreach(intelementinSr) { intposition=element*(this.row)+min_num;
此文档下载收益归作者所有