为什么前中后序遍历用栈,而层序遍历使用队列 ? 二叉树的前中后序遍历的迭代时,我们用栈来简化操作,因为它们都是DFS的递归结构,也就是从下到上处理,但是我写代码一定是从root节点开始,所以需要栈,而栈正好是先进先出的。这样我才可以把处理root放在最后。 层序遍历是BFS,由上至下。最先入队的root也是我想最先处理的。这就是为什么DFS 使用栈而BFS使用队列的原因。 DFS的算法流程与模板 …
Algorithms
Created
Sun, 28 Feb 2021 00:00:00 +1300