- 学习节奏、时间安排比第一周有所提高,但仍不完美
- 初步体会到了老师推荐的做题方法的效果
- 本周的学习内容为树和图,这类数据结构依旧比较直观,实现比链表更复杂,但是在各种题目上的应用需要大量练习来熟悉
- 做好下一周学习的准备、时间安排
- 不断更新知识体系脑图
-
树的面试题解法一般都是递归,为什么?
就像链表一样,树的定义也是递归的,而以递归方式定义的数据结构可以很直观地使用递归的操作进行遍历。
以二叉树为例,二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树。由这个定义可以很容易地写出递归遍历二叉树的程序:
- 二叉树是一棵空树 => 判空
- 一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树 => 递归处理左右子树,(叶子节点没有子节点,可以被上一条判空处理)