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

哈尔滨 网站建设公司谷歌google play官网

哈尔滨 网站建设公司,谷歌google play官网,网站建设与推广培训学校,b2b 网站 建设第十一章:图论part11 Floyd 算法精讲 Floyd 算法代码很简单,但真正理解起原理 还是需要花点功夫,大家在看代码的时候,会发现 Floyd 的代码很简单,甚至看一眼就背下来了,但我为了讲清楚原理,本…

第十一章:图论part11

Floyd 算法精讲

Floyd 算法代码很简单,但真正理解起原理 还是需要花点功夫,大家在看代码的时候,会发现 Floyd 的代码很简单,甚至看一眼就背下来了,但我为了讲清楚原理,本篇还是花了大篇幅来讲解。

https://www.programmercarl.com/kamacoder/0097.%E5%B0%8F%E6%98%8E%E9%80%9B%E5%85%AC%E5%9B%AD.html

if __name__ == '__main__':max_int = 10005  # 设置最大路径,因为边最大距离为10^4n, m = map(int, input().split())grid = [[[max_int] * (n+1) for _ in range(n+1)] for _ in range(n+1)]  # 初始化三维dp数组for _ in range(m):p1, p2, w = map(int, input().split())grid[p1][p2][0] = wgrid[p2][p1][0] = w# 开始floydfor k in range(1, n+1):for i in range(1, n+1):for j in range(1, n+1):grid[i][j][k] = min(grid[i][j][k-1], grid[i][k][k-1] + grid[k][j][k-1])# 输出结果z = int(input())for _ in range(z):start, end = map(int, input().split())if grid[start][end][n] == max_int:print(-1)else:print(grid[start][end][n])

A * 算法精讲 (A star算法)

一般 笔试或者 面试的时候,不会考察A*, 都是会结合具体业务场景问 A*算法,例如:地图导航,游戏开发 等等。

其实基础版的A* 并不难,所以大家不要畏惧,理解本篇内容,甚至独立写出代码,大家可以做到,加油

https://www.programmercarl.com/kamacoder/0126.%E9%AA%91%E5%A3%AB%E7%9A%84%E6%94%BB%E5%87%BBastar.html


import heapqn = int(input())moves = [(1, 2), (2, 1), (-1, 2), (2, -1), (1, -2), (-2, 1), (-1, -2), (-2, -1)]def distance(a, b):return ((a[0] - b[0]) ** 2 + (a[1] - b[1]) ** 2) ** 0.5def bfs(start, end):q = [(distance(start, end), start)]step = {start: 0}while q:d, cur = heapq.heappop(q)if cur == end:return step[cur]for move in moves:new = (move[0] + cur[0], move[1] + cur[1])if 1 <= new[0] <= 1000 and 1 <= new[1] <= 1000:step_new = step[cur] + 1if step_new < step.get(new, float('inf')):step[new] = step_newheapq.heappush(q, (distance(new, end) + step_new, new))return Falsefor _ in range(n):a1, a2, b1, b2 = map(int, input().split())print(bfs((a1, a2), (b1, b2)))

最短路算法总结篇

最各个最短路算法有个全面的了解

https://www.programmercarl.com/kamacoder/%E6%9C%80%E7%9F%AD%E8%B7%AF%E9%97%AE%E9%A2%98%E6%80%BB%E7%BB%93%E7%AF%87.html

如果遇到单源且边为正数,直接Dijkstra

至于 使用朴素版还是 堆优化版 还是取决于图的稠密度, 多少节点多少边算是稠密图,多少算是稀疏图,这个没有量化,如果想量化只能写出两个版本然后做实验去测试,不同的判题机得出的结果还不太一样。

一般情况下,可以直接用堆优化版本。

如果遇到单源边可为负数,直接 Bellman-Ford,同样 SPFA 还是 Bellman-Ford 取决于图的稠密度。

一般情况下,直接用 SPFA。

如果有负权回路,优先 Bellman-Ford, 如果是有限节点最短路 也优先 Bellman-Ford,理由是写代码比较方便。

如果是遇到多源点求最短路,直接 Floyd

图论总结

https://www.programmercarl.com/kamacoder/%E5%9B%BE%E8%AE%BA%E6%80%BB%E7%BB%93%E7%AF%87.html

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

相关文章:

  • 网站设计师简历西安seo站内优化
  • 泉州做网站网站怎么搭建
  • 链天网站建设win7优化教程
  • 做自己的优惠券网站中山网站建设
  • 自己网页制作的目标和受众seo基础培训
  • 关于加强网站建设的建议爱站官网
  • 网站建设技术风险分析免费网站软件
  • 临沂建设局网站质量三监督广东省广州市佛山市
  • 怎么知道网站被百度k了做网站优化哪家公司好
  • 网站升级建设费用吗太原网站关键词排名
  • 做flash网站的软件什么是电商
  • 一个公司的网站怎么做湖南网站seo推广
  • 做国外有那些网站比较好的专注于网站营销服务
  • 网站建设套餐有哪些内容百度推广seo怎么学
  • 长沙企业推广南宁百度seo排名优化软件
  • 北京网站建设设计广州百度seo公司
  • 上线吧做的网站可以备案如何推广新产品的方法
  • vs用web网站做登陆 注册怎么制作自己的网站网页
  • 怎么做网站图标免费seo网站优化
  • 湖南营销型网站建设岳阳网站设计
  • 网站做接口到app 价格学大教育培训机构电话
  • 房产中介网站建设网站建站网站
  • 深圳做网站好的公司活动策划方案
  • 做小程序还是做网站四川游戏seo整站优化
  • 上海网站优化排名百度怎么找人工客服
  • 网站建设案例价位免费的seo优化
  • 如何在百度里建网站5118关键词工具
  • windows做网站的工具如何做市场推广方案
  • 什么是网站维护西安网站建设制作
  • 网站建设微站百度点击工具