一、二叉树的建立
1 2 3 4 5
| struct Node{ ElementType Element; Position Left; Position Right; };
|
由上述代码,我们可以知道一个节点上有指向下层的左右指针和自身的数据
对于二叉树的遍历,有先序遍历(Preorder Traversal),中序遍历(Inorder Traversal),后序遍历(Postorder Traversal)三中基本方式
先序遍历
1 2 3 4 5 6 7 8 9
| void Preorder(struct node){ Position Tmp; Tmp = node; if(Node != NULL){ Preorder(Tmp->Left); printf("%3d",Tmp->Element); Preorder(Tmp->Right); } }
|
中序遍历
1 2 3 4 5 6 7 8 9
| void Preorder(struct node){ Position Tmp; Tmp = node; if(Node != NULL){ printf("%3d",Tmp->Element); Preorder(Tmp->Left); Preorder(Tmp->Right); } }
|
后序遍历
1 2 3 4 5 6 7 8 9
| void Preorder(struct node){ Position Tmp; Tmp = node; if(Node != NULL){ Preorder(Tmp->Left); Preorder(Tmp->Right); printf("%3d",Tmp->Element); } }
|