数据结构补考试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一. 填空题(请将答案写在下方的空格中,每题4分,共32分)

1.下列是两个n ×n 的矩阵相乘的算法,求下列算法中@区域的时间频度为①,整个算法的时间复杂度为②。

•void Mult_matrix( int c[][], int a[][], int b[][],int n)

{for (i=1; i<=n; ++i)

for (j=1; j<=n; ++j)

{c[i,j] = 0;

for (k=1; k<=n; ++k)

@ c[i,j] += a[i,k]*b[k,j];

}

}

2.已知n阶三对角矩阵B,则B中的非零元素的个数为③,现采用以行序为主序的方式将B压缩存储到一个一维数组A[ ]中,则B中任意一个非零元素b ij与A[k]之间的对应关系为④。

3.已知S1=‘GUANGXI_GUANGDONG’,S2=’XI’,则函数INDEX(S1,S2)的运行结果为⑤。

4.已知一棵二叉树的前序扫描序列和中序扫描序列分别为ABCDEFGHIJ,BCDAFEHJIG,则该二叉树的后序序列为⑥。

5.下列是在线性链表中由指针q指出的链结点后面插入一个数据信息item的链结点的算法,在空格处输入代码,实现程序的功能。

Void INSERTERLINK(LinkList&list,LinkList q,ElemType item)

{ LinkList p;

p=( LinkList)malloc(sizeof(LNode));

p->data=item;

if(list==NULL)

{ list=p;

p->link=NULL;

}

Else

{ ⑦;

⑧;

}

}

二. 简答题(按照要求完成下列各题)

1.已知一元多项式f(x)=4x9-5x4+7x2-1 ,请写出用一维数组表示f(x)(选用较为节省空间的方法)。(10分)

2.已知K=(6,11,6,23,18,13,19,5),构造一棵二叉排序树。(10分)

3.已知带权连通图如下图所示,使用普里姆算法或克鲁斯卡尔算法构造一棵最小生成树。(9分)

4.某通讯系统可能是A,B,C,D,E,F六种字符,出现的概率分别是0.1,0.4,0.04,0.16,0.19,0.11,

(1)构造相应的哈夫曼树,(7分)

(2)写出字符的哈夫曼编码(7分)

(3)计算该树的带权路径长度WPL。(8分)

5.已知AOE网如下图所示,请完成

(1)分别求出活动的最早开始时间与最晚开始时间。(5分)

(2)求出所有的关键路径。(5分)

(3)该工程完成的最短时间是?(5分)

三. 程序题( 15分)

请写出一个泡排序算法,该算法将参加排序的数组元素按照升序进行排列。

相关文档
最新文档