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

网站建设制系统如何安装wordpress

网站建设制,系统如何安装wordpress,建设厅和应急管理厅焊工证区别,承德建设网站Floyd 算法 重点&#xff1a;多源最短路径算法&#xff0c;前的最短路径算法是单源的也就是只有一个起点。递推每个节点之间最短的路径 时间复杂度&#xff1a; O(n^3)空间复杂度&#xff1a;O(n^2) #include <iostream> #include <vector> using namespace std…

Floyd 算法

重点:多源最短路径算法,前的最短路径算法是单源的也就是只有一个起点。递推每个节点之间最短的路径

  • 时间复杂度: O(n^3)
  • 空间复杂度:O(n^2)
#include <iostream>
#include <vector>
using namespace std;int main() {int n, m, p1, p2, val;cin >> n >> m;vector<vector<int>> grid(n + 1, vector<int>(n + 1, 10005));  // 因为边的最大距离是10^4for(int i = 0; i < m; i++){cin >> p1 >> p2 >> val;grid[p1][p2] = val;grid[p2][p1] = val; // 注意这里是双向图}// 开始 floydfor (int k = 1; k <= n; k++) {for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {grid[i][j] = min(grid[i][j], grid[i][k] + grid[k][j]);}}}// 输出结果int z, start, end;cin >> z;while (z--) {cin >> start >> end;if (grid[start][end] == 10005) cout << -1 << endl;else cout << grid[start][end] << endl;}
}

A * 算法

重点:Astar关键在于启发式函数,也就是影响广搜或者 dijkstra 从容器(队列)里取元素的优先顺序

#include<iostream>
#include<queue>
#include<string.h>
using namespace std;
int moves[1001][1001];
int dir[8][2]={-2,-1,-2,1,-1,2,1,2,2,1,2,-1,1,-2,-1,-2};
int b1, b2;
// F = G + H
// G = 从起点到该节点路径消耗
// H = 该节点到终点的预估消耗struct Knight{int x,y;int g,h,f;bool operator < (const Knight & k) const{  // 重载运算符, 从小到大排序return k.f < f;}
};priority_queue<Knight> que;int Heuristic(const Knight& k) { // 欧拉距离return (k.x - b1) * (k.x - b1) + (k.y - b2) * (k.y - b2); // 统一不开根号,这样可以提高精度
}
void astar(const Knight& k)
{Knight cur, next;que.push(k);while(!que.empty()){cur=que.top(); que.pop();if(cur.x == b1 && cur.y == b2)break;for(int i = 0; i < 8; i++){next.x = cur.x + dir[i][0];next.y = cur.y + dir[i][1];if(next.x < 1 || next.x > 1000 || next.y < 1 || next.y > 1000)continue;if(!moves[next.x][next.y]){moves[next.x][next.y] = moves[cur.x][cur.y] + 1;// 开始计算Fnext.g = cur.g + 5; // 统一不开根号,这样可以提高精度,马走日,1 * 1 + 2 * 2 = 5next.h = Heuristic(next);next.f = next.g + next.h;que.push(next);}}}
}int main()
{int n, a1, a2;cin >> n;while (n--) {cin >> a1 >> a2 >> b1 >> b2;memset(moves,0,sizeof(moves));Knight start;start.x = a1;start.y = a2;start.g = 0;start.h = Heuristic(start);start.f = start.g + start.h;astar(start);while(!que.empty()) que.pop(); // 队列清空cout << moves[b1][b2] << endl;}return 0;
}

总结

Floyd算法本质是动态规划,递推算出每个节点之间的最短距离。可以用于有负权值的最短路径。

Astar 是一种 广搜的改良版。 有的是 Astar是 dijkstra 的改良版。

http://www.yayakq.cn/news/245149/

相关文章:

  • 牡丹江网站建设定制开发苏州网站建设自助建站模板
  • 温岭公司做网站湛江网站制作工具
  • 机械加工网站哪个好visualstudio 做网站
  • 网站美术视觉效果布局设计聊城做网站推广公司
  • 怎么把自己做的网站阿里巴巴吧做网站
  • 网页设计与网站开发试卷视频网站外链怎么做
  • 南京建设工程信息网站wordpress提示不安全
  • android 旅游网站开发成都网络优化网站建设
  • 建设网站公司兴田德润在哪里建设银行个人网上银行网页
  • 有没有做网站近期的新闻热点
  • 旅游网站设计asp火蝠电商代运营值得相信吗
  • 铜陵市网站建设广州哪里有做网站推广
  • 云南营销型网站建设百度登录入口官网
  • 宁波免费网站建站模板国家反诈中心app下载二维码
  • 怎样建立一个营销的公司网站网络广告商
  • 建设网站的重要性赚钱宝部署wordpress
  • 沧浪seo网站优化软件企业网站建设标准
  • 现在做网站需要多少钱网站如何做cdn
  • 北京做企业网站多少钱合肥网站建设公司排名
  • 做物流网站的图片素材中国室内设计师联盟官网
  • 南沙门户网站建设开发个网站开票名称是什么意思
  • 许昌网站建设wordpress 移植
  • 公司电商网站开发合同济南建设职业技术学院
  • 网站修改建设品牌vi设计有哪些内容
  • 摄影网站制作安装系统后没有wordpress
  • 管理咨询网站二级域名做网址导航大全网站
  • 柳州市城乡建设局网站常德政务网站
  • 网站模板 jsp运河经济开发区建设局网站
  • 海洋馆网站建设python做网站还是数据
  • 公司宣传页设计印刷保定网站关键词优化