阅读以下说明和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));

参考答案:(1) i<=n或其等价表示 (2) 0 (3) Ht[pf]或(*(Ht+pf)) (4) pf (5) &tstr[start]或tstr+start
(1) i<=n,或其等价表示 (2) 0 (3) Ht[pf],或(*(Ht+pf)) (4) pf (5) &tstr[start],或tstr+start 解析:本题考查C语言的基本控制结构、数组以及参数传递基础知识。
哈夫曼算法构造最优二叉树的过程如下。
(1)根据给定的n个权值{W1,W2,…,Wn}构成n棵二叉树的集合F={T1,T2,…, Tn},其中每棵二叉树Ti中只有一个带权为Wi的根结点,其左、右子树均空。
(2)在F中选取两棵根结点权值最小的树作为左、右子树构造一棵新的二叉树,且置新二叉树的根结点的权值为其左、右子树根结点的权值之和。
(3)在F中删除这两棵二叉树,同时将新得到的二叉树加入F中。
(4)重复(2)和(3),直到F只含一棵树为止。这棵树便是最优二叉树。
最优二叉树是从叶子到根构造起来的,每次都是先确定一棵二叉树的左、右子树,然后再构造出树根结点,因此,最优二叉树中只有叶子结点和分支数为2的内部结点。若已知叶子的数目为n,则内部结点数比叶子少1,因此,整棵树所需的存储空间规模是确定的,可以采用数组空间来存储最优二叉树。
题目中已经指出该二叉树的n个叶子结点存储在下标为1~n的Ht数组元素中,同时举例说明父结点编号为0的结点式树根结点。因此,空(1)处应填入“i<=n”。同时,除了根结点之外,每个结点都有唯一的父结点,因此到达树根的标志为结点的父结点编号为0,因此,空(2)处应填入“0”。
根据代码中pc和pf的作用:pc用于指出树中的结点,pf则指出pc所对应结点的父结点,则空(3)处应填入“Ht[pf]”,空(4)处填入“pf”使得pc回退至其父结点位置。
空(5)考查了标准函数的调用,对于函数strcpy(),其原型为char* strcpy (char*,const char*)。两个参数都是字符指针,根据代码中tstr的作用,应将tstr+start(tstr[start]~tstr[29]存放编码)作为实参调用strcpy,因此空(5)处应填入“tstr+start”或“&tstr[start]”。
查答案就用考试资料网APP 还有拍照搜题 语音搜题 快来试试吧
立即下载

你可能喜欢

阅读以下说明和Java代码,将解答写入对应栏内。
【说明】
下面的程序的功能是利用实现Runnable接口的方法来创建线程,并利用它来执行响应的一些操作。最后使得m的执行结果:100,如图3。

注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。
class ClassName (1) Runnable {
int n;
(2) {
try{
Thread. sleep (2000);
n=100;
}catch( (3) e) {}
}
public static void main(String[ ]args) {
try{
ClassName a = new ClassName( );
(4)
threadl. (5) ();
threadl, join( );
int m=a.n;
System. out. println('m=' + m);
}catch( (3) e){}
}
}

阅读以下说明和c++码,将应填入(n)处的字名写在对应栏内。
[说明] 从键盘输入一个字符ch,输出该字符在文本文件input.txt 的每一行中出现的次数。(必须调用函数鳋统计ch的出现次数,函数ff (str,ch)的功能是统计并返回字符ch在字符串str 中出现的次数。)。
例如:如果文件input. txt 中存放了下列数据:
every
121
I am a student
运行程序,并输入e后,输出:
2
0
1
int ff( char * str, char ch)
{ int count =0;
while ((1)) {
if( *str= =ch) count++;
str ++;
}
return count;
}
include < stdio. h >
include < stdlib. h >
void main( )
{ char ch, c, s [80];
int k;
FILE *fp;
if((2)){
printf( “打不开文件!n”); return;
}
ch = getchar( );
k=0;
while( ! feof(fp) ) {
c = fgete(fp);
if (3)
s[k++ ] =c;
else {
s[k]= ';
printf ( '%dn' ,ff(s, ch) );
k=0;
}
}
(4)
printf( '% dn', ff( s, ch ) );
}

阅读以下说明和C语言函数,将应填入(n)。
【说明】
已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数 compress(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。
处理过程中,当元素重复出现时,保留元素第一次出现所在的结点。
图2-1(a)、(b)是经函数compress()处理前后的链表结构示例图。

链表的结点类型定义如下:
typedef struct Node{
int data;
struct Node *next;
}NODE;
【C语言函数】
void compress(NODE *head)
{ NODE *ptr,*q;
ptr= (1); /*取得第一个元素结点的指针*/
while( (2)&& ptr->next) {
q=ptr->next;
while(q&&(3)) { /*处理重复元素*/
(4)q->next;
free(q);
q=ptr->next;
}
(5) ptr->next;
}/*end of while */
}/*end of compress*/

多项选择题

E-R图中的联系在转换时的原则是()。

阅读下列说明,回答问题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万元的投标价一举中标。
根据《招标投标法》规定,招标文件中内容有哪些不妥?为什么?还应包括哪些方面的内容?

设有如下程序:
Private Sub Form—Click()
Cls
a$=“ABCDFG”
For i=1 T0 6
Print Tab(12-i);【 】
Nexti
End Sub
程序运行后,单击窗体,结果如图所示,请填空。

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

判断题

File类为抽象类。

该商务网站选择SET支付模型,请根据SET支付模型的工作流程,将图6-5中(7)~(9)实体补充完整。

2.SET支付模型中,利用(10)技术可以保证商家不能看到客户的支付信息。
A.单向加密 B.双重数字签名 C.数字证书 D.数字摘要

在窗体上画一个名称为Command1的命令按钮。然后编写如下程序:
Option Base 1
Private Sub Commandl_click()
Dim a(10)As Integer
For i=l T0 10

PP题库

PP题库-你的找答案神器

(已有500万用户下载)


  • 历年真题

  • 章节练习

  • 每日一练

  • 高频考题

  • 错题收藏

  • 在线模考

  • 提分密卷

  • 模拟试题

一键安装 马上开始做题吧

版权所有©考试资料网(ppkao.com)All Rights Reserved