二叉树进阶

“从0开始做LeetCode”之二叉树进阶

1+2.morris遍历

经典遍历:额外空间复杂度:O(h),因为要回到上级节点,压栈,这个栈可以是递归,也可以自己写
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
递归版过程:
在这里插入图片描述
有左子树,能来到它两次,没有左子树,只能来到它一次

在morris遍历中改先序,中序,后序:难

先序:
在这里插入图片描述
中序:
在这里插入图片描述
后序:

只关注能够来到两次的节点,在第二次来到该节点时候,逆序打印左子树右边界,最后单独打印一下整棵树右边界

在这里插入图片描述
在这里插入图片描述
3.平衡搜索二叉树

在这里插入图片描述
中序遍历,升序
前驱节点,后继节点

对比hash_map:时间复杂度:O(1)

查:时间复杂度:O(logN)
删:右子树最左的节点,左子树最右节点,但是不具平衡性

平衡搜索二叉树:O(log N)

改平衡性:
(1)AVL树
(2)红黑树
(3)S-B树
时间复杂度:O(logN)

基本操作:右旋,左旋

平衡性来自:LL、LR、RL、RR
代码不用会

3+.跳表
类似平衡搜索二叉树:但是底层不是树
算法时间复杂度:O(log N)

插数
在这里插入图片描述

4.大楼轮廓
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.最大搜索二叉子树
在这里插入图片描述
分析套路:列出可能性:左树是,右树是,整棵树是。然后收集信息

  1. 左树最搜大小
  2. 右数最搜大小
  3. 左树最搜头
  4. 右树最搜头
  5. 左树max
  6. 右树min
    在这里插入图片描述
    在这里插入图片描述

6.子数组最长累加和
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
拓展:
1、一个数组中,只有奇数和偶数,求奇数和偶数相等的子数组,将奇数设为1,偶数设为-1,和为0的最长子数组
2、一个数组中,只含有0和1,求一个数组中0和1数量相等的子数组
转换:1还是1,0变为-1,同1
3、一个数组中,含有0,1,2,求一个含有等量1和2的最长子数组,2变为-1,累加和为0
在这里插入图片描述

7.异或和为0最长子数组
在这里插入图片描述
没有太明白,有空了详细看
在这里插入图片描述
在这里插入图片描述
8.求一颗二叉树上的最远距离
在这里插入图片描述
分析套路:列出可能性:最大距离在左子树,最大距离来自右子树,带上根节点的整体。然后收集信息

  1. 左树深
  2. 右数深
  3. 左树最大距离
  4. 右树最大距离

然后递归求解
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
9.多叉树:员工活跃度
在这里插入图片描述
在这里插入图片描述
可能性:X来,X不来

  1. 来的活跃度
  2. 不来的活跃度

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
10.判断一棵树是否是平衡二叉树
在这里插入图片描述
套路:
可能性:左平,右平,整棵树平

返回信息:

  1. 左平或者不平
  2. 左平时候的高度
  3. 右平时候的高度

在这里插入图片描述
在这里插入图片描述
1.数据结构设计题:设计LRU
之后详细看
在这里插入图片描述
内存替换算法

hashmap+双向链表

在这里插入图片描述

2.设计LFU
之后详细看
在这里插入图片描述
在这里插入图片描述
3.返回字符串公式的计算结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.搜索二叉树,完全二叉树
在这里插入图片描述
搜索二叉树:中序遍历,跟踪升序
完全二叉树:按层遍历:两种条件判断
在这里插入图片描述
用leaf标记阶段开启
在这里插入图片描述
2.子数组的最大异或和
在这里插入图片描述
前缀树
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值