您的位置:首页 > 理论基础 > 数据结构算法

【数据结构_树_Tree_0972】统计利用先序计算二叉树宽度

2017-03-16 22:00 260 查看
A##

ABC####

AB##C##

ABCD###E#F##G##

A##B##
-------------------------------------

1

3

2

4

1

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
typedef struct node
{
char data;
struct node *L_Kid,*R_Kid;
}Tree;
int a[1005]={0};
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 width(Tree *&T,int l)
{
if(T!=NULL)
{
a[l]++;
width(T->L_Kid,l+1);
width(T->R_Kid,l+1);
}
}
int main()
{
Tree *T;
initTree(T);
int l=1;
width(T,l);
int max=a[0];
for(int i=0;i<100;i++)
{
if(a[i]>max) max=a[i];
}
cout<<max;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