【考研数据结构代码题4】求树中度为1的结点数(递归方式)

编程入门 行业动态 更新时间:2024-10-24 16:24:02

【考研数据结构代码题4】求树中度为1的结点数(<a href=https://www.elefans.com/category/jswz/34/1771140.html style=递归方式)"/>

【考研数据结构代码题4】求树中度为1的结点数(递归方式)

题目:用C语言描述树的孩子兄弟链表结构,并编写递归程序求树中度为1的结点数

难度:★★

算法思路:递归地遍历当前结点的左孩子子树与右兄弟子树,分别求二者中度为1的结点数记为h1,h2,若当前结点仅有1个结点,(即左孩子没有右兄弟时)那么总的度为1的结点数为sum1+sum2+1,否则为sum1+sum2

 

//树的左孩子右兄弟链表结构
typedef struct node{int data;struct node *lchild,*rbro;//lchild表示左孩子,rbro表示右兄弟 
}node; 
//统计树中度为1的结点树
int SumOneDegree(node *Tree){int sum1,sum2;//分别代表当前结点左孩子、右兄弟子树中度为1的总结点数//判空 if(!T){return 0;}else{sum1=SumOneDegree(Tree.lchild);sum2=SumOneDegree(Tree.rbro);//判断当前结点是否只有一个孩子,若是则度为1 if(Tree.lchild&&!Tree.lchild.rbro){return (sum1+sum2+1);}else{return (sum1+sum2);}} 
} 

更多推荐

【考研数据结构代码题4】求树中度为1的结点数(递归方式)

本文发布于:2023-11-15 12:39:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1599784.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:递归   结点   数据结构   代码   方式

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!