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個結點的二叉樹。則此二叉樹稱為 滿二叉...