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

购物网站开发django广东seo价格是多少钱

购物网站开发django,广东seo价格是多少钱,沈阳大十字街附近做网站公司,做音响网站朴素dijkstra算法 时间复杂是 O(n^2m), n 表示点数,m 表示边数 int g[N][N]; // 存储每条边 int dist[N]; // 存储1号点到每个点的最短距离 bool st[N]; // 存储每个点的最短路是否已经确定// 求1号点到n号点的最短路,如果不存在则返回-1 int dijk…

朴素dijkstra算法

时间复杂是 O(n^2+m), n 表示点数,m 表示边数

int g[N][N];  // 存储每条边
int dist[N];  // 存储1号点到每个点的最短距离
bool st[N];   // 存储每个点的最短路是否已经确定// 求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求最短路 I

在这里插入图片描述

#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;const int N = 510;int n, m;
int g[N][N];
int dist[N];
bool st[N];int dijkstra()
{memset(dist, 0x3f, sizeof dist);dist[1] = 0;for (int i = 0; i < n; i++) {int t = -1;for (int j = 1; j <= n; j++)if (!st[j] && (t == -1 || dist[t] > dist[j]))t = j;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];
}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);}printf("%d\n", dijkstra());return 0;
}

 

堆优化版dijkstra

时间复杂度 O(mlogn), n 表示点数,m 表示边数

typedef pair<int, int> PII;int n;      // 点的数量
int h[N], w[N], e[N], ne[N], idx;       // 邻接表存储所有边
int dist[N];        // 存储所有点到1号点的距离
bool st[N];     // 存储每个点的最短距离是否已确定// 求1号点到n号点的最短距离,如果不存在,则返回-1
int dijkstra()
{memset(dist, 0x3f, sizeof dist);dist[1] = 0;priority_queue<PII, vector<PII>, greater<PII>> heap;heap.push({0, 1});      // first存储距离,second存储节点编号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];
}

Dijkstra求最短路 II

#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
#include <queue>using namespace std;typedef pair<int, int> PII;const int N = 150000 + 10;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] > dist[ver] + w[i]) {dist[j] = dist[ver] + w[i];heap.push({dist[j], j});}}}if (dist[n] == 0x3f3f3f3f) return -1;return dist[n];
}int main()
{memset(h, -1, sizeof h);scanf("%d%d", &n, &m);while (m--) {int a, b, c;scanf("%d%d%d", &a, &b, &c);add(a, b, c);}printf("%d\n", dijkstra());return 0;
}

 

http://www.lbrq.cn/news/2558233.html

相关文章:

  • xv10相同网站荆州网站seo
  • 盘锦网站建设兰州网络推广关键词优化
  • 做网站简单么营销策略ppt模板
  • 有哪个网站教人做美食庆云网站seo
  • 评网网站建设优化营商环境条例全文
  • 网站中加入企业qqseo百度seo排名优化软件
  • 泰国做那个视频网站google chrome
  • 九江网站排名黄页88网推广服务
  • 网址网页网站的区别??市场营销策划方案3000字
  • 技术培训网站脱发严重是什么原因引起的
  • 建立的短语一键优化软件
  • 优秀企业网站赏析西点培训前十名学校
  • 网站建设有哪些软件有哪些内容马鞍山seo
  • 西宁网站建设百度一下打开网页
  • 网站设计目的徐州百度运营中心
  • 建设网站服务商网上有卖网站链接的吗
  • 做带支付功能的网站58网络推广
  • 网站升级页面连接设置百度seo推广首选帝搜软件
  • 长春网站分析无排名优化
  • 个人视频制作公司网站优化技巧
  • 聊天网站制作教程成都网站建设方案托管
  • 做网站好还是做商城好关键词批量调词 软件
  • b2b模式的典型电商平台代表关键词诊断优化全部关键词
  • 酒店设计网站建设方案百度网盘手机版
  • 国外 网页框架搭建的网站域名批量注册查询
  • div css网站重构第一版视频教程女教师遭网课入侵视频大全
  • 哪个网站上门做护肤app优化推广
  • 湛江网站建设制作价格百度登录账号首页
  • app官网网站建设成都seo优化排名公司
  • 开贴纸网站要怎么做的痘痘怎么去除效果好
  • 提升文档管理:推荐一键Docker部署的全文索引搜索引擎工具
  • 开源医院信息管理系统:基于若依框架的智慧医疗解决方案
  • 力扣刷题日常(9-10)(待完善)
  • c#中switch case语句的用法
  • Excel文件解析
  • Linux731 shell工具;[]字符