(完整版)湖北省计算机类专业人才培养合作联盟联合考试试卷(数据结构A卷)范文

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

注意事项:
1. 考生将姓名、学号等信息写在试卷相应位置;
2. 必须使用蓝(黑)色钢笔或签字笔在规定位置答题;
3. 注意字迹清楚,保持卷面整洁。

A -2 共 8 页 2、在双向循环链表中插入一个新的结点时,应修改________个指针域的值。

3、使用一个100 个元素空间的数组存储循环队列,如果采取少用一个元素空间的方法来区分循环队列的队空和队满,当队头标志front = 68, 队尾标志rear = 27 时,该队列中的元素个数为________。

4、假设某15 阶的对称矩阵A 按行优先的顺序,压缩存储在以B [0] 开始的一维数组B 中,则元素A 7, 11 在B 中的存储位置为________。

(注:对称矩阵元素下标从1 开始)
5、当使用二叉链表作为n 个结点二叉树的存储结构时,空指针域的个数是________。

6、设二叉树根结点的层次为1,则高度为h 的二叉树的最多可能的结点数为________。

7、在一个具有n 个顶点的无向图中,要连通全部顶点至少需要________条边。

8、某无向图具有n 个顶点e 条边,当使用邻接表表示时,邻接表中边结点的个数为________。

9、对任一m 阶的B- 树,每个结点中最多包含________个关键字。

10、用希尔排序对关键字序列(98, 36, 9, 0, 47, 23, 1, 8, 10, 7) 排序,增量序列依次是4, 2, 1,则排序共进行________趟。

三、单项选择题(每小题2分,共30分)
2、在长度为n的顺序表中删除第i个元素(1 ≤ i≤ n) 时,元素移
动的次数为________。

A、n–i + 1
B、i
C、i + 1
D、n–i
3、设非空带头结点的单循环链表头指针为head,则指针变量p指向尾
结点的条件是________。

A、p->next->next==head
B、p->next==head
C、p->next->next== NULL
D、p->next== NULL
4、栈是一种操作受限的线性结构,其操作的主要特征是________。

A、先进先出
B、后进先出
C、进优于出
D、出优于进
5、引起循环队列队头位置发生变化的操作是________。

A、出队
B、入队
C、取队头元素
D、取队尾元素
6、设10 × 12 的二维数组A 按“行优先顺序”存储,每个元素占1个
存储单元,已知A[1][1] 的存储地址为420,则A[5][5] 的存储地址为________。

A、470
B、471
C、472
D、473
7、对于广义表A,如果head(A) 等于tail(A),则表A为________。

A、( )
B、(( ))
C、(( ), ( ))
D、(( ), ( ),
( ))
8、已知一棵含50 个结点的二叉树中只有一个叶子结点,则该树中度为
1 的结点个数为________。

A、0
B、1
C、48
D、49
9、使用线索二叉树的目的是便于________。

A、在二叉树中插入或者删除结点
B、在二叉树中查找双亲
C、确定二叉树的高度
D、查找某结点在遍历序列中的前趋和后继
A-3 共8 页
注意事项:
1. 考生将姓名、学号等信息写在试卷相应位置;
2. 必须使用蓝(黑)色钢笔或签字笔在规定位置答题;
3. 注意字迹清楚,保持卷面整洁。

A -4 共 8 页
10、无向完全图G 有n 个顶点,则其边的总数为________条。

A 、n 2
B 、n (n – 1)
C 、n (n – 1) / 2
D 、n – 1
11、如右图所示的有向图可以排出________种不同的拓扑序列。

A 、 5
B 、6
C 、12
D 、其它
12、要输出二叉排序树结点的有序序列,则可以采用的遍历方法是________遍历。

A 、按层
B 、先序
C 、中序
D 、后序
13、下列查找方法中,平均查找长度与关键字数量n 不直接相关的查找方法是________查找。

A 、分块
B 、顺序
C 、折半
D 、哈希
14、用“大数下沉”的冒泡排序法对初始关键字序列(8, 13, 26, 55, 29, 44) 递增排序,第一趟排序时关键字需要交换________次。

A 、2
B 、3
C 、4
D 、5
15、下列关键字序列中,构成小根堆的是________。

