【資料結構_樹_Tree_0982】利用二叉樹儲存普通樹的度
阿新 • • 發佈:2019-01-29
Problem:資料結構中樹的度是什麼?
Answer:樹內各結點的度的最大值.(結點擁有的子樹數稱為結點的度).
一個元素的度是指其
孩子的個數;葉結點的度為0;一棵樹的度是其元素的度的最大值;
#include <stdio.h> #include <stdlib.h> #include <iostream> using namespace std; int maxn=0; typedef struct node { char data; struct node *L_Kid,*R_Kid; }Tree; void initTree(Tree *&T) { char str; cin>>str; if(str!='#') { T=(Tree *)malloc(sizeof(Tree)); T->data=str; initTree(T->L_Kid); initTree(T->R_Kid); } else T=NULL; } void Traverse(Tree *&T,int n) { if(T!=NULL) { Traverse(T->R_Kid,n+1); Traverse(T->L_Kid,1); } if(maxn<n) maxn=n; } int main() { Tree *T; initTree(T); int n=0; if(T->R_Kid==NULL) { Traverse(T,n); cout<<maxn-1; } else cout<<"ERROR"; return 0; }