建立一个二叉树--为什么不对?request for member 'data' in something not a structure or union

作者&投稿:宇逄 (若有异议请与网页底部的电邮联系)
以先序遍历和中序遍历构建二叉树,然后用凹入表示法输出~

void PreOrder(BiTree T)
{
if(T)
{
printf("%c",T->data); //访问结点
PreOrder(T->lchild); //遍历左子树
PreOrder(T->rchild); //遍历右子树
}
}
数值和的平均值。 特别提醒:如果引

结构体访问成员变量的时候
结构体名.成员变量
结构体指针名->成员变量
BiTree *T 指向指针的指针
(*T)->lchild (*T)->rchild (*T)->data


数据结构-二叉树的创建?
有了这样的准备,就可以看看如何生成一棵二叉树了。假设二叉树的结点均为一个字符,把刚才前序遍历序列AB#D##C##用键盘挨个输入,实现的算法如下所示。二叉树建立实现代码一,如下所示。\/\/创建树\/\/按先后次序输入二叉树中结点的值(一个字符),#表示空树\/\/构造二叉链表表示的二叉树BiTree CreateTree...

46,88,45,39,70,58,101,10,66,34.建立一个二叉排序树,画出该二叉树,并...
平均查找长度=(1*1+2*2+3*3+4*2+5*2)\/10=3.2 也不知道对不对,不对的话请给的回复

用C语言建立一棵二叉树,使用二杈链表存储,对其进行后续遍历,输出后序...
include<stdio.h> include<iostream.h> include<stdlib.h> define Maxsize 100 typedef int datatype;typedef struct node { datatype data;struct node* lchild;struct node* rchild;}BTNode;void CreatBTNode(BTNode *&b,char * str){ BTNode *p,*st[Maxsize];int top=-1;p=NULL;b=NULL;i...

C语言先序建立二叉树(如何结束输入)
你的算法没啥大问题,毕竟是教材上的嘛。但咱就是说,你是不是当成单链表来输入了。。。要根据二叉树的结构来啊。输入二叉树不像输入单链表那样输完加上一个终止符' '(空格)就行,而可能需要多个终止符,因为树有多个结尾处。这说得可能比较抽象,下面以你连续输入a,b,c为例。首先根据你的...

数据结构二叉树
二叉树是十分重要的数据结构,主要用来存放数据,并且方便查找等操作,在很多地方有广泛的应用。二叉树有很多种类,比如线索二叉树,二叉排序树,平衡二叉树等。二叉树的建立采用的是递归的思想,给定一个指向根节点的指针,然后递归调用ceate函数,自动生成一个二叉树。

对一棵满二叉树,m个树叶,k个分枝节点,n个节点。则:( )
A、n=k+m。假设这棵树的高度为h,所以m=2^(h-1)、n=(2^h)-1、k=2^(h-1)-1,根据上述关系,可以得到A是正确的。满二叉树的结点要么是叶子结点,度为0,要么是度为2的结点,不存在度为1的结点。

数据结构 c语言版二叉树(1) 建立一棵含有n个结点的二叉树,采用二叉链 ...
;} } void main(){ printf("构建一个二叉树(结点数为n):\\n");root=create(root);printf("前序遍历二叉树:\\n");preorder(root);printf("\\n");printf("中序遍历二叉树:\\n");inorder(root);printf("\\n");printf("后序遍历二叉树:\\n");postorder(root);printf("\\n");} ...

二叉树如何变成森林?
二叉树转换成森林的方法是:(1)抹线:将二叉树中的根结点与其右孩子间的连线,及沿右分支搜索到的所有右孩子间的连线全部抹掉,使之变成孤立的二叉树,如图1所示。(2)还原:将孤立的二叉树用孩子兄弟法还原成树,如图1所示。树和森林都可以转换为二叉树,二者的不同是:树转换成的二叉树,其根...

