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

商城网站建设定制win7优化极致性能

商城网站建设定制,win7优化极致性能,福建省人民政府办公厅,怎么做一个微信小程序弗洛伊德算法: 弗洛伊德算法本质是动态规划,通过添加点进如可选择的点组成的集合的同时更新所有点之间的距离,从而得到每两个点之间的最短距离。 初始化: 创建一个二维数组 dist,其中 dist[i][j] 表示从节点 i 到节点…

弗洛伊德算法:

弗洛伊德算法本质是动态规划,通过添加点进如可选择的点组成的集合的同时更新所有点之间的距离,从而得到每两个点之间的最短距离。

  1. 初始化: 创建一个二维数组 dist,其中 dist[i][j] 表示从节点 i 到节点 j 的最短路径的权重。将对角线上的元素初始化为0,表示节点到自身的距离。如果存在直接相连的边,则将 dist[i][j] 初始化为这些边的权重;否则,初始化为一个大数表示无穷大。

  2. 三重循环: 对于每一对节点 (i, j),以及所有可能的中间节点 k,进行三重循环:

    plaintextCopy code

    for k from 1 to n: for i from 1 to n: for j from 1 to n: dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j])

    在每一次迭代中,检查是否通过中间节点 k 能够获得更短的路径。如果 dist[i][k] + dist[k][j] 小于当前已知的 dist[i][j],则更新 dist[i][j]

  3. 输出结果: 算法结束后,矩阵 dist 中的元素即为图中所有节点对之间的最短路径。

迪杰斯特拉算法:

迪杰斯特拉算法是广度优先遍历算法的一种,遍历当前节点的所有邻接点,更新原点到邻接点的距离。最终得到原点到每个点的最小距离。

  1. 初始化: 创建两个数组,distancevisiteddistance 数组用于存储从起始节点到各个节点的当前最短路径长度,初始时将起始节点到自身的距离设置为0,其他节点的距离设置为无穷大。visited 数组用于标记节点是否已经被访问,初始时所有节点都未被访问。

  2. 选择起始节点: 将起始节点标记为当前的工作节点。

  3. 更新邻接节点的距离: 遍历当前工作节点的所有邻接节点,计算从起始节点经过当前工作节点到邻接节点的路径长度。如果这个路径长度小于 distance 数组中记录的邻接节点的当前最短路径长度,则更新 distance 数组。

  4. 选择下一个工作节点: 从未访问的节点中选择一个具有最小最短路径长度的节点,将其标记为当前的工作节点。如果所有未访问的节点都具有无穷大的最短路径长度,说明剩下的节点不可达,算法结束。

  5. 重复步骤3和4: 重复执行步骤3和步骤4,直到所有节点都被访问过。

案例题目

现在小丽在城镇A,小明在城镇B。小丽要出发找小明。

城镇之间有双向通行的道路,通过道路要消耗一定的时间。

其中已知城镇C和城镇D之间有双向的传送门,可以不消耗时间瞬间传送过去

现在请你求出小丽从城镇A抵达城镇B的最短时间。保证从起点到终点有路径可达。

输入描述

第一行两个正整数n,m,以空格分开,表示总共有n个城镇,有m条道路相连
第二行两个正整数A,B,以空格分开,分别表示小丽所在城镇A,小明所在城镇B。
第三行两个正整数C,D,以空格分开,表示城镇C和城镇D之间有瞬间的双向传送门。
接下来m行,每行三个正整数u,v, c,以空格分开,表示城镇u和城镇v之间有道路,通过道路消耗时间c。
对于100%的数据保证 1<=n <=100,1<=m<=2*n,每条道路的时间花费在[1,10]之间

输出描述

一行,一个整教表示最短到达时间。

样例输入

4 3
1 4
1 3
1 2 1
2 3 1
2 4 1

样例输出

2

代码 

弗洛伊德算法

n,m = map(int,input().split(" "))
A,B = map(int,input().split(" "))
print(A,B)
C,D = map(int,input().split(" "))
dis = [[float('inf') for i in range(n+1)] for j in range(n+1)]
for i in range(m):u,v,c = map(int,input().split(" "))dis[u][v] = cdis[v][u] = cdis[C][D] = dis[D][C] = 0for k in range(1,n+1):for i in range(1,n+1):for j in range(1,n+1):dis[i][j] = min(dis[i][j],dis[i][k]+dis[k][j])print(dis[A][B])

迪杰斯特拉算法

import collectionsn,m = map(int,input().split(" "))
A,B = map(int,input().split(" "))
C,D = map(int,input().split(" "))graph = [[] for _ in range(n)]
for i in range(m):u,v,c = map(int,input().split(" "))graph[u-1].append((v-1,c))graph[v- 1].append((u-1,c))graph[C-1].append((D-1,0))
graph[D-1].append((C-1,0))def dijkstra(graph,start,end):n = len(graph)distances = [float('inf') for i in range(n)]distances[start] = 0queue = collections.deque( [(0,start)])vis = [False] * nwhile queue:current_distance,current_node = queue.popleft();if vis[current_node]:continuevis[current_node] = Truefor neighbor,weight in graph[current_node]:new_distance = current_distance + weightif new_distance < distances[neighbor]:distances[neighbor] = new_distancequeue.append((new_distance,neighbor))return distances[end]print(dijkstra(graph,A-1,B-1))

http://www.hkea.cn/news/798581/

相关文章:

  • 百度爱采购推广平台天津网络推广seo
  • 福州市闽侯县建设局网站推广引流吸引人的文案
  • wordpress目录 读写权限泰安短视频seo
  • 东莞建设网站流程澎湃新闻
  • 萧县住房和城乡建设局网站seo排名推广工具
  • 企业网站php模板下载百度百科官网首页
  • 做愛視頻网站在线网页制作网站
  • 织梦pc怎么做手机网站搜索引擎优化的基础是什么
  • 课程建设网站设计源码爱站网反链查询
  • 安徽省建设业协会网站个人网页制作教程
  • 好的摄影网站推荐福州seo顾问
  • html做的好看的网站如何宣传推广产品
  • 微信手机网站制作怎么引流客源最好的方法
  • 宿州建设网站公司前端seo搜索引擎优化
  • 做王境泽表情的网站百度seo关键词优化排名
  • 怎么选择无锡网站建设虚拟主机搭建网站
  • 做原油期货关注什么网站搜索引擎优化是做什么
  • 微信小程序怎么制作游戏安卓优化清理大师
  • 胶南做网站初学者做电商怎么入手
  • 网站为什么要维护佛山网络营销推广
  • 国企网站建设报告怎么建造自己的网站
  • 免费做司考真题的网站余姚网站如何进行优化
  • 如何网站开发1688网站
  • 丽水专业网站建设价格青岛网站优化
  • 网站开发专业培训学校百度推广登录官网入口
  • 贵阳做网站公司网站热度查询
  • 做课件最好的素材网站考拉seo
  • 网站建设玖首选金手指seo网站优化收藏
  • 台州卓远做网站好不好广州seo教程
  • dz网站数据备份bt磁力猪