本文主要用python实现二叉树的4种遍历算法,除层次遍历外,前序、中序和后序遍历分别包含递归和非递归2种实现方式。
前序遍历
1 | # -----------前序遍历 ------------ |
中序遍历
1 | # -----------中序遍历 ------------ |
后序遍历
1 | # -----------后序遍历 ------------ |
层次遍历
1 | # -----------层次遍历 ------------ |
完整代码
1 | class NodeTree: |
运行结果1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25前序遍历递归
1 2 4 7 3 5 6
前序遍历非递归
1 2 4 7 3 5 6
中序遍历递归
4 7 2 1 5 3 6
中序遍历非递归
4 7 2 1 5 3 6
后序遍历递归
7 4 2 5 6 3 1
后序遍历非递归
7 4 2 5 6 3 1
层次遍历
1 2 3 4 5 6 7
==========================================================================
C B E H G I F D A
A B C D E F G H I