这是一个建立二叉树的程序,但运行时我输完都回车了为什么还要我输入...
我刚好有个扩展先序输入,然后凹入法输出的源码,你改改就行了:include "stdio.h"include "malloc.h"typedef struct Node { char name;struct Node *LChild;struct Node *RChild;}BiTNode,*BiTree;void CreateBiTree(BiTree *bt){ char ch;ch=getchar();if(ch=='.')(*bt)=NULL;else { ...

关于二叉树树的建立过程中的参数传递问题
传递地址主要是考虑如下:防止没有初始化的空指针的传递,虽然传递指针相当于传递地址,但是NULL指针就不起作用了.比如,你第一次传递指针,它没有初始化,也就没有一个地址对应,你传递了它,其实没有什么用,当然如果你要它有作用也可以,就是返回值为它本身,用它来接收这个返回的指针....

灌南县18662939764: 建立一个二叉树,怎么检验它的正确性 -
人虏万复: 有两种方式来做检验:1. 直接绘图,将整个二叉树以层次遍历的方式打印出来,展现各个结点在二叉树中的位置(父节点是谁,自己是根节点,左节点还是右节点),这样可以与预设定的情况进行比较.2. 利用前序和中序序列可以唯一确定一个二叉树来做判定.前序和中序遍历二叉树,与二叉树的前序和中序序列进行比较,相同则正确,不相同则错误.(也可以用中序+后序来判定)

灌南县18662939764: c语言二叉树基本操作实现,代码有错误,求指点 [Error] 'createTree' was not declared in this scope -
人虏万复: void creatTree(BT /创建二叉树应该改成:void createTree(BT /创建二叉树...

灌南县18662939764: C语言二叉树问题,输入之后没有反应,下面这个建立二叉树的输入语句哪里不对嘛? -
人虏万复: 我推测,你的输入数据是否有问题.最简单的二叉树1到2和3 输入应该是12@@3@@ 你看看是不是这个问题,代码扫了一眼,没大毛病

灌南县18662939764: 请问C语言如何创建二叉树???? -
人虏万复: 创建二叉树的源程序如下: #include <cstdlib>#include <stdio.h>typedef struct node{ //树的结点int data;struct node* left;struct node* right;} Node;typedef struct{ //树根Node* root;} Tree;void insert(Tree* tree, int value)//创建树{Node* ...

灌南县18662939764: 二叉树(C语言)怎么创建? -
人虏万复: C语言中二叉树的创建需要用到结构体来定义一个树的数据类型.树这个数据结构有一些数据域,和多个指针域.当然,对于二叉树而言,一般可以定义两个指针域,分别指向root节点的左右子节点.数据结构定义:struct tree{ int data; //这里数据域以此为例 tree*right,*left;}; 真正构建二叉树可以使用动态内存申请,这是一种比较常见的方法(如果不会动态内存申请,可以先看看),但是这样做在子树很多时会耗费较多时间.因此可以事先开辟好一段内存空间用于存储树.比如 tree T[2000];如果需要建立新的子树,那么只需将数组中某个左右子节点赋值即可.如有疑问,欢迎继续追问.

灌南县18662939764: c语言数据结构:怎么建立一个二叉树? -
人虏万复: 只要将一个二叉树用“括号表示法”表示出来,然后,用链式存储结构将其各个结点存储就可以了,也就是输入一个二叉树.最后,用中序遍历输出! typedef struct node{ ElemType data;struct node *lchild,*rchild;} BTNode; //创建一个二叉树...

灌南县18662939764: 一棵二叉树为什么不一定是一棵树? -
人虏万复: 树的逻辑结构特征是:树中任一结点都可以有零个或多个直接后继(孩子)结点,但至多只能有一个直接前趋(双亲)结点.树形结构是非线性结构.二叉树是n(n≥0)个结点的有限集,它或者是空集(n=0),或者由一个根结点及两棵互不相交的分...

灌南县18662939764: 二叉树的建立 以下程序有什么错误啊 为什么我老是不能执行完成 调试成功后给10分 -
人虏万复: 这样试试 void Createbtree(BiTree T) //构造二叉树 BiTree { char ch;/*scanf("%c",&ch);*/ ch=getchar();/** 加入这一句**/ if(ch=='#')T=NULL; else {T=(BiTree)malloc(sizeof(BiTNode)); if(!T) printf("Error!");T->data=ch;Createbtree(T->lchild);Createbtree(T->rchild); } }

灌南县18662939764: 二叉树的创建和遍历 -
人虏万复: 我写了一个二叉树 你给看看 一定能行的 我自己用了 #include "stdio.h" #include "malloc.h" #include "string.h" #include "stdlib.h" #define Max 20 //结点的最大个数 typedef struct BinTNode{char data;struct BinTNode *lchild,*rchild; }...

灌南县18662939764: 关于c语言中二叉树的创建问题 -
人虏万复: #include#include typedef struct BiTNode{ char data; struct BiTNode * lchild,* rchild; }BiTNode,* BiTree; int CreatBiTree(BiTree *T){ char data; scanf("%c",&data); getchar(); if(data=='#') *T=NULL;/* 注意使用*T,不是T */ else{ *T=(BiTNode *)malloc(...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网