栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

二叉树的基本操作

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

二叉树的基本操作

#include
#define ll long long
//#define int ll
#define pii pair
#define mem(a,b) memest(a,b,sizeof(a))
#define endl 'n'
#define N 100005
const int inf=0x3f3f3f3f;
const double pi=acos(-1.0);
using namespace std;
int c=0;
int sum[N],co=-1;
typedef struct TNodes//定义二叉树 
{
    char data;
    TNodes *lnode,*rnode;
}*TNode;

void CreatTree(TNode &t) //创建二叉树 
{
    char c;
    cin>>c;
    if(c=='#') t=NULL;
    else
    {
        t=new TNodes;
        t->data=c;
        CreatTree(t->lnode);
        CreatTree(t->rnode);
    }
}

int Depth(TNode t)// 求二叉树深度 
{
    if(!t) return 0;
    int m=Depth(t->lnode);
    int n=Depth(t->rnode);
    if(m>n) return m+1;
    else return n+1; 
}

int jds(TNode t)//求树叶节点数
{
    if(!t) return 0;
    if(!t->lnode&&!t->rnode) return 1;
    return jds(t->lnode)+jds(t->rnode);
}

void Width(TNode t,int k)//求宽度
{
    co=max(co,k);
    if(!t) return;
    if(!t->lnode&&!t->rnode) sum[k]++;
    Width(t->lnode,k+1);
    Width(t->rnode,k+1);
}

int Tree2(TNode t)// 树叶结点为2的个数(c为全局变量) 
{
    if(!t) return 0;
    if(t->lnode&&t->rnode) c++;
    Tree2(t->lnode);
    Tree2(t->rnode);
    return c;
}

int Tree1(TNode t)// 树叶结点为1的个数
{
    if(!t) return 0;
    if(t->lnode&&!t->rnode) c++;
    else if(!t->lnode&&t->rnode) c++;
    Tree1(t->lnode);
    Tree1(t->rnode);
    return c;
}

int get(TNode t)//空链域个数 
{
    if(!t) return 0;
    if(!t->lnode) c++;
    else(get(t->lnode));
    if(!t->rnode) c++;
    else(get(t->rnode));
    return c;
}

void houxu(TNode t)//先序转后序 
{
    if(t)
    {
        houxu(t->lnode);
        houxu(t->rnode);
        cout<data;   //转什么序把这句放到哪 
    }
}

signed main()
{
    TNode t;//定义 
    CreatTree(t);
    cout<     cout<     
    Width(t,1);
    int Max=-1;
    for(int i=1;i<=co;i++)
    {
        Max=max(Max,sum[i]);
    }
    cout<     
    cout<     cout<     cout<     houxu(t);
    return 0; 
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/832655.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号