avatar

数据结构-二叉树

一、二叉树的建立

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);
}
}
文章作者: 咲夜南梦
文章链接: http://yoursite.com/2018/12/29/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84-%E4%BA%8C%E5%8F%89%E6%A0%91/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 咲夜南梦's 博客
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论