C語言實現二叉樹的基本操作

2021-07-10 10:46:04 字數 1138 閱讀 1991

我在前面的部落格中講解了鍊錶、棧和佇列,這些資料結構其實都是線性表,並且給出了詳細的實現。從今天開始,我們將要來學習樹,樹作為一種資料結構我們經常會用到,作為起步和基礎,我們先來實現二叉樹,也就是每個節點有不超過2個子節點的樹。對於樹的操作,最基本的建立、遍歷、求樹高、節點數等。**上傳至  。

(1)節點的定義

typedef struct btnodebitnode;

(2)二叉樹的建立

//先序建立二叉樹

int createbitree(bitnode **t)

else

else

}return 1;

}

(3)先序遍歷二叉樹

//先序遍歷二叉樹

void preorderbitree(bitnode *t)

else

}

(4)中序遍歷二叉樹

//中序遍歷二叉樹

void middleorderbitree(bitnode *t)

else

}

(5)後續遍歷二叉樹

//後續遍歷二叉樹

void postorderbitree(bitnode *t)

else

}

(6)二叉樹的深度

//二叉樹的深度

int treedeep(bitnode *t)

return deep;

}

(7)葉子節點個數

//葉子節點個數

int leafcount(bitnode *t)

leafcount(t->lchild);

leafcount(t->rchild);

}return count;

}

(8)測試函式

//主函式

int main(int argc,const char *argv)

c語言實現二叉樹的基本操作

hljs lasso include 二叉樹的節點定義 typedef struct treenode btnode,pbtnode 先序構造二叉樹 void createbtree pbtnode root 先序遍歷二叉樹 void preorder pbtnode root 中序遍歷二叉樹 vo...

C語言實現二叉樹的基本操作

如下 include include 二叉樹的節點定義 typedef struct treenode btnode,pbtnode 先序構造二叉樹 int createbitree pbtnode t return1 先序遍歷二叉樹 void preorder pbtnode root 中序遍歷二...

二叉樹的基本操作(C語言實現)

include include 二叉樹的節點定義 typedef struct treenode btnode,pbtnode 先序構造二叉樹 void createbtree pbtnode root 先序遍歷二叉樹 void preorder pbtnode root 中序遍歷二叉樹 void ...