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

想做个网站报价蔬菜价格怎么做wordpress附件上传云

想做个网站报价蔬菜价格怎么做,wordpress附件上传云,公司邮箱怎么查询,网站建设合同 印花税文章目录 求解最短路径:总共是有三种算法 当边的权重为1,也就是不同的点之间的边的距离使用边的数量的时候,就可以使用这个BFS算法,该算法使用优先队列进行求解,当队列不为空的时候,就弹出队首的元素&#…

文章目录

  • 求解最短路径:总共是有三种算法
    • 当边的权重为1,也就是不同的点之间的边的距离使用边的数量的时候,就可以使用这个BFS算法,该算法使用优先队列进行求解,当队列不为空的时候,就弹出队首的元素,然后将没有访问过的队首的邻居的距离更新
    • 当边的权重的计算不是单纯的1的时候,如果求解的是单源点到剩余节点的最短路径的问题,那么就可以考虑使用这个Dijkstra算法
    • 如果边的权重不是单纯的1,并且求解的是多源点到剩余节点的最短路径的问题,那么就可以使用这个Floyd算法

BFS算法

  • 在这里就只介绍算法模版,具体的算法介绍请看我的另一篇博客
from collections import deque
def dfs(start):# 将起点加入队列queue = deque([start])# 既是记录start到剩余节点的距离,又可以标注是否访问过visited = {start:0}while queue:# 弹出队首的元素node = queue.popleft()# 访问node节点的邻居,这里假设使用的是邻接表存储for neigh in e[node]:# 如果这个邻居没有被访问if neigh not in visited:# 更新距离并加入队列visited[neigh] = visited[node] + 1queue.append(neigh)return visited

Dijkstra算法

  • Dijkstra算法存在两种写法,一种是朴素的Dijkstra算法,一种是使用堆栈优化的算法,在这里我只对于堆栈优化的Dijkstra算法进行归纳,具体的算法总结请看我的另一篇博客
  • Dijkstra算法的核心就是把这个节点分为已经找到距离的,和没有找到距离的,每次从没有找到距离的节点中找到距离找到距离的最近的那一个节点,加入找到距离的节点当中,然后更新该节点的邻居,当然,只有得到更短距离才更新并加入堆当中
  • Dijkstra算法与这个BFS算法最大的算法区别就是,使用了队列的BFS算法的队列当中是不存在冗余的,但是使用了Dijkstra算法就会出现很多冗余的情况,所以当出堆的时候,当出堆记录的距离大于已经记录好的距离,就说明该节点已经出过堆了,现在的记录的信息是冗余的,直接跳过
import heapqdef dijkstra(start):# 初始化堆h = [(0,start)]# 记录start节点到达剩余节点的距离dis = [float("inf")]*Ndis[start] = 0# 开始堆操作while h:# 出堆dx,x = heapq.heappop(h)# 如果成立,说明节点x已经出过堆了,现在的信息是冗余的if dx > dis[x]:continue # 访问节点x的邻居,假设使用的是邻接表e,e中每一个元素存储的是(node,dis)for y,dy in e[start]:newdis = dx + dy# 如果满足距离更短,就更新距离以及入堆if newdis < dis[y]:dis[y] = newdisheapq.heappush(h,(dis[y],y))# 最终这个dis数组记录了start到剩余节点的最短距离return dis

Floyd算法

  • 相比于Dijkstra算法Floyd算法可以从这个递归中求解出来,这里只介绍算法模版,具体的代码请看我的另一篇博客
from functools import lru_cache
# 使用记忆化搜索
@lru_cache(maxsize=None)
def dfs(k,i,j):# 定义从从节点i到节点j的,经过最大节点号不超过k的最短距离if k <0 :# w[i][j] 为邻接矩阵,表示节点i到节点j的边的权值return w[i][j]# 有两种选择,一个是不选节点k,一种是选节点k,取其中的较小值return min(dfs(k-1,i,j),dfs(k-1,i,k)+dfs(k-1,k,j))

变形与转化

在这里插入图片描述
总结

在这里插入图片描述


文章转载自:

http://EF1wBZsW.ywndg.cn
http://bJNxjWXS.ywndg.cn
http://QdCGxVbj.ywndg.cn
http://N7mMFX1E.ywndg.cn
http://E6nyTTh9.ywndg.cn
http://h01zULvm.ywndg.cn
http://dLfUtrGp.ywndg.cn
http://tj8rfwg6.ywndg.cn
http://pyDdXNyo.ywndg.cn
http://5nPMeqOm.ywndg.cn
http://3GTBrEdq.ywndg.cn
http://XnFQgLV1.ywndg.cn
http://PGlXTDxR.ywndg.cn
http://0UaGK8ew.ywndg.cn
http://tV3BmIWT.ywndg.cn
http://5uxh8AnR.ywndg.cn
http://RjHjbh9r.ywndg.cn
http://YpGeGhDs.ywndg.cn
http://vE2BXWqX.ywndg.cn
http://mnkloiht.ywndg.cn
http://DMlKcJuB.ywndg.cn
http://kILtwbZM.ywndg.cn
http://v9xgp1yc.ywndg.cn
http://YbP9Akxm.ywndg.cn
http://dJO8Zdvs.ywndg.cn
http://WNlDlQiK.ywndg.cn
http://DfcqTw35.ywndg.cn
http://Bo7aJcfM.ywndg.cn
http://3sJSBqpj.ywndg.cn
http://XbOihY8l.ywndg.cn
http://www.dtcms.com/wzjs/691731.html

相关文章:

  • 优秀企业网站建设定制怎样做企业网站备案
  • 长沙定制网站开发网站如何在手机端做适配
  • 霸州做网站shijuewang淘宝新闻最新消息
  • 免费网站推广网站在线wordpress能读取代源码吗
  • 视频网站dedecms邯郸网站建设在哪里
  • 广西网站建设哪家有中国庆阳网
  • 网站建设 计划书做色流网站要注意什么
  • 我在征婚网站认识一个做IT网站建设维护招聘
  • 快递公司网站怎么做可信网站认证有用吗
  • 响水做网站cms系统推荐
  • 网站空格键代码wordpress分类固定链接
  • 青岛西海岸新区建设局网站企业品牌宣传
  • 精准网站seo诊断报告wordpress怎么制作网页
  • 海口seo网站推广单位网站开发费用是否计入无形资产
  • 资讯门户网站怎么做湘潭网页设计
  • 如何购物网站建设网站建设捌金手指下拉二七
  • 企业管理平台下载优化工具箱下载
  • 怎么做网站管理系统php网站开发公司
  • 做网站 怎么赚钱吗网站开发时的闭包写法
  • 网站建设logo显示怎么设置网络营销人员招聘
  • 网站推广方法有哪几种南京专业网站制作
  • 成都专业网站设计好公司山西省建设银行网站
  • 啥是东莞网站优化推广网站建设力洋
  • 可以讨论网站建设的论坛旅游网站建设的总结
  • 建设工程规划许可证网站自适应网站设计尺寸
  • 企业网站建设知乎linux视频播放网站
  • 邯郸哪里做网站优化南京网站制作链接
  • 简阳网站建设简阳舒城县建设局官方网站
  • 做网站时管理员权限的页面做网站你们用什么浏览器
  • 无锡企业网站改版做阿里巴巴好还是网站好