首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
[说明] 已知某二叉树的非叶子节点都有两个孩子节点,现将该二叉树存储在结构数组Ht中。节点结构及数组Ht的定义如下: #define MAXLEAFNUM 30 Struct node{ char ch; char *ps
[说明] 已知某二叉树的非叶子节点都有两个孩子节点,现将该二叉树存储在结构数组Ht中。节点结构及数组Ht的定义如下: #define MAXLEAFNUM 30 Struct node{ char ch; char *ps
admin
2012-04-11
44
问题
[说明]
已知某二叉树的非叶子节点都有两个孩子节点,现将该二叉树存储在结构数组Ht中。节点结构及数组Ht的定义如下:
#define MAXLEAFNUM 30
Struct node{
char ch;
char *pstr;
int parent;
int lchild, rchiid;
};
Struct node Ht[2 *MAXLEAFNUM];
该二叉树的n个叶子节点存储在下标为1~n的Ht数组元素中。例如,某二叉树如图8-26所示,其存储结构如图8-27所示,其中,与叶子节点a对应的数组元素下标为1,a的父节点存储在Ht[5],表示为Ht[1].parent=5。Ht[7].parent=0表示7号节点是树根,Ht[7].lchild=3、Ht[7].rchild=6分别表示7号节点的左孩子是3号节点、右孩子是6号节点。
如果用“0”或“1”分别标识二叉树的左分支和右分支如图8-26所示,从根节点开始到叶子节点为止,按所经过分支的次序将相应标识依次排列,可得到一个0、1序列,称之为对应叶子节点的编码。例如,图8-26中a、b、c、d的编码分别是100、101、0、11。
函数LeafCode(Ht[],n)的功能是:求解存储在Ht中的二叉树中所有叶子节点(n个)的编码,叶子节点存储在Ht[1]~Ht[n]中,求出的编码存储区由对应的数组元素pstr域指示。
[函数]
typedef enum Status {ERROR, OK} Status;
Status LeafCode (Struet node Ht[], int n)
{
int pc, pf;
int i, start;
char tstr[31]={’\0’);
for(i=1; (1) ; i++) {
start=29;
pc=i; pf=Ht
.parent;
while(Pf!= (2) ) {
if( (3) . lchiid==pc)
tstr[--start]=’0’;
else
tstr[-start]=’1’;
pc= (4) ; pf=Ht[Pf].parent;
}
Ht
.pstr=(char*)malloc(31-start);
if(!Ht
.pstr)return ERROR;
strcpy(Ht
. pstr, (5) ;
}
return OK;
}
选项
答案
i<=n,或其等价形式 0 Ht[pf],或(*(Ht+pf)) pf tstr+start或&tstr[start]
解析
题中已指出该二叉树的n个叶子节点存储在下标为1到n的Ht数组元素中,同时举例说明父节点编号为0的节点是树根节点。所以,(1)处应为“i<=n”。而到达根即父节点为0时,所以(2)处为“0”。pc用于指出树中的节点,pf则用于指出pc所对应节点的父节点,所以(3)处应为“Ht[pf]”,(4)处应为“pf”。根据tstr的作用,strcpy函数的实参应该是“tstr+start”或“&tstr[start]”,所以(5)处应该为“tstr+start”或“&tstr[start]”。
转载请注明原文地址:https://kaotiyun.com/show/TEVZ777K
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
虚拟存储技术的基本思想是利用大容量的外存来扩充内存,产生一个比实际内存大得多的虚拟内存空间。引入它的前提是(11)。 Ⅰ.程序局部性原理 Ⅱ.时间局部性原理 Ⅲ.空间局部性原理 Ⅳ.数据局部性原理
Cache存储器通常采用(4)存储器件构成。
在Windows操作系统中,如果要暂停一个ping会话过程,正确的操作是(66)。
适合使用原型法开发方法的情况是(9)。
内存按字节编址,地址从0A4000H到0CBFFFH。若用存储容量为32K×8bit的存储器芯片构成该内存,至少需要(3)。
以太网策略中有3种监听方法,其中一种是,一旦“介质空闲就发送数据,假如介质忙,继续监听,直到介质空闲后立即发送数据”,这种算法称为(31)监听算法。这种算法的主要特点是(32)。 CSMA/CD协议具有:中突检测功能,网络中的站点一旦检测到>中突,就立即停
X.25是CCITT关于分组交换网络的通信协议,其内容包括OSI参考模型(61);分组在X.25网中的传输方式,不含(62);两个X.25公用分组网之间互连时,采用的互连协议为(63);公用分组交换网的地址(编号)根据X.121建议编制,该地址中表示国别的
一个A类网络已有60个子网,若还要添加两个新的子网,并且要求每个子网有尽可能多的主机ID,应指定子网掩码为(48)。
随机试题
鼻尖在发际线至下巴________的位置。
FIDIC合同条件中,某些项目的工程量清单中包括“暂列金额”款项,对此款项的理解正确的是()。
土的基本分类包括()。
企业的库存现金应存放在出纳人员的抽屉内。()
把下面的六个图形分为两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是:
南北朝时期,统治者宣扬佛教或大肆毁佛,其根本原因是()。
1929年毛泽东在《关于纠正党内的错误思想》一文中着重提出
马克思主义认为,实现社会形态更替的重要手段和决定性环节是()。
下面的SQL语句能实现的功能是()。SELECT*FROM学生WHERE班级号=’’0801’’;UNION;SELECT*FROM学生WHERE班级号=’’0802’’
考生文件夹下存在一个数据库文件“samp2.accdb”,里面已经设计好表对象“tDoctor”、“tOffice”、“tPatient”和“tSubscribe”,同时还设计出窗体对象“fQuery”。试按以下要求完成设计:(1)创建一个查询,
最新回复
(
0
)