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

德州市住房建设局网站开源网站模板cms

德州市住房建设局网站,开源网站模板cms,洛阳网站建设公司,今天重大新闻R3-树与二叉树篇. 目录 从前序与中序遍历序列构造二叉树 算法思路: 灵神套路 从中序与后序遍历序列构造二叉树 算法思路: 灵神套路 从前序和后序遍历序列构造二叉树 算法思路: 灵神套路 从前序与中序遍历序列构造二叉树 算法…

R3-树与二叉树篇.

目录

从前序与中序遍历序列构造二叉树

算法思路:

灵神套路 

从中序与后序遍历序列构造二叉树

算法思路: 

灵神套路 

从前序和后序遍历序列构造二叉树

算法思路:  

灵神套路 

从前序与中序遍历序列构造二叉树

算法思路:

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def buildTree(self, preorder: List[int], inorder: List[int]) -> Optional[TreeNode]:#仅限于无结点重复的序列def recur(root,left,right):#递归终止条件(遍历一遍中序遍历完成)if left>right:return#建立根节点的子树node=TreeNode(preorder[root])i=dict[preorder[root]]#左子树递归node.left=recur(root+1,left,i-1)#右子树递归node.right=recur(i-left+root+1,i+1,right)return node#存储中序遍历的值与索引的映射dict={key:index for index,key in enumerate(inorder)}return recur(0,0,len(inorder)-1)

灵神套路 

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def buildTree(self, preorder: List[int], inorder: List[int]) -> Optional[TreeNode]:def dfs(pre_l,pre_r,in_l,in_r):if pre_l==pre_r:return None#左子树大小left_size=dict[preorder[pre_l]]-in_lleft=dfs(pre_l+1,pre_l+1+left_size,in_l,in_l+left_size)right=dfs(pre_l+1+left_size,pre_r,in_l+1+left_size,in_r)return TreeNode(preorder[pre_l],left,right)#存储中序遍历的值与索引的映射dict={key:index for index,key in enumerate(inorder)}#左闭右开区间return dfs(0,len(preorder),0,len(inorder))

从中序与后序遍历序列构造二叉树

算法思路: 

灵神套路 
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def buildTree(self, inorder: List[int], postorder: List[int]) -> Optional[TreeNode]:def dfs(in_l,in_r,post_l,post_r):if post_l==post_r:return None#左子树大小left_size=dict[postorder[post_r-1]]-in_lleft=dfs(in_l,in_l+left_size,post_l,post_l+left_size)right=dfs(in_l+left_size+1,in_r,post_l+left_size,post_r-1)return TreeNode(postorder[post_r-1],left,right)#存储中序遍历的值与索引的映射dict={key:index for index,key in enumerate(inorder)}#左闭右开区间return dfs(0,len(inorder),0,len(postorder))

从前序和后序遍历序列构造二叉树

算法思路:  

灵神套路 
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def constructFromPrePost(self, preorder: List[int], postorder: List[int]) -> Optional[TreeNode]:def dfs(pre_l,pre_r,post_l):if pre_l==pre_r:return None#叶子结点if pre_l+1==pre_r:return TreeNode(preorder[pre_l])#左子树大小left_size=dict[preorder[pre_l+1]]-post_l+1left=dfs(pre_l+1,pre_l+1+left_size,post_l)right=dfs(pre_l+1+left_size,pre_r,post_l+left_size)return TreeNode(preorder[pre_l],left,right)#存储前序遍历的值与索引的映射dict={key:index for index,key in enumerate(postorder)}#左闭右开区间return dfs(0,len(preorder),0)

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

相关文章:

  • 建个网站的电话有哪些网站是cms
  • a站全称o2o网站设计
  • 济南网站优化推广腾讯企点网页版
  • 潍坊公司网站模板建站合肥建设银行网站首页
  • 能发朋友圈的网站建设广告语北京seo网络优化招聘网
  • 厦门中科做网站总打电话来wordpress 新闻列表
  • 网站哪家公司做得好建立网站信息发布登记制度
  • 做游戏的php网站有哪些传奇类游戏网站
  • 网站架构布局wordpress 做网课网站
  • 延吉网站建设多少钱wordpress 手机插件
  • 云主机 网站 多个二级域名 seo优化网站备案部门
  • 公司做网站买域名之后做什么网站建设客户调查需求表
  • 织梦网站文章相互调用网站开发 后端服务
  • 国内做的好的电商网站有哪些网站开发新闻管理系统的背景
  • 网站建设费用分类网页设计知识
  • app小程序网站开发是什么一级消防工程师考试题库及答案
  • 网站被黑做嫒嫒网站
  • 公司查询网站查询系统枣庄做网站优化
  • 九江网站建设优化公司学习如何做网站
  • 校园网站源码php有没有安全一点的网站
  • icp备案和网站不符搜索引擎优化需要多少钱
  • 淘宝作图在哪个网站上做图wordpress前台英文后台中文
  • 福州网站建设免费咨询四川工程造价信息网
  • 做钢结构网站有哪些山西网站备案多久
  • 寮步网站建设极致发烧主视觉设计网站
  • 广州建网站公司网页界面设计中表单的组成部分有哪四方面
  • 东莞好的网站建设公司怎样做好手机网站建设
  • 做网站的步骤的文本淮南直聘网
  • 上海品牌网站开发济南电商代运营公司
  • 如何运用网站做宣传做+淘宝客最大的网站是叫什么