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

网页设计与制作教程第六版百度关键词seo外包

网页设计与制作教程第六版,百度关键词seo外包,设计本装修app,菠菜网站怎样做安全知识概览 Dijkstra算法适用于解决所有边权都是正数的最短路问题。Dijkstra算法分为朴素的Dijkstra算法和堆优化版的Dijkstra算法。朴素的Dijkstra算法时间复杂度为,适用于稠密图。堆优化版的Dijkstra算法时间复杂度为,适用于稀疏图。稠密图的边数m和是一…

知识概览

  • Dijkstra算法适用于解决所有边权都是正数的最短路问题。
  • Dijkstra算法分为朴素的Dijkstra算法和堆优化版的Dijkstra算法。
  • 朴素的Dijkstra算法时间复杂度为O(n^2),适用于稠密图。堆优化版的Dijkstra算法时间复杂度为O(mlogn),适用于稀疏图。
  • 稠密图的边数m和n^2是一个级别的,稀疏图的边数m和点数n是一个级别的。

朴素的Dijkstra算法

例题展示

题目链接

活动 - AcWing系统讲解常用算法与数据结构,给出相应代码模板,并会布置、讲解相应的基础算法题目。icon-default.png?t=N7T8https://www.acwing.com/problem/content/description/851/

代码
#include <cstring>
#include <iostream>
#include <algorithm>using namespace std;const int N = 510;int n, m;
int g[N][N];
int dist[N];
bool st[N];int dijkstra()
{// dist[1] = 0, dist[i] = 无穷大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为不在st为false的距离最近的点st[t] = true;// 用t更新其它点的距离for (int j = 1; j <= n; j++)dist[j] = min(dist[j], dist[t] + g[t][j]);}if (dist[n] == 0x3f3f3f3f) return -1;return dist[n];
}int main()
{scanf("%d%d", &n, &m);memset(g, 0x3f, sizeof g);while (m--){int a, b, c;scanf("%d%d%d", &a, &b, &c);g[a][b] = min(g[a][b], c);  // 重边取最小距离}int t = dijkstra();printf("%d\n", t);return 0;
}

堆优化版的Dijkstra算法

例题展示

题目链接

活动 - AcWing系统讲解常用算法与数据结构,给出相应代码模板,并会布置、讲解相应的基础算法题目。icon-default.png?t=N7T8https://www.acwing.com/problem/content/852/

代码
#include <cstring>
#include <iostream>
#include <algorithm>
#include <queue>using namespace std;typedef pair<int, int> PII;const int N = 150010;int n, m;
int h[N], w[N], e[N], ne[N], idx;
int dist[N];
bool st[N];void add(int a, int b, int c)
{e[idx] = b, w[idx] = c, ne[idx] = h[a], h[a] = idx++;
}int dijkstra()
{memset(dist, 0x3f, sizeof dist);dist[1] = 0;priority_queue<PII, vector<PII>, greater<PII>> heap;heap.push({0, 1});while (heap.size()){auto t = heap.top();heap.pop();int ver = t.second, distance = t.first;if (st[ver]) continue;st[ver] = true;for (int i = h[ver]; i != -1; i = ne[i]){int j = e[i];if (dist[j] > distance + w[i]){dist[j] = distance + w[i];heap.push({dist[j], j});}}}if (dist[n] == 0x3f3f3f3f) return -1;return dist[n];
}int main()
{scanf("%d%d", &n, &m);memset(h, -1, sizeof h);while (m--){int a, b, c;scanf("%d%d%d", &a, &b, &c);add(a, b, c);}int t = dijkstra();printf("%d\n", t);return 0;
}

参考资料

  1. AcWing算法基础课
http://www.rdtb.cn/news/13192.html

相关文章:

  • 织梦dedecms电影网站模板正版google下载
  • wordpress argo专业seo关键词优化
  • 做网站销售好做吗百度seo引流
  • 自己做的网站二维码怎么做的品牌推广和品牌营销
  • 假网站怎么做seo日常工作内容
  • 离退休党建设工作网站360免费建站网页链接
  • 网站主页面设计全球搜是什么公司
  • 做投票的网站赚钱嘛成都网络推广运营公司
  • 山海关网站制作广东疫情最新数据
  • 松北区建设局网站谷歌搜索引擎镜像
  • 星巴克网站建设网络营销的传播手段
  • 学校网站建设文字规范问题旅行网站排名
  • 做网站就是做点击率seo推广宣传
  • 杭州做网站怎么收费热搜榜排名今日第一
  • 网站详情页百度口碑网
  • 关于网站建设公司大全seo百度百科
  • 做机械的专业外贸网站有哪些seo提升排名
  • 电子商务网站怎么做素材包游戏推广怎么做引流
  • 网站做收录腾讯企点官网下载
  • 自己做的网站能在线支付公司做网站一般多少钱
  • 深圳南头高端网站建设好搜搜索
  • 做网站需要什么高端网站建设企业
  • 万和城官方网站电商网站建设步骤
  • 汉中疫情最新消息今天勉县关键词优化包含
  • 福建省建设银行招聘网站企业网站的基本功能
  • 南昌做网站多少钱百度seo如何优化
  • 山东省菏泽市城乡建设局网站游戏广告投放平台
  • 西安阎良区建设局网站新网站如何快速收录
  • wordpress 免费cms主题天津百度seo推广
  • 网站设计联系电话舟山seo