有关二叉树问题,希望有人指点下,谢谢
来源:互联网 发布:淘宝自动下架时间 编辑:程序博客网 时间:2024/04/30 10:23
#include"stdlib.h" /* 存储分配头文件,或用"malloc.h" */
#include"stdio.h" /* 标准I/O头文件 */
#define NULL 0
#define MAX 100
#define LENG sizeof(struct Bnode) /* 确定结点所占空间的字节数 */
typedef char ElemType; /* 抽象元素类型为char类型 */
typedef struct Bnode /* Bnode为结点类型 */
{ char data; /* data为抽象元素类型 */
struct Bnode *lchild, *rchild; /* 为指针类型 */
}Bnode,*Btree;
void creat_tree(Bnode **root) /* root是指向指针的指针类型 */
{ /* 本算法递归生成二叉树 */
ElemType ch;
scanf("%c",&ch); /* 输入结点,字符型 */
if (ch==' ') *root=NULL; /* 生成空二叉树 */
else /* 生成非空二叉树 */
{ *root=(Bnode *)malloc(LENG); /* 申请结点空间 */
(*root)->data=ch; /* 生成根结点 */
(*root)->lchild=(*root)->rchild=NULL; /* 本行可省去 */
creat_tree(&(*root)->lchild); /* 递归生成左子树 */
creat_tree(&(*root)->rchild); /* 递归生成右子树 */
}
}
void outtree(Bnode *q)
{
if(q!=NULL){
outtree(q->lchild);
printf("%c",q->data);
outtree(q->rchild);
}
else
printf(" ");
}
int find(Btree q,int b)
{
switch(b){
case 0: /*求叶子数*/
if(q==0) return 0;
if(q->lchild ==0 && q->rchild ==0) return 1;
case 1: /*度为1的节点数*/
if(q==0) return 0;
if(q->lchild==0 || q->rchild==0) return 1;;
case 2: /*度为2的节点数*/
if(q==0) return 0;
if(!(q->lchild ==0 || q->rchild ==0)) return 1;
}
return (find(q->lchild,b)+find(q->rchild,b));
}
void main()
{
Bnode *p;
int a,b;
creat_tree(&p);
outtree(p);/*中序遍历递归*/
printf("请输入你要查找的节点度数b=");
scanf("%d",&b);
if(b>2)
printf("没有度为%d的节点,你输入有错!",b);
else{
a=find(p,b);
printf("%d",a);}
}
在计算节点数的那个算法里..算叶子和度为1的节点数可以,但求度为3的节点数却不行。它在执行完 if(!(q->lchild ==0 || q->rchild ==0)) return 1;这句后,在执行下面的时候,它跳过了 return (find(q->lchild,b)+find(q->rchild,b)); 使得结果只能是0和1。。望有大师能指点一下,,感激....
- 有关二叉树问题,希望有人指点下,谢谢
- 一个低级BCB的问题啊,希望有人能帮帮我,谢谢大家了!
- 希望大家指点指点!
- 小弟初学C#,真心希望能得到高人指点,先谢谢了!
- 一个数学建模题!希望能得到大家的指点!!谢谢了!
- dataadapter 更新到数据库出库,请大侠指点下,谢谢
- Qt 请求网页数据时总是出错!!希望有人能指点一下
- 一个关于OPENGL的问题,望高手指点......(谢谢)
- 请教淘宝API sign签名问题,望高人指点!谢谢!
- 刚刚搞出来的作业 希望有人可以给些意见 谢谢
- jquery入门遇到有关问题,请指点
- 多年困扰我的一个技术问题,希望这方面的专家指点一下,有关SQLServer并发控制方面的问题
- 多年困扰我的一个技术问题,希望这方面的专家指点一下,有关SQLServer并发控制方面的问题
- 多年困扰我的一个技术问题,希望这方面的专家指点一下,有关SQLServer并发控制方面的问题
- 新手上路 希望路过的人能给指点下
- SQL 约束小总结 希望大家多指点下
- POP3 邮件接收 出现乱码了,希望哪位能帮忙看下啥问题!帮我改下,谢谢
- webpart的两个未解决的问题,希望高手指点!!!!!
- JSP 彩色图片验证码
- 指定符号分割字符串
- Windows与Linux共存之重装Windows经历
- HTML指令详解
- 乱弹
- 有关二叉树问题,希望有人指点下,谢谢
- 如何在使用pdfFactory Pro生成PDF时自动创建目录书签
- VirtualBox 的安装与使用
- 1。C++常用代码总结(4)
- 常用CSS缩写语法
- 英语写作35个经典句型
- 从程序员到asp.net架构师转变(转载)
- libgist - vc7.1编译
- delphi treeview控件问题,寻求帮助!!!