迪杰斯特拉算法求经纬度坐标的最短路径_【图的最短路径】迪杰斯特拉算法求图的最短路径...
#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的最短路径。
}
迪杰斯特拉算法求经纬度坐标的最短路径_【图的最短路径】迪杰斯特拉算法求图的最短路径...相关推荐
- 迪杰斯特拉算法求经纬度坐标的最短路径_Postgresql构建经纬度查询两点之间的最短路径...
前言 前段时间遇到了实际的需求,在特定的路网中查询最短路径.同时配合 Cesium 进行动态显示. 需求 动态查询两点之间的最短路径(起点固定): 查询的路径高亮显示: Cesium 对生成的路径进行 ...
- kcf算法中cos_window是什么意思_知网/维普查重系统算法介绍(史上最详细)
很多同学在降重的过程中经常是面对一大片标红的文字不知所措,无从下手,甚至修改了两三遍了重复率依然还是没有变,更过分的是有的居然不降反升,这就尴尬了.那么这就要求大家对各个查重系统的规则和算法有一定的了 ...
- catia二维图坐标如何表示_【二次开发】CATIA二维图一键标注投影点信息
原标题:[二次开发]CATIA二维图一键标注投影点信息 CATIA软件不仅可以用来建立三维模型,用它来出二维图纸也是个不错的选择.且相对于传统的铅笔橡皮丁字尺和AutoCAD来说,CATIA二维图中的 ...
- 3D坐标系与经纬度坐标换算
在开发与经纬度有关的项目时,通常需要将经纬度坐标与3D引擎中的坐标系进行互相换算.本次创新以Unity3D为例,使用一系列算法将经纬度坐标与3D坐标系进行换算. 1.坐标系分析(以Unity3D左手坐 ...
- 道格拉斯-普克算法(经纬度或坐标点抽稀)
起因 最近在做一个车联网项目,有一个场景是车辆定时上报当前所在经纬度等位置信息上报给平台,平台通过web页面在高德地图上展示车辆行驶路径. 由于车辆上报规则是每隔4s上报一次,一个小时也就是900个点 ...
- 已知经纬度坐标求两点间距离,用python表示
已知经纬度坐标求两点间距离,用python表示 已知地球上任意两点(lon1, lat1),( lon2, lat2)的经纬度坐标,求两点间的距离用haversine表示: 1.首先先将经纬度坐标的角 ...
- python坐标表示_已知经纬度坐标求两点间距离,用python表示
已知经纬度坐标求两点间距离,用python表示 已知地球上任意两点(lon1, lat1),( lon2, lat2)的经纬度坐标,求两点间的距离用haversine表示: 1.首先先将经纬度坐标的角 ...
- java实现经纬度坐标是否在范围内的算法
需求是:一个点(经纬度)是否在一个多边形内部,多边形有多个点构成,每个点是一个实际的经纬度坐标,有多个点构成一个多边形, 算法数学上实现思路: 判断一个点是在一个多边形内部的集中情况 第一:目标点在多 ...
- 通过经纬度坐标计算距离的方法(实为通过一个经纬度和距离角度求另一个经纬度)
转自:https://www.cnblogs.com/softfair/p/lat_lon_distance_bearing_new_lat_lon.html 通过经纬度坐标计算距离的方法(经纬度距离 ...
最新文章
- php中怎样阻止网页进行跳转,阻止php页面跳转方法
- thinkpad x230评测_全新改变超长续航 ThinkPad X230评测
- 皮一皮:这这这..太真实了...
- idea上一些比较有用的插件
- vscode插件:REST Client发送http请求
- boost::gil::compute_harris_responses用法的测试程序
- as3 java 交互_求大佬用 Java 实现这段 AS3 的 socket 通讯功能
- 容斥原理应用(求1~r中有多少个数与n互素)
- java布局管理器的应用总结,GridBagLayout布局管理器的应用
- java定时器的使用(Timer)
- NPOI读写Excel sheet操作
- zip4j实现文件压缩与解压缩 common-compress压缩与解压缩
- 敏捷思维- 架构设计中的方法学(1)
- 简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW个人网站制作成品 web网页制作与实现
- 太美医疗:药物警戒(PV)人员的职业发展之道
- python技巧积累
- python爬虫实战2:爬取近100期双色球开奖记录
- 青春有多9,我爱我所有
- 统计物理中积分计算和态密度计算要点
- 计操实验 多级反馈队列C语言