数据结构——树的C语言实现
生活随笔
收集整理的這篇文章主要介紹了
数据结构——树的C语言实现
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 1.什么是樹?
- 2.如何判斷是否是樹?
- 3.樹的基本術(shù)語
- 4.樹的表示方法
- 5.二叉樹的定義
- 6.特殊二叉樹
- 7.二叉樹的性質(zhì)
- 8.二叉樹的抽象數(shù)據(jù)類型定義
- 9.二叉樹的存儲結(jié)構(gòu)
- 9.1順序存儲
- 9.2 鏈表存儲
- 10.二叉樹的遍歷
- 10.1 二叉樹的遍歷方法
- 1.遞歸遍歷
- 2.層序遍歷
- 10.2 二叉樹遍歷的C語言實現(xiàn)
- 1.遞歸遍歷的實現(xiàn)
- 2.層序遍歷的實現(xiàn)
1.什么是樹?
2.如何判斷是否是樹?
3.樹的基本術(shù)語
4.樹的表示方法
5.二叉樹的定義
6.特殊二叉樹
7.二叉樹的性質(zhì)
8.二叉樹的抽象數(shù)據(jù)類型定義
9.二叉樹的存儲結(jié)構(gòu)
9.1順序存儲
9.2 鏈表存儲
10.二叉樹的遍歷
10.1 二叉樹的遍歷方法
1.遞歸遍歷
2.層序遍歷
10.2 二叉樹遍歷的C語言實現(xiàn)
1.遞歸遍歷的實現(xiàn)
#include<stdio.h> #include<stdlib.h>#define ElementType inttypedef struct TreeNode *BinTree; struct TreeNode{ElementType Data;BinTree Left;BinTree Right; };//1.先序遍歷 void PreOrderTraversal(BinTree BT) {if(BT){printf("%d ",BT->Data);PreOrderTraversal(BT->Left);PreOrderTraversal(BT->Right);} }//2.中序遍歷 void InOrderTraversal(BinTree BT) {if(BT){InOrderTraversal(BT->Left);printf("%d ",BT->Data);InOrderTraversal(BT->Right);} }//3.后序遍歷 void PostOrderTraversal(BinTree BT) {if(BT){PostOrderTraversal(BT->Left);PostOrderTraversal(BT->Right);printf("%d ",BT->Data);} }//4.初始化樹 BinTree MakeEmpty() {BinTree BT;BT=(BinTree)malloc(sizeof(struct TreeNode));BT->Left=NULL;BT->Right=NULL;return BT; }int main() {int i;BinTree BT[7];for(i=0;i<7;i++){BT[i]=MakeEmpty();BT[i]->Data=i;}BT[0]->Left=BT[1];BT[0]->Right=BT[2];BT[1]->Left=BT[3];BT[1]->Right=BT[4];BT[2]->Left=BT[5];BT[2]->Right=BT[6];PreOrderTraversal(BT[0]);printf("\n");printf("%d %d\n",BT[0]->Data,BT[0]->Left->Data); }2.層序遍歷的實現(xiàn)
總結(jié)
以上是生活随笔為你收集整理的数据结构——树的C语言实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot前后端分离项目Mul
- 下一篇: 计算机网络——OSI参考模型