2007年学习数据结构曾经用Java实现过,虽然还是知其然而不知其所以然,北大那本《数据结构与算法》(张铭、赵海燕、王腾蛟)教材上是用C++实现的。
非递归深度优先周游二叉树
- 栈是实现递归的最常用的结构
- 深度优先二叉树周游是递归定义的
- 利用一个栈来记下尚待周游的结点或子树,以备以后访问。
非递归中序周游二叉树
- 遇到一个结点,就把它推入栈中,并去周游它的左子树
- 周游完左子树后,从栈顶托出这个结点并访问之,然后按照它的右链接指示的地址再去周游该结点的右子树。
Java
1 | /** |
Submission Detail
- 68 / 68 test cases passed.
- Runtime: 1 ms
- Your runtime beats 60.69 % of java submissions.