c語言資料結構二叉樹簡單應用
在電腦科學中,二叉樹是每個節點最多有兩個子樹的樹結構。通常子樹被稱作「左子樹」(left subtree)和「右子樹」(right subtree),接下來我就在這裡給大家介紹一下二叉樹在演算法中的簡單使用:
我們要完成總共有
(1)二叉樹的建立
(2)二叉樹的先中後序遞迴遍歷
(3)統計葉子結點的總數
(4)求樹的高度
(5)反轉二叉樹
(6)輸出每個葉子結點到根節點的路徑
(7)輸出根結點到每個www.cppcns.com葉子結點的路徑。
定義二叉樹結點型別的結構體
typedef struct nodebitnode,*bitree;
int cnt=0;//統計葉子節點個數
二叉樹的建立
bitnode *create()
二叉樹的先序、中序、後序遞迴遍歷
void preorder(bitree root) }
void inorder(bitree root) }
void postorder(bitree root)
}統計葉子結點個數:
void leafcountnode(bitrwww.cppcns.comee root)
}輸出各個葉子結點值:
void iinorder(bitree root)
}求樹的高度:
int posttreedepth(bitree root)
else
}反轉二叉樹:
void mirrortree(bitree root)
}輸出每個葉子結點到根節點的路徑:
void outputpath(bitree root,char path,int len)
path[len]=root->data;
outputpath(root->lchild,path,len+1);
outputpath(root->rchild,path,len+1); } }
輸出根到每個葉子結點的路徑:
void printpath(bitree root,char path,int l)
path[len]=root->data;
printpath(root->lchild,path,len);
printpath(root->rchild,path,len);
} }
測試**:
int main(void)
本文標題: c語言資料結構二叉樹簡單應用
本文位址:
資料結構 二叉樹常用簡單應用
define max 100 typedef struct bitree typedef struct bitnode,bitree 1.先序遍歷void preorder bitree root 2.中序遍歷 void inorder bitree root 3.後序遍歷 void postord...
C語言 資料結構 二叉樹
一 樹的概念及結構 1.樹是一種非線性的資料結構,它是由n n 0 個有限結點組成乙個具有層次關係的集合。把它叫做樹是因為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。它具有以下的特點 每個結點有零個或多個子結點 沒有父結點的結點稱為根結點 每乙個非根結點有且只有乙個父結點 除了根結點外,...
資料結構 二叉樹(c語言)
一下 是二叉樹的相關 包括二叉樹的根據前序遍歷建立二叉樹。根據前序遍歷 中序遍歷與後續遍歷依次查詢二叉樹的各個節點。include 定義二叉樹節點資料型別 typedef struct bitnode bitnode,bitree bitree為指向bitnode這種結構的指標 前序構造二叉樹函式 ...