当前位置: 首页 > news >正文

正规网站建设方案详细正规的推文平台

正规网站建设方案详细,正规的推文平台,做网站有未来吗,醴陵建网站数据结构–最短路径 Dijkstra算法 Dijkstra算法 计算 b e g i n 点到各个点的最短路 \color{red}计算\ begin\ 点到各个点的最短路 计算 begin 点到各个点的最短路 如果是无向图,可以先把无向图转化成有向图 我们需要2个数组 final[] (标记各顶点是否已…

数据结构–最短路径 Dijkstra算法

Dijkstra算法

计算  b e g i n 点到各个点的最短路 \color{red}计算\ begin\ 点到各个点的最短路 计算 begin 点到各个点的最短路

如果是无向图,可以先把无向图转化成有向图

我们需要2个数组
final[] (标记各顶点是否已找到最短路径)与 dis[] (最短路径⻓度)数组

Dijkstra算法是一种用于寻找图中最短路径的算法,它的步骤如下:

  1. 初始化:将起始节点的最短路径设置为0,其他节点的最短路径设置为正无穷大。
  2. 选取最短路径最小的节点作为当前节点。
  3. 更新当前节点的邻居节点的最短路径:如果通过当前节点到达邻居节点的路径比邻居节点当前的最短路径更短,则更新邻居节点的最短路径。
  4. 标记当前节点为已访问(已经找到 b e g i n begin begin 到该点的最短路)。
  5. 重复步骤2 → \to 4,直到所有节点都被访问过或者没有可达到的节点。
  6. 根据最短路径和前驱节点构建最短路径树或者路径数组。

以上就是Dijkstra算法的基本步骤。在实际应用中,可以使用优先队列来选取最短路径最小的节点,以提高算法的效率 (堆Dijkstra)。

V0到V2 的最短(带权)路径⻓度为:dist[2] = 9
通过 path[ ] 可知,V0到V2 的最短(带权)路径:
v 0 → v 4 → v 1 → v 2 v_0 \to v_4 \to v_1 \to v_2 v0v4v1v2

Dijkstra算法的时间复杂度

时间复杂度: O ( n 2 ) 即 O ( ∣ V ∣ 2 ) O(n^2)即O(|V|^2) O(n2)O(V2)

代码实现

int g[N][N]; // 存储每条边
int dist[N]; // 存储1号点到每个点的最短距离
bool st[N]; // 存储每个点的最短路是否已经确定
//时间复杂是 O(n2+m), n 表示点数,m 表示边数
// 求1号点到n号点的最短路,如果不存在则返回-1
int dijkstra()
{memset(dist, 0x3f, sizeof dist);dist[1] = 0;for (int i = 0; i < n - 1; i++){int t = -1; // 在还未确定最短路的点中,寻找距离最⼩的点for (int j = 1; j <= n; j++)if (!st[j] && (t == -1 || dist[t] > dist[j]))t = j;// ⽤t更新其他点的距离for (int j = 1; j <= n; j++)dist[j] = min(dist[j], dist[t] + g[t][j]);st[t] = true;}if (dist[n] == 0x3f3f3f3f)return -1;return dist[n];
}

负权值带权图问题,Dijkstra不可用

负权值带权图问题, D i j k s t r a 不可用!!! \color{red}负权值带权图问题,Dijkstra不可用!!! 负权值带权图问题,Dijkstra不可用!!!

事实上 V 0 V_0 V0 V 2 V_2 V2 的最短带权路径⻓度为 5
结论:Dijkstra 算法不适⽤于有负权值的带权图

http://www.hrbkazy.com/news/19607.html

相关文章:

  • 弹幕网站是怎么做的交换链接网站
  • 外贸可以什么网站做怎么才能让百度收录网站
  • vs2015做的网站营销软文范例大全
  • 在百度上怎么建网站海外推广营销平台
  • 嘉定网站建设哪家好网络营销师证书有用吗
  • 我是做颗粒在什么网站上太原seo霸屏
  • 免费网站域名注册个人目录搜索引擎有哪些
  • 杭州网站建设多少钱seo教程自学
  • 您的网站未备案深圳网站建设公司官网
  • 昆山网站建设哪家便宜深圳海外推广
  • 泰州网站建设公司哪个好网站建设需要啥
  • 网站设置了 不能复制策划方案模板
  • 徐州教育学会网站建设seo如何进行优化
  • 做网站的企业搜索推广代运营
  • 东欣建设集团网站搜索引擎优化入门
  • 网站开发计划表it培训班真的有用吗
  • 许昌市做网站汉狮网络百度广告代理商加盟
  • 中国城镇化建设委员会的网站凡科建站登录入口
  • 做网站挣钱来个好心人指点一下呗西安网站推广排名
  • 有了域名后怎么完成网站建设搜索关键词排名工具
  • 如何做网站路径分析sem代运营托管公司
  • 厦门入夏网站建设公司怎么查询最新网站
  • 一品威客官方网站网络营销咨询服务
  • 青海省网络公司大连网络营销seo
  • 贵州建设厅网站官网网站老域名跳转到新域名
  • 丰县网站建设汽车seo是什么意思
  • 重庆设计公司网站重庆seo关键词排名
  • 静安区社会建设办公室网站长安网站优化公司
  • 沈阳企业网站模板建站自己如何注册网站
  • 长春好的做网站公司有哪些nba湖人队最新消息