代码随想录Day14

学习目标:

二叉树

学习内容:

  1. 二叉树定义
  2. 迭代

学习产出:

  1. 二叉树定义
    (1) 满二叉树
    (2) 完全二叉树:最后一层节点按顺序 (堆)
    (3)二叉搜索树:左子树小于中间节点小于右子树,左子树也满足该条件 (对节点无要求)
    (4)平衡二叉搜索树:左子树和右子树高度绝对值的差小于一,左子树也要满足该要求
  2. 存储方式
    (1)线性存储
    2i+1,2i+2
    (2) 链式存储
  3. 遍历
    (1)深度优先搜索(递归,迭代)
    前序: 中 左 右
    中序: 左 中 右
    后序: 左 右 中
    (2)广度优先搜索(层=迭代)

不同的次序只是改变顺序

class Solution:
    def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
        def inorder(root: TreeNode):
            if not root:
                return
            inorder(root.left)
            res.append(root.val)
            inorder(root.right)
        res = list()
        inorder(root)
        return res
  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值