#include

using namespace std;

const int INFINITY=23678;

const int M=3;

/*typedef struct G

{

int ver[M];

int arc[M][M];

int vernum,arcnum;

}G;*/

void path_(int n,int g[][M],int v)//为了简化过程,专注算法本质,将图的数据结构直接用数组加定点数来代替

{

int dist[M],path[M],visit[M];

int k;//k用来保存每次选出的最小的路径的顶点的下标

for(int i=0;i

{

dist[i]=g[v][i];

if(dist[i]==INFINITY)

{

path[i]=0;

}

else

{

path[i]=v;

}

visit[i]=false;//刚开始所有的顶点都未加入G中

}

visit[v]=true;

for(int t=1;t

{

int min=INFINITY;

for(int i=0;i

{

if(!visit[i]&&dist[i]

{

min=dist[i];

k=i;

}

}

if(min==INFINITY)

return;

visit[k]=true;//将顶点k加入已确定从v到i的最短路径的集合G中

for(int i=0;i

//所以必须将所有的(注意是所有的,这点类似图的DFS算法)顶点的最短路径进行修改

{

if(!visit[i]&&dist[k]+g[k][i]

{

dist[i]=dist[k]+g[k][i];

path[i]=k;//注意此时不要忘了,一旦修正则需将该中转点加入到该顶点的路径中

}

}

}

for(int i=0;i

{

if(dist[i]==INFINITY)

{

cout<

}

else

{

int pre=i;

do{

printf("%d

pre=path[pre];//注意这种技巧,类似链表,一环扣一环

}while(pre!=v);

printf("%d",v);

printf("\n");

}

}

}

void main()

{

int vernum=3;

int g[M][M]={{0,4,INFINITY},{12,0,5},{6,INFINITY,0}};

path_(vernum,g,2);//求每个顶点到顶点2的最短路径。

}

迪杰斯特拉算法求经纬度坐标的最短路径_【图的最短路径】迪杰斯特拉算法求图的最短路径...相关推荐

  1. 迪杰斯特拉算法求经纬度坐标的最短路径_Postgresql构建经纬度查询两点之间的最短路径...

    前言 前段时间遇到了实际的需求,在特定的路网中查询最短路径.同时配合 Cesium 进行动态显示. 需求 动态查询两点之间的最短路径(起点固定): 查询的路径高亮显示: Cesium 对生成的路径进行 ...

  2. kcf算法中cos_window是什么意思_知网/维普查重系统算法介绍(史上最详细)

    很多同学在降重的过程中经常是面对一大片标红的文字不知所措,无从下手,甚至修改了两三遍了重复率依然还是没有变,更过分的是有的居然不降反升,这就尴尬了.那么这就要求大家对各个查重系统的规则和算法有一定的了 ...

  3. catia二维图坐标如何表示_【二次开发】CATIA二维图一键标注投影点信息

    原标题:[二次开发]CATIA二维图一键标注投影点信息 CATIA软件不仅可以用来建立三维模型,用它来出二维图纸也是个不错的选择.且相对于传统的铅笔橡皮丁字尺和AutoCAD来说,CATIA二维图中的 ...

  4. 3D坐标系与经纬度坐标换算

    在开发与经纬度有关的项目时,通常需要将经纬度坐标与3D引擎中的坐标系进行互相换算.本次创新以Unity3D为例,使用一系列算法将经纬度坐标与3D坐标系进行换算. 1.坐标系分析(以Unity3D左手坐 ...

  5. 道格拉斯-普克算法(经纬度或坐标点抽稀)

    起因 最近在做一个车联网项目,有一个场景是车辆定时上报当前所在经纬度等位置信息上报给平台,平台通过web页面在高德地图上展示车辆行驶路径. 由于车辆上报规则是每隔4s上报一次,一个小时也就是900个点 ...

  6. 已知经纬度坐标求两点间距离,用python表示

    已知经纬度坐标求两点间距离,用python表示 已知地球上任意两点(lon1, lat1),( lon2, lat2)的经纬度坐标,求两点间的距离用haversine表示: 1.首先先将经纬度坐标的角 ...

  7. python坐标表示_已知经纬度坐标求两点间距离,用python表示

    已知经纬度坐标求两点间距离,用python表示 已知地球上任意两点(lon1, lat1),( lon2, lat2)的经纬度坐标,求两点间的距离用haversine表示: 1.首先先将经纬度坐标的角 ...

  8. java实现经纬度坐标是否在范围内的算法

    需求是:一个点(经纬度)是否在一个多边形内部,多边形有多个点构成,每个点是一个实际的经纬度坐标,有多个点构成一个多边形, 算法数学上实现思路: 判断一个点是在一个多边形内部的集中情况 第一:目标点在多 ...

  9. 通过经纬度坐标计算距离的方法(实为通过一个经纬度和距离角度求另一个经纬度)

    转自:https://www.cnblogs.com/softfair/p/lat_lon_distance_bearing_new_lat_lon.html 通过经纬度坐标计算距离的方法(经纬度距离 ...

最新文章

  1. php中怎样阻止网页进行跳转,阻止php页面跳转方法
  2. thinkpad x230评测_全新改变超长续航 ThinkPad X230评测
  3. 皮一皮:这这这..太真实了...
  4. idea上一些比较有用的插件
  5. vscode插件:REST Client发送http请求
  6. boost::gil::compute_harris_responses用法的测试程序
  7. as3 java 交互_求大佬用 Java 实现这段 AS3 的 socket 通讯功能
  8. 容斥原理应用(求1~r中有多少个数与n互素)
  9. java布局管理器的应用总结,GridBagLayout布局管理器的应用
  10. java定时器的使用(Timer)
  11. NPOI读写Excel sheet操作
  12. zip4j实现文件压缩与解压缩 common-compress压缩与解压缩
  13. 敏捷思维- 架构设计中的方法学(1)
  14. 简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW个人网站制作成品 web网页制作与实现
  15. 太美医疗:药物警戒(PV)人员的职业发展之道
  16. python技巧积累
  17. python爬虫实战2:爬取近100期双色球开奖记录
  18. 青春有多9,我爱我所有
  19. 统计物理中积分计算和态密度计算要点
  20. 计操实验 多级反馈队列C语言

热门文章

  1. Outlook2013/2016中的Gmail设置
  2. 疫情下,我被公司裁员了……
  3. 110报警声+单片机c语言,用51单片机做发声小玩意及程序
  4. dnf起源版本无限连接服务器,DNF起源版本BUG不断 爆出无限卡金币跨四已炸
  5. Kinect_姿势识别
  6. 企业做培训直播,也不要忘记品牌营销!
  7. php上传wmv文件格式,PHP WMV文件上傳失敗
  8. 最小系统开发板——利用STM32F103C8T6实现LED流水灯
  9. vue中使用scrollreveal制作滚动动画
  10. java中PageInfo类的作用及用法