(4 2)樹與二叉樹之二叉樹的遍歷

2021-10-03 02:15:59 字數 1295 閱讀 1109

typedef struct bitreenode

bitreenode,

*bitree;

void preorder(bitree bt)

}

typedef struct bitreenode

bitreenode,

*bitree;

void inorder(bitree bt)

}

typedef struct bitreenode

bitreenode,

*bitree;

void laorder(bitree bt)

}

typedef struct bitreenode

bitreenode,

*bitree;

void levelorder(bitree bt)

if(queue[front]

->rchild!=null)

//如果有右孩子,右孩子入隊 }

}

(1)建立二叉樹(先序和中序,中序和後序也可以建立一顆二叉樹)

(2)統計二叉樹中葉子結點的個數(先序遍歷)

(3)求二叉樹的深度(後序遍歷)

typedef struct bitreenode

bitreenode,

*bitree;

void bitree(char preord[

],char inord,

int n, bitree root)

//preord陣列存放先序遍歷的元素,inord存放的是中序遍歷的陣列元素

void preinord(char preord[

], char inord,

int i,

int j,

int k,

int h, bitree *t)

/注意這裡是雙指標

typedef struct bitreenode

bitreenode,

*bitree;

int countleaf(bitree t)

typedef struct bitreenode

bitreenode,

*bitree;

int bitreedepth(bitree bt)

二叉樹之 二叉樹深度

二叉樹深度 獲取最大深度 public static int getmaxdepth treenode root 二叉樹寬度 使用佇列,層次遍歷二叉樹。在上一層遍歷完成後,下一層的所有節點已經放到佇列中,此時佇列中的元素個數就是下一層的寬度。以此類推,依次遍歷下一層即可求出二叉樹的最大寬度 獲取最大...

構建二叉樹 遍歷二叉樹

陣列法構建二叉樹 public class main public static void main string args 用陣列的方式構建二叉樹 public static void createbintree 把linkedlist集合轉成二叉樹的形式 for int j 0 j 最後乙個父節...

樹之二叉樹

二叉樹是每個結點最多有兩個子樹的有序樹。通常子樹的根被稱作 左子樹 left subtree 和 右子樹 right subtree 二叉樹常被用作二叉查詢樹和二叉堆或是二叉排序樹。滿二叉樹 在二叉樹的第i 層上有2 i 1 個結點,深度為k的二叉樹有2 k 1個結點的二叉樹。則此二叉樹稱為 滿二叉...