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

wordpress成品站源码柳州做网站的

wordpress成品站源码,柳州做网站的,园林古建设计网站,婚恋网站女代我做彩票相关推荐 python coding with ChatGPT 打卡第12天| 二叉树#xff1a;理论基础 python coding with ChatGPT 打卡第13天| 二叉树的深度优先遍历 python coding with ChatGPT 打卡第14天| 二叉树的广度优先遍历 文章目录 翻转二叉树Key Points相关题目视频讲解重点分析递归遍历…相关推荐 python coding with ChatGPT 打卡第12天| 二叉树理论基础 python coding with ChatGPT 打卡第13天| 二叉树的深度优先遍历 python coding with ChatGPT 打卡第14天| 二叉树的广度优先遍历 文章目录 翻转二叉树Key Points相关题目视频讲解重点分析递归遍历层序遍历 对称二叉树Key Points相关题目视频讲解重点分析递归法迭代法 翻转二叉树 Key Points 只要把每个节点的左右孩子翻转一下就可以达到整体翻转的效果可选择深度优先遍历递归遍历或广度优先遍历层序遍历 相关题目 226. 翻转二叉树 视频讲解 翻转二叉树 重点分析 递归遍历 前序 def invertTreePreOrder(root):if not root:return Noneroot.left, root.right root.right, root.leftinvertTreePreOrder(root.left)invertTreePreOrder(root.right)return root 中序 def invertTreeInOrder(root):if not root:return NoneinvertTreeInOrder(root.left)root.left, root.right root.right, root.leftinvertTreeInOrder(root.left) # 注意这里应该再次调用左子树return root 在中序遍历中我们先递归地处理左子树然后交换当前节点的左右子节点最后处理右子树。注意由于我们在交换后再递归右子树实际上我们需要两次递归左子树。 中序 法2 def invertTree(root):if not root:return rootright root.right # 先把右子树存起来# 左invertTree(root.left)# 根root.left, root.right root.right, root.left# 右invertTree(right)return root 后序 def invertTreePostOrder(root):if not root:return NoneinvertTreePostOrder(root.left)invertTreePostOrder(root.right)root.left, root.right root.right, root.leftreturn root 层序遍历 def inverTree(root):if not root:return rootqueque_record [root]while queque_record:node queque_record.pop(0)node.left, node.right node.right, node.left # 这里不管是先翻转左右节点还是先加入左右节点都可以if node.left:queque_record.append(node.left)if node.right:queque_record.append(node.right)return root在实现迭代法的过程中有同学问了递归与迭代究竟谁优谁劣呢 从时间复杂度上其实迭代法和递归法差不多在不考虑函数调用开销和函数调用产生的堆栈开销但是空间复杂度上递归开销会大一些因为递归需要系统堆栈存参数返回值等等。 递归更容易让程序员理解但收敛不好容易栈溢出。 这么说吧递归是方便了程序员难为了机器各种保存参数各种进栈出栈。 在实际项目开发的过程中我们是要尽量避免递归因为项目代码参数、调用关系都比较复杂不容易控制递归深度甚至会栈溢出。 对称二叉树 Key Points 二叉树类的题目确定遍历顺序非常重要 相关题目 101. 对称二叉树 视频讲解 同时操作两个二叉树 重点分析 递归法 def isSymmetric(root):if not root:return Truereturn compare(root.left, root.right)def compare(left, right):if not left and not right:return Trueif not left:return Falseif not right:return Falseif left.val ! right.val:return Falsecon1 compare(left.left, right.right)con2 compare(left.right, right.left)if con1 and con2:return Truereturn False迭代法 使用栈 def isSymmetric(root):if not root:return Truestack_record [(root.left, root.right)]while stack_record:left, right stack_record.pop()if not left and not right:continue # 不能直接return Trueif not left:return Falseif not right:return Falseif left.val ! right.val:return Falsestack_record.append([left.left, right.right])stack_record.append([left.right, right.left])return True使用队列 def isSymmetric(root):if not root:return Truequeue_record [(root.left, root.right)]while queue_record:left, right queue_record.pop(0)if not left and not right:continue # 不能直接return Trueif not left:return Falseif not right:return Falseif left.val ! right.val:return Falsequeue_record.append([left.left, right.right])queue_record.append([left.right, right.left])return True
http://www.dnsts.com.cn/news/4100.html

相关文章:

  • 网站备案怎么转入不用开源程序怎么做网站
  • 成都网站建设软件深圳做网站比较
  • 电话投放小网站ui设计招聘
  • 济南高新区 网站建设公司广东建设网证件查询
  • 站长综合查询工具网站建设的描述
  • 网站上怎么做企业推广内蒙网站建设seo优化
  • 天津建设厅网站品牌设计logo图片
  • 网站建设部门宣言uniapp跳转内部页面
  • 深圳网站搭建多少钱佛山商城网站制作
  • php门户网站模板下载wordpress .net版本号
  • 怎么建立免费个人网站网络营销网站 功能
  • 给外国小孩 做 英语题用的网站百度小程序优化
  • 大型网站建设公司沈阳网络信息有限公司
  • 网站怎么做详情页nginx wordpress安全
  • 深圳市网站制作公司鸿蒙app开发工具
  • 免费网站制作软件网站js时间代码
  • 用别人服务器做网站国内10大搜索引擎
  • wordpress网站插件学电脑培训班多少一个月
  • 深圳网站建设定制开发超凡科技seo网络推广培训
  • 做公司网站可以抄别人的吗工业和信息化部电信设备认证中心
  • 网站备案 链接公司电商网站建设费用怎么记账
  • 好用的网站系统网站推广怎么做
  • 交通局网站模板现货行情分析软件app
  • 淘宝做动图网站泰安微信网站建设
  • 网站备案要多少天xsxz wordpress
  • php网站开发源码wordpress 子模板
  • 怎么做企业网站推广赚钱1网站免费建站
  • 优化网站关键词的技巧统一企业官网
  • 只做app不做网站可以吗网站建设需要参考哪些文献
  • 成都网站推广如何做书签网站