A 、(84, 46, 62, 41, 28, 58, 15, 37) B 、(84, 62, 58, 46, 41, 37, 28, 15) C 、(15, 28, 46, 37, 84, 41, 58, 62) a
d
b f
e
c g
A -5 共 8 页
a
f
b d e
c 10
1698732
540
1
2
34
电文中出现的频度分别为:7, 26, 2, 28, 13, 10, 3, 11,试为这8个字符设计Huffman 编码。

1) 画出该Huffman 树(左孩子权值不大于右孩子权值); 2) 按左分支0、右分支1,分别写出各字符的编码。

3、某有向图的邻接表如右图,分别写出从顶点 A 出发进行深度优先遍历和广度
优先遍历的序列。

4、对关键字序列 (5, 8, 1, 3, 9, 6, 2, 7, 4, 0) 进行递增快速排序,以最左元素为基准,写出排序过程中第一趟的划分结果。

5、设带权无向图如右图所示,用Prim 算法从顶点
a 开始求得最小生成树,请写出算法的每一步结果。

五、算法设计题(每小题10分,共20分)
1、编写完整的算法,原地逆置顺序表L 中的元素,顺序表的类型声明和算法的原型如下:
typedef struct
{ // 顺序表的类型声明 ElemType *elem ; // 存储空间基址 int length ; // 顺序表当前长度
int listsize ;
// 当前分配的存储容量
} SqList ;
void Reverse (SqList &L ); // 逆置函数原型
2、设二叉树以二叉链表为存贮结构,设计算法统计二叉树中度为1 的结
注意事项:
1.考生将姓名、学号等信息写在试卷相应位置;
2.必须使用蓝(黑)色钢笔或签字笔在规定位置答题;
3.注意字迹清楚,保持卷面整洁。

点个数。

二叉树的类型声明和算法的原型声明如下:
typedef struct BiTNode
{ // 二叉链表的类型声明
TElemType data;
struct BiTNode *lchild,*rchild; // 左右孩子指针} BiTNode, *BiTree;
int Count(BiTree T); // 统计函数原型,T指向根结点
13-14-1《数据结构》A卷参考答案
一、判断题(10 × 1 = 10分)
⨯√⨯⨯√⨯⨯√√⨯
二、填空题(10 × 1 = 10分)
1、逻辑
2、4
A-6 共8 页
A -7 共 8 页
A C
E
B F
D H
I
3、59
4、B [61]
5、n + 1
6、2h – 1
7、n – 1
8、2e
9、m – 1 10、3
三、单项选择题(15 × 2 = 30分) A D B B A C B D D C C C D A D
四、综合应用题(5 × 6 = 30分)
1、二叉树(3分)、后序DHEBIFCA (3分)
2、
3、深度优先:ABCED ;广度优先:(每个遍历序列3分)
4、(0, 4, 1, 3, 2, 5, 6, 7, 9, 8) (6分)
5、Prim 算法步骤
(6分)
第一步
第二步 第三步 第四步 第五步
五、算法设计题(2 × 10 =20分) 1、 (本题共10分)
a
c
1
a
e
c
13a b
e
c
132a
f
b
d e
c 1
9
32
4a
b
d e
c 1324
注意事项:
1.考生将姓名、学号等信息写在试卷相应位置;
2.必须使用蓝(黑)色钢笔或签字笔在规定位置答题;
3.注意字迹清楚,保持卷面整洁。

void Reverse(SqList &L)
{ // 原地逆置顺序表L中的元素
int i, j;
ElemType temp; // 交换用中间变量(2分)
for (i = 0, j = L.length– 1; i < j; ++ i, -- j)
{ // i当前最左元素下标,j当前最右元素下标(3分)temp = L.elem[i]; (5分)
L.elem[i] = L.elem[j];
L.elem[j] = temp;
}
}
2、(本题共10分)
int Count(BiTree T)
{ // 使用先序遍历
int count = 0; (1分)
if (T) (2分)
{
if (! T->lchild && T->rchild || T->lchild && ! T->rchild)(3分)++ count;
count += Count(T->lchild) + Count(T->rchild); (3分)}
return count; (1分)}
A-8 共8 页。

相关文档
最新文档