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

网站程序 制作国际新闻最新消息十条

网站程序 制作,国际新闻最新消息十条,国内管理咨询公司排行,企业管理培训课程目录引言 DFS 深度优先算法:从一个节点开始,一直搜索,直到一个叶子节点或者无法搜索下去。 BFS 广度优先算法(层序遍历):从一个节点开始,逐层搜索节点。 实现 DFS(深度优先&#xff…

引言

DFS

深度优先算法:从一个节点开始,一直搜索,直到一个叶子节点或者无法搜索下去。

BFS

广度优先算法(层序遍历):从一个节点开始,逐层搜索节点。

实现

DFS(深度优先)

class Solution:def connect(self, root: 'Node') -> 'Node':pre = []def dfs(node: 'Node', depth: int) -> None:if node is None:returnif depth == len(pre): pre.append(node)else:  pre[depth].next = node  pre[depth] = nodedfs(node.left, depth + 1)dfs(node.right, depth + 1)dfs(root, 0)  return root

这个主要是通过一直遍历左边子树的左节点,核心思想是pre[depth].next = node pre[depth] = node,这个就直接使用将左子树的左节点作为下一个值,直到后面没有值了,这里面的一个判断if depth == len(pre)就做一个是否当前深度等于列表长度。然后就是递归左右子树,进入下一层。

BFS(广度优先/层序遍历)

class Solution:def connect(self, root: 'Node') -> 'Node':if root is None:return Noneq = [root]while q:for x, y in pairwise(q):x.next = ytmp = qq = []for node in tmp:if node.left:  q.append(node.left)if node.right: q.append(node.right)return root

广度优先搜索和深度优先搜索的主要区别就是广度优先遍历是没有一直往左子树的左节点的,而是直接用pairwise将两个值进行分组,并将下一节点放在分组的另一个值上,for x,y in pairwose(q):

x.next = y,然后将所有的值添加到队列中。对了,队列是一种很适合用于层序遍历的,因为队列是先进先出,而且队列由列表表示。

http://www.dtcms.com/wzjs/28970.html

相关文章:

  • 湖北省建设厅信息网站seo美式
  • 做传奇网站云服务器地域改选哪里最佳的资源搜索引擎
  • 上海网站建设流国内前10电商代运营公司
  • 沈阳网站优化建设网络整合营销方案
  • 商务网站建设目的百度快照优化
  • 哪些企业必须用网站东莞seo培训
  • 网站建设推荐书籍电子商务网站建设多少钱
  • wordpress带下载功能seo网络推广专员招聘
  • 做海报免费素材网站有哪些自动优化app
  • 共享互助医疗网站建设成人短期就业培训班
  • 网站如何做搜索引擎优化百度快速收录接口
  • 专业做图片制作网站线上宣传方案
  • 网站维护要多久时间深圳网站建设
  • 空间 建网站网站推广seo是什么
  • 海安做网站沈阳关键词优化报价
  • 杭州网站建设 博采网络有限公司免费文案素材网站
  • 手机网站建设是什么考研培训机构排名前十
  • 电子商务学校网站建设安卓优化大师老版本下载
  • 深圳网站设计知名乐云seo外包公司值得去吗
  • wordpress端口不生效seo推广软件品牌
  • 做网站的价新闻平台发布
  • 重庆专业网站建设公司哪家好网络营销是以什么为中心
  • 沈阳做网站培训友情链接如何交换
  • 怎样用dw做网站导航条口碑营销有哪些方式
  • 用asp做的网站有多少电子商务网站建设与维护
  • php网站开发源代码今天中国新闻
  • 夜间正能量网站入口免费下载全文搜索引擎有哪些
  • 江门网红打卡景点蓬江区网络seo优化
  • 建站后角度是不是0怎么做一个自己的网页
  • 怎样做软件网站线上营销手段有哪些