关于数据结构的问题

typedef struct BiTNode { // 结点结构
TElemType data;
struct BiTNode *lchild, *rchild;
// 左右孩子指针
} BiTNode, *BiTree;
这是一个二叉链表的存储表示,可是我看不太懂,谁能把它的每句话都给我“翻译”一下,就像它原来的注释那样翻译,谢啦

typedef struct BiTNode // 1
{ //2
TElemType data; //3
struct BiTNode *lchild, *rchild; //4
} BiTNode, *BiTree; //5
//1 struct 是声明一个结构体,其成员data,
先和下面哪一个对比一下:
例1.
struct Student
{
int data;
struct Student *next;
}
这个是声明一个结构体Student(相信你会已经知道)
//1 typedef 是类型声明,用typedef声明一个类型名来代替已有的类型名,例如:typedef int TElemType;
这样,以下两行等价:
int data;
TElemType data;
typedef这样的用意是可以是人更一幕了然知道他们是用于什么的。
//3 TElemType我推算它应该就是给Tydedef声明为int的;
//5 BiTNode就是给//1 typedef声明的,所以以下2行等价:
BiTNode i;
BiTNode i;(- -!发现多此一举)
至于*BiTree,就是typedef声明BiTree为BiTNode类结构体指针类型;这样以下2行是等价的:
BiTNode *P;
BiTree p;
//4 "struct BiTNode *lchild, *rchild; "和我给它例1中的“struct Student *next;”种类一样,是指向Student结构体的变量,next是指针类型的成员,它指向Student类型数据(就是next所在的结构类型)。当然,next写成其他,例如:struct Student *lchild。明白了这个再理解struct BiTNode *lchild, *rchild;就不难了。我相信你以学过C语言或者C++,那么请看你在那里不明白,就应该补补那那里.
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-03-15
这是一个类型定义.它把BiTNode和BiTree定义为一个新类型,这个类型就是括号里表示的这个结构体.即二叉树结点.在这以后,你再要定义一个这样的结构体,如A,你就可以这样写
BiTNode A;而用第二个,你就可以定义一个指向这样结点的指针.这样就不用重写原来那个结构的全部内容了.不知我这样说你能不能明白.朋友.

关于数据结构的问题
1、选择D,因为最坏情况是每次判断a[j]>a[j+1]都成立,由于有两层循环,总次数为(n-1)+(n-2)+...+2+1=n(n-1)\/2=O(n^2)。2、程序是一组命令的集合,算法是设计好的可以解决问题的一组规则,二者不是一种东西。3、一个算法中的语句执行次数称为语句频度或时间频度,记为T(n)。...

关于数据结构的几个问题 判断对与错。也请解释下
13.错的 在顺序存储结构中逻辑上相邻的数据元素在物理地址上也必然相邻

数据结构的一些问题~
1、连通图 图内任意两个顶点均有可达路径,其中有向图的话,所有边都看作无向。满足这一性质的图为连通图 2、由于没说一定连通,所以有向图与无向图最少边数均为0 最多的话,有向图为n*(n-1),无向图为n*(n-1)\/2 3、无向图,理论最多边数为(n^2-n)\/4,其中点的数目平均分布在...

数据结构面试常见问题
数据结构面试常见问题 篇1 数据结构与算法,这个部分的内容其实是十分的庞大,要想都覆盖到不太容易。在校学习阶段我们可能需要对每种结构,每种算法都学习,但是找工作笔试或者面试的时候,要在很短的时间内考察一个人这方面的能力,把每种结构和算法都问一遍不太现实。所以,实际的情况是,企业一般考察一些看起来很基本...

数据结构到底难在哪里?
(1)无法接受它的描述方式。数据结构的描述大多是抽象的形式,我们习惯了使用自然语言表达,难以接受数据结构的抽象表达。不止一个学生问我,书上的“ElemType”到底是什么类型?运行时怎么经常提示错误。它的意思就是“元素类型”,只是这样来描述,你需要什么类型就写什么类型,例如int。这样的表达方式会...

面试问你们大数据项目的数据结构是怎样的
一些最常见的编程面试问题:1.数组编码面试问题 数组是最基本的数据结构,它将元素存储在一个连续的内存位置。这也是面试官们热衷的话题之一。以下是一些热门的基于数组的编程面试问题:1.如何在一个1到100的整数数组中找到丢失的数字?(方法)2.如何在给定的整数数组中找到重复的数字? (方法)3.如何在未...

数据结构时间复杂度问题?
第五题解析里的式子是一种两个连加的情况,连加的具体计算过程如下图所示,i-1代表外层循环的次数,当i=2时开始计算,一直连加到n-1,所以最后会变成n-1,具体操作如图所示,希望能为您解惑哦~具体过程,请笑纳~

关于数据结构(C语言版)的两个问题
如果不为空则弹出栈顶元素,将`top`减一。在遍历结束后,检查`stack`是否为空。如果为空,表示所有括号均匹配,返回1;否则表示存在未匹配的括号,返回0。通过上述程序,可以实现对给定字符串中括号匹配性的判断,对于数据结构(C语言版)中的括号匹配问题,此方法提供了一种简洁、高效的解决方案。

数据结构——图的相关问题
1、深度优先生成树的高度比广度优先生成树的高度:一般情况下要高 2、101 个顶点的连通网络 N 有 100 条边,此时的形态就是一棵树,当然最小生成树的权值和就是现在所有边的权值总和:(1 + 2 + 3 +... + 10)*10 = 55 * 10 = 550 ...

关于数据结构的题
( × )1. 链表的每个结点中都恰好包含一个指针。答:错误。链表中的结点可含多个指针域,分别存放多个指针。例如,双向链表中的结点可以含有两个指针域,分别存放指向其直接前趋和直接后继结点的指针。( × )2. 链表的物理存储结构具有同链表一样的顺序。错,链表的存储结构特点是无序,而...

相似回答