二叉树总结

递归返回值

1、如果需要搜索整棵二叉树且不用处理递归返回值,递归函数就不要返回值。

2、如果需要搜索整棵二叉树且需要处理递归返回值,递归函数就需要返回值。 

3、如果要搜索其中一条符合条件的路径,那么递归一定需要返回值,因为遇到符合条件的路径了就要及时返回。

从底向上遍历

需要从底向上遍历,那么二叉树,只能通过后序遍历(即:回溯)实现从底向上的遍历方式。在回溯的过程中,必然要遍历整棵二叉树,即使已经找到结果了,依然要把其他节点遍历完,因为要使用递归函数的返回值(也就是代码中的left和right)做逻辑判断。

二叉树遍历:前中后、层,递归,迭代(前中后用stk,使用null辅助,加入栈的顺序是反的;层序使用队列,按顺序入队出队)

完全二叉树(除了最后一列全满,最后一列只有左叶子结点)、平衡二叉树(每个结点的左子树和右子树高度相差小于等于1)、二叉搜索数(左边的所有值小于结点,右边的所有值大于结点)

求二叉树的深度(左子树和右子树的最大深度再加1)

二叉搜索树中的搜索(大于结点往右边搜,小于结点往左边搜)

二叉树的删除(没有右子树就直接返回root->left,有右子树遍历到右子树最左边的结点,和root swap值,再遍历左右子树删除)

二叉搜索树的删除(可以同上,也可以分析五种情况,利用二叉搜索树特性,多两个if判断需要遍历哪边子树删除)

从中序与后序遍历序列构造二叉树、从前序与中序遍历序列构造二叉树(构造二叉树一定要中序,后序和前序序列可以得到根结点,根节点再分割数组,递归返回构造结点,和结点的左右子树即可)

二叉树的最近公共祖先(递归的时候返回结点,告诉之前的结点找到的最近公共祖先是哪个,如果结点是空,或者结点=p或q就直接返回这个结点,遍历这个结点的左右子树,如果左右子树返回的结点不是空,那么返回这个结点,如果左子树返回值非空,右子树返回值空,返回左子树的结果,同理右子树,两个子树返回值都是空就直接返回空)

二叉搜索树的最近公共祖先(只要判断结点值是不是在pq之间就可以了,如果pq都小于结点值,返回遍历左边的值,都大于,遍历右边,else就直接返回当前结点)

二叉搜索树的插入(一定是可以插入到叶子结点的,遍历到null就新建结点并返回,当前值大于目标值,root->left = insert(root->left,val),反之同样)

合并二叉树、二叉树对称性、翻转二叉树(同时处理左右子树,不要怼着根节点,重点在左右子树结点的处理逻辑)

二叉搜索树中的众数、最小绝对差(pre指针记住前一个结点的要记录的值,和当前结点比较,再更新pre指针)

相关推荐

  1. 总结

    2024-04-15 01:28:01       15 阅读
  2. 路径总和系列问题

    2024-04-15 01:28:01       43 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-15 01:28:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-15 01:28:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-15 01:28:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-15 01:28:01       20 阅读

热门阅读

  1. L1-019 谁先倒python

    2024-04-15 01:28:01       17 阅读
  2. React中state和props有什么区别?

    2024-04-15 01:28:01       15 阅读
  3. InternlM2

    InternlM2

    2024-04-15 01:28:01      14 阅读
  4. Qt 事件

    Qt 事件

    2024-04-15 01:28:01      12 阅读
  5. 数据结构习题--数组拆分

    2024-04-15 01:28:01       18 阅读
  6. Python程序控制结构-课堂练习【pyhton123题库】

    2024-04-15 01:28:01       16 阅读
  7. FastAPI+Sqlalchemy执行【Mysql】原生sql

    2024-04-15 01:28:01       16 阅读
  8. 深度分析thinkphp类的自动加载

    2024-04-15 01:28:01       16 阅读
  9. 启动大模型训练常见的docker参数

    2024-04-15 01:28:01       15 阅读