一、二叉树问题概述

二叉树类型的题目为常考题型

原因:

  • 能够结合队列、栈、链表、字符串等多数据结构
  • 需要掌握图的基本遍历方法,比如BFS和DFS
  • 需要掌握递归函数的使用,并自己设计出递归过程
  • 二叉树问题与实际工作结合紧密

 

二、二叉树先序,中序和后序遍历

先序遍历:先遍历头节点,再遍历左子树,再遍历右子树

中序遍历:先遍历左子树,再遍历头节点,再遍历右子树

后序遍历:先遍历左子树,再遍历右子树,再遍历头节点

先序遍历

递归实现逻辑

【面试算法】——二叉树(一)

非递归实现逻辑

【面试算法】——二叉树(一)

 

中序遍历

递归实现

【面试算法】——二叉树(一)

非递归实现

【面试算法】——二叉树(一)

 

后序遍历

递归实现

【面试算法】——二叉树(一)

非递归实现

【面试算法】——二叉树(一)

【面试算法】——二叉树(一)

 

复杂度

三种遍历的非递归算法的时间复杂度为O(N),空间复杂度为O(L),N为二叉树的节点数,L为二叉树的层数

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

  • 2021-05-21
  • 2022-12-23
  • 2021-12-27
  • 2021-07-01
  • 2022-02-23
  • 2021-06-13
  • 2021-07-28
  • 2022-12-23
猜你喜欢
  • 2021-06-04
  • 2021-09-20
  • 2021-08-31
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案