阅读以下说明和C函数,将应填入(n)处的字句写在对应栏内。
【说明】
已知某二叉树的非叶子结点都有两个孩子结点,现将该二叉树存储在结构数组Ht中。结点结构及数组Ht的定义如下:
define MAXLEAFNUM 30
struct node{
char ch; /*当前结点表示的字符,对于非叶子结点,此域不用*/
char *pstr; /*当前结点的编码指针,非叶子结点不用*/
int parent; /*当前结点的父结点,为0时表示无父结点*/
int lchild,rchild;
/*当前结点的左、右孩子结点,为0时表示无对应的孩子结点*/
};
struct node Ht[2*MAXLEAFNUM]; /*数组元素Ht[0]不用*/
该二叉树的n个叶子结点存储在下标为1~n的Ht数组元素中。例如,某二叉树如果其存储结构如下图所示,其中,与叶子结点a对应的数组元素下标为1,a的父结点存储在Ht[5],表示为Ht[1].parent=5。Ht[7].parent=0表示7号结点是树根,Ht[7].child=3、Ht[7].rchild=6分别表示7号结点的左孩子是3号结点、右孩子是6号结点。

如果用0或1分别标识二叉树的左分支和右分支(如上图所示),从根结点开始到叶子结点为止,按所经过分支的次序将相应标识依次排列,可得到一个0、1序列,称之为对应叶子结点的编码。例如,上图中a,b,c,d的编码分别是100,101,0,11。
函数LeafCode(Ht[],n)的功能是:求解存储在Ht中的二叉树中所有叶子结点(n个)的编码,叶子结点存储在Ht[1]~Ht[n]中,求出的编码存储区由对应的数组元素pstr域指示。
函数LeafCode从叶子到根逆向求叶子结点的编码。例如,对上图中叶子结点a求编码的过程如下图所示。

typedef enum Status {ERROR,OK} Status;
【C函数】
Status LeafCode(struct node Ht[], int n)
{
int pc, pf; /*pc用于指出树中的结点,pf则指出pc所对应结点的父结点*/
int i,start;
char tstr[31] = {'/0'}; /*临时存储给定叶子结点的编码,从高下标开始存入*/
for(i = 1;(1); i++){ /*对所有叶子结点求编码,i表示叶结点在HT数组中的下标*/
start = 29;
pc = i; pf = Ht[i].parent;
while (pf !=(2)) { /*没有到达树根时,继续求编码*/
if ((3).lchild == pc ) /*pc所表示的结点是其父结点的左孩子*/
tstr[--start] = '0';
else
tstr[--start] = '1';
pc =(4); pf = Ht[pf].parent; /*pc和pf分别向根方向回退一层*/
}/* end of while */
Ht[i].pstr = (char *) malloc(31-start);
if (!Ht[i].pstr) return ERROR;
strcpy(Ht[i].pstr,(5));
}/* end of for */
return OK;
}/* and of LeafCode */

A.parent=5。Ht[7].parent=0表示7号结点是树根,Ht[7].child=3、Ht[7].rchild=6分别表示7号结点的左孩子是3号结点、右孩子是6号结点。
B.shangxueba.cn/images/ct_csrppxz200802_crppxprogbc_00003(20094).jpg'
C.shangxueba.cn/images/ct_csrppxz200802_crppxprogbc_00003(20094)1.jpg'
D.parent;
E.lchild
F.parent;
G.pstr
H.pstr)
I.pstr,(5));


您可能感兴趣的试卷

你可能感兴趣的试题

5阅读下列说明,回答问题1至问题3,将解答填入对应栏内。
【说明】
某市政务信息系统建设项目全部由政府投资。建设单位甲采用公开招标的方式选定监理公司丙承担这个项目建设过程的监理工作,并签订了委托监理合同。建设项目招标时,应甲方要求,丙方编写了招标文件。在招标文件中有以下几项主要内容:
1.项目的技术要求
2.项目工程的设计说明
3.对投标人资格审查的标准
4.投标报价要求
5.评标标准
6.承建单位的实施组织设计
7.确保项目工程质量、进度的技术措施
8.材料、设备、系统软件的供应方式
9.关键工序、关键部位的实施要求
招标人于2007年7月21日在国家级报刊上发布了招标公告,并规定2007年8月 15日14时为投标截止时间。A、B、C、D、E等5家公司购买了招标文件。招标人对投标单位就招标文件所提出的所有问题统一做了书面答复,如表1-1所示,并以备忘录的形式分发给各投标单位。

在书面答复投标单位的提问后,招标人组织各投标单位进行了现场踏勘。并于8月 5日招标人书面通知各投标单位,由于某种原因,决定将机房工程从原招标项目范围内删除。
A、B、C、D、E等5家公司于2007年8月15日14时前提交了投标文件。开标前招标代理机构组建了5人评标委员会。由于项目资金比较紧张,为了评标时能够统一意见,建设单位安排信息中心主任和总工程师参加评标委员会(包括在5人委员会内)。经过评标委员会的评选最终B单位以低于成本150万元的投标价一举中标。
根据《招标投标法》规定,招标文件中内容有哪些不妥?为什么?还应包括哪些方面的内容?

7阅读以下关于项目采购管理和外包的说明,根据要求回答下面问题。
[说明]
飞思物流公司是一家从事物流包装、流通加工、仓储、运输等业务的第三方物流公司。该公司自主研发了一套物流管理信息系统,以支持日常经营业务处理。系统主要包括货物出入库、点仓、运输调度等承载基本的仓储、运输两大块业务运转的功能模块,采用Visual Basic 6.0编程语言、SQL Server数据库和 C/S技术架构。随着业务的拓展,公司迫切需要将该系统改造成BlS技术架构,并新增财务管理、成本核算、物流计费、客户关系管理等功能模块。
为了适应需求,公司信息网络中心采用Java编程语言对原有系统功能做了技术转型性的改造,花了半年的时间,完成了成本核算和物流计费模块的开发。公司主管信息化工作的游总和信息网络中心老吴主任经过再三审视,发现单凭自身的力量很难完成系统的开发,主要理由如下。
①因为公司有庞大的计算机网络系统和办公应用设备需要维护,公司信息网络中心的人手不够。
②开发力量明显不足,已有的系统升级改造由公司引进的一名系统分析师和一名程序员加班加点编制而成,虽经努力但开发出的软件产品质量不高,还不如原有运行了多年的系统稳定,业务部门应用人员怨声载道,信息网络中心的维护人员也疲惫不堪。
③新开发出来的系统功能达不到上线的要求,因为业务部门总有提不完的需求,而系统中似乎有改不完的错。
接下来还有许多的子模块要开发,老系统已经不堪重负,新系统又上不了线,游总和老吴都感到头痛,不知道下一步该怎么办。
请用400字以内的文字,结合你的项目管理经验,分析本案例中主要存在哪些问题。