欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据结构 树常见算法问题

程序员文章站 2022-05-19 18:55:53
...

数据结构,树常见算法

算法和问题来自于试卷,辅导书,以及网络。

// 树的数据结构
typedef struct {            //树的双亲表示法
    char data;                   
    int parent;                //双亲下标
}PTNode;                    //节点
typedef struct {            //树的双亲表示法
    PTNode node[Maxsize];                   
    int n;                      //节点个数
}PTree;
//树的数据结构
typedef struct CSNode{            //树的双亲表示法
    char data;                   
    struct CSTNode *firstchild,*nextsibling;              //双亲下标
}CSNode,*CSTree;                    //节点

算法4.2.1

编程求以孩子兄弟表示法存储的森林的叶子节点数

分析:略

int Leaves(CSTree T)
{
	if(T==NULL)return 0;
	if(T->firstchild==NULL)
	return 1+Leaves(T->nextsibiling);
	if(T->firstchild!=NULL)
	return Leaves(T->nextsibiling)+Leaves(T->firstchild);
}

算法4.2.2

编程求以孩子兄弟表示法存储的树的深度

分析:略

int High(CSTree T)
{
	if(T==NULL)return 0;
	else
	return(Max(1+High(T->firstchild),High(T->nextsibiling))));
}