1. 程式人生 > 實用技巧 >二叉樹的定義和二叉樹的遍歷簡單使用

二叉樹的定義和二叉樹的遍歷簡單使用

樹就是一對多的關係,樹是非線性結構,他是由遞迴定義的,樹是由一個根結點和子樹所構成的,樹中最常見的就是二叉樹,

下面討論的都是二叉樹,二叉樹是由根結點和左右子樹構成的,而研究某一個結構上面的操作,就先要讓他可以在計算機中表示,即怎麼儲存他,線性表有順序儲存,也有鏈式儲存,

因為順序儲存二叉樹不太后續的操作,所以一般用鏈式儲存,

1.二叉樹結點的定義

#include <stdio.h>
#include<stdlib.h>
typedef struct BiNode 
{
    int data;
    struct BiNode* lchild, *rchild;
}BiNode,
*BiTree;

2.前中後序遍歷

//1.前序遍歷

void InOrderTraverse(BiTree T) 
{
    if (T)
    {
        printf("%d", T->data);
        InOrderTraverse(T->lchild);
        InOrderTraverse(T->rchild);
    }

}



//2.中序遍歷

void InOrderTraverse(BiTree T)
{
    if (T)
    {
        InOrderTraverse(T->lchild);
        printf(
"%d", T->data); InOrderTraverse(T->rchild); } } //3.後序遍歷 void InOrderTraverse(BiTree T) { if (T) { InOrderTraverse(T->lchild); InOrderTraverse(T->rchild); printf("%d", T->data); } }

好了,我們下回見,peace