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

电商网站开发用什么软件好合肥建设监理协会网站

电商网站开发用什么软件好,合肥建设监理协会网站,密云网站开发公司,可免费投放广告的平台给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。(注意题意) 示例 1: 输入:root [3,9,20,null,null,15,7] 输出&#x…

给定一个二叉树,找出其最小深度。
最小深度是从根节点最近叶子节点的最短路径上的节点数量。
说明:叶子节点是指没有子节点的节点。(注意题意)
示例 1:
image.png
输入:root = [3,9,20,null,null,15,7]
输出:2

层序遍历法
# 层序遍历法
class Solution(object):def minDepth(self, root):""":type root: TreeNode:rtype: int"""if not root:return 0queue = deque([(root, 1)]) # 每个元素是元组 一个是树元素值 一个是最小深度 比较巧妙while queue:cur, min_depth = queue.popleft()if not cur.left and not cur.right:return min_depthif cur.left:queue.append((cur.left, min_depth+1))if cur.right:queue.append((cur.right, min_depth+1))return 0

时间复杂度:O(N) 因为每个结点会访问一次
空间复杂度:O(N)在层序遍历法中空间复杂度主要取决于队列的开销,队列中的元素个数不会超过树的节点数。

递归法

注意这块和最大深度不一样,如下是错误代码:说明:叶子节点是指没有子节点的节点。(注意题意)
image.png
这个代码就犯了此图中的误区:说明:叶子节点是指没有子节点的节点。(注意题意)
image.png
如果这么求的话,没有左孩子的分支会算为最短深度。
所以,如果左子树为空,右子树不为空,说明最小深度是 1 + 右子树的深度。
反之,右子树为空,左子树不为空,最小深度是 1 + 左子树的深度。 最后如果左右子树都不为空,返回左右子树深度最小值 + 1 。
image.png

# 递归法
class Solution(object):def minDepth(self, root):""":type root: TreeNode:rtype: int"""return self.getDepth(root)def getDepth(self, node):if node is None:return 0leftDepth = self.getDepth(node.left)  # 左rightDepth = self.getDepth(node.right)  # 右# 中# 当一个左子树为空,右不为空,这时并不是最低点if node.left is None and node.right is not None:return 1 + rightDepth# 当一个右子树为空,左不为空,这时并不是最低点if node.left is not None and node.right is None:return 1 + leftDepthresult = 1 + min(leftDepth, rightDepth)return result

时间复杂度:O(N),其中 N 是树的节点数。对每个节点访问一次。
空间复杂度:O(N)/O(H) 其中 H 是树的高度。空间复杂度主要取决于递归时栈空间的开销,最坏情况下,树呈现链状,空间复杂度为 O(N)。平均情况下树的高度与节点数的对数正相关,空间复杂度为 O(log⁡N)

参考:
https://www.programmercarl.com/0111.%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%9C%80%E5%B0%8F%E6%B7%B1%E5%BA%A6.html

http://www.yayakq.cn/news/224043/

相关文章:

  • 新注册网站专业生产车间设计图纸网站
  • 做网站公司不给源代码软件工程考研学校推荐
  • 深圳创建网站网络营销的优势
  • 广告公司网站(附falsh及源代码)企业平台网
  • 视频网站建设的背景简介长岛网站建设费用
  • 厦门网站建设建设公司淘宝网络营销案例分析
  • 做pc端网站渠道青岛网页设计哪个公司好
  • 做推广网站那里好周村网站制作哪家好
  • asp.net mvc5网站开发只有一个域名怎么做网站
  • 烟台市牟平区建设局网站手机版商城网站都有哪 些功能
  • 什么是搜索引擎推广苏州关键词seo排名
  • 中外商贸网站建设想学网络运营怎么开始
  • 菲律宾 网站开发公司易语言做网站客户端
  • 网站运营一个月多少钱兰溪网站建设
  • 手机网站 制作计算机网络设计实验报告
  • 怎么判断一个网站做的好不好临沂网站建设对实体企业
  • 内部网站建设要求马可波罗网
  • android开发基础西安seo外包行者seo06
  • seo网站建设技巧设计公司网站要包含什么信息
  • 深圳住房和城乡建设局网站余杭区建设局网站
  • 简述如何优化网站的方法网络架构的设计依据是什么
  • 程序员做电商网站的公司好吗网站 禁止查看源码
  • 热门的网站模板下载遵化建设局网站
  • 计算机企业网站建设论文微信 网站提成方案点做
  • 2022恢复线下教学通知长沙 网站优化
  • 做开发的工资一般多少seo研究中心qq群
  • 四平市网站建设菲律宾离中国多远
  • 泰安网站建设哪家快django网站开发视频
  • 主播网站怎么建立erp软件定制开发
  • 加拿大购物网站排名无锡网站建设高端