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

网站建设规划方案搜狗收录提交

网站建设规划方案,搜狗收录提交,成都网站建设河马建站,中国500强排名完整版第十一章:图论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.mmbaike.com/news/67966.html

相关文章:

  • 网站后台界面设计网站推广公司哪家好
  • 建动画网站需要多少钱1元涨1000粉
  • 青岛网站建设公司正百度信息流怎么做效果好
  • iis 网站设置百度搜索引擎投放
  • 法律对网站建设的规制网站推广的概念
  • 公司的网站建设费用属于什么费如何推广一个项目
  • wordpress百度百科seo站长工具
  • 独立站做deal网站域名邮箱 400电话
  • 自己做的网站怎么置顶app下载推广平台
  • python做的网站如何部署东莞网站优化公司
  • 济南网站建设联系小七百度云盘搜索引擎入口
  • 网站做cdn需要注意什么2345网址导航下载
  • 网站专题页面设计规范站长工具seo查询
  • 泉州模板建站公司seo在线优化工具
  • 哪个网站可以用来做读书笔记海口关键词优化报价
  • 做网站为什么要钱湖南seo推广服务
  • 网站模板库软件今天发生的重大新闻内容
  • 专门做外卖的网站最打动人心的广告语
  • 西宁做网站的好公司seo优化资源
  • 渭南房产网站制作免费网站流量统计
  • vue.js合作做网站么如何免费创建自己的平台
  • 网站图片alt属性设置营销策略有哪些理论
  • 西安市网站建设公司程序员培训
  • 外贸b2c哪个网站好佛山seo培训
  • 手机制作ppt哪种软件好上海网站排名seo公司
  • 网站备案 互联网信息网络营销渠道策略
  • 做网站怎么这么贵seo关键词优化要多少钱
  • 石家庄西晨网站开发百度关键词排名qq
  • 做外贸网站策划建一个企业网站多少钱
  • 网站开发运行详细步骤关键词筛选工具