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

杨和网站设计制作如何自己制作一款手游

杨和网站设计制作,如何自己制作一款手游,各类最牛网站建设,app下载安装安卓版相关推荐 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.hkea.cn/news/14435328/

相关文章:

  • html5 电商网站模板网站建设教程哪个好
  • 网站开发服务内容如何给wordpress增加表单
  • 个人网站怎么盈利商标注册证电子版查询
  • 上海哪家网站建设公司好html简单登录页面代码
  • 专业的网站开发公众号怎么做文章
  • 商城网站开发方案书怎样给网站增加栏目
  • 哪里有零基础网站建设教学公司中国视觉设计网站
  • 中国建设银行广东分行网站WordPress访问数据插件
  • 做直播网站赚钱建网站如何添加会员模式
  • 网页建站实用技术企业建设门户网站有哪些
  • 网站建设最重要的环节财经大学网站建设
  • 南京振高建设有限公司官方网站太原云建站模板
  • 建材做哪些网站好北京代理记账公司
  • 最便宜做网站住房和城乡建设部投诉电话
  • 网页设计作业电影介绍网站dede静态网站模板下载
  • 推荐网站建设服务商网站开发服务费分录
  • 周口网站建设公司农业电商网站建设方案
  • 网站开发技术项目说明书58同城网站建设的不足
  • 做爰视频在线观看免费网站wordpress商城安装教程
  • 北京正规做网站公司网站的需求分析包括哪些
  • 做贸易注册网站用自己名字网站后台文章删了 怎么前台还有
  • php 网站开发文档怎么写北京网站建设开发
  • 零售管理系统哪个软件好给你一个网站你如何做优化
  • 网络服务提供者不得在什么时间seo建站外贸
  • 网站联系方式设计深圳网站建设公司哪家好
  • 服装网站 欣赏怎样安装网站模板
  • 重庆龙华网站建设公司东莞哪家网站建设
  • dw软件下载官方网站爬知乎文章做网站
  • 农产品信息网站的建设深圳公司装修设计
  • 做商城网站那个好建站平台入口