第九周 纸上谈兵:“知原理”检验题目

1、某树,用括号表示法描述为:A(B(E),C(F,G(I,J),H(K)),D) 

(1)请用树形表示法,画出这个树 
(2)双亲表示法的数据结构定义为

typedef struct 
{
    ElemType data;
    int parent;
} PTree[MaxSize];
 
 
  • 1
  • 2
  • 3
  • 4
  • 5

请描述这个树利用双亲表示法时的存储 
(3)用孩子链存储时,每个节点定义下面的类型

typedef struct node
{
   ElemType data;   
   struct node *sons[MaxSons];
} TSonNode;
 
 
  • 1
  • 2
  • 3
  • 4
  • 5

请描述这个树利用孩子链表示法时的存储 
(4)孩子兄弟链存储结构中的节点定义为

typedef struct tnode 
{
  ElemType data;    //节点的值
  struct tnode *hp;     //指向兄弟
  struct tnode *vp;     //指向孩子节点
} TSBNode;
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

请描述这个树利用孩子兄弟链表示法时的存储 
(5)树结构还可以用一种孩子链表示法

//定义孩子节点,将形成一个单链表
typedef struct node
{
   Int no;   //孩子节点编号   
   struct node *next;  //指向下一个孩子
} NodeType;
//定义树节点类型,各节点组成顺序存储的线性表,若节点要作为孩子节点,“孩子节点编号(no)”即为在顺序表中的序号
typedef struct 
{
    ElemType data;   //元素值
    NodeType *firstChild;  //指向第一个孩子
} CTree[MaxSize];
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

请描述这个树利用孩子兄弟链表示法时的存储。

2、某二叉树的顺序存储结构如下所示: 
这里写图片描述 
(1)请用树形表示法,画出二叉树的结构 
(2)请用括号表示法,给出这个二叉树的表示 
(3)请写出这个二叉树的先序、中序、后序遍历序列

3、二叉树还可以采用一种“伪”链式存储结构,如下所示 
这里写图片描述 
其中,lchild和rchild分别为节点左右孩子的指针域(在这里,使用节点编号作为指针域值,0表示指针域为空),data为节点的数据域。请画出这个二叉树的树形表示。

4、一棵二叉树的先序、中序和后序序列分别如下所示,其中有一部分未显示出来: 
先序:_B_F_ICEH_G 
中序:D_KFIA_EJC_ 
后序:_K_FBHJ_G_A 
请求出空格处的内容,并画出二叉树。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值