河南工业大学14级数据结构(软件工程)试卷A(新) 2

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

学院名称: 专业班级: 姓 名: 学 号:

┃┃┃┃┃┃┃┃┃┃┃┃ 密

┃┃┃┃┃┃┃┃┃┃┃┃┃┃┃ 封

┃┃┃┃┃┃┃┃┃┃┃┃┃┃┃ 线

┃┃┃┃┃┃┃┃┃┃┃┃┃┃

请 不

要 在 密

线 内

数据结构 期中考试试卷

一、单项选择题(共7 题,每小题 2 分,共 14分,答案请填在答题表中)

1. 下列关于线性表的顺序和链式存储结构的结点地址说法正确的是( )。

A. 前者一定连续,后者一定不连续

B. 两者可连续可不连续

C. 前者一定连续,后者不一定连续

D. 前者不一定连续,后者一定连续

2. 在一个单链表中,若q 结点是p 结点的前驱结点,若在它们之间插入结点s ,则执行( )。

A . s→next = p→next ; p→next = s;

B .p →next = s; s →next = q;

C .p →next = s →next; s →next = p;

D .q→next = s; s→next = p;

3. 一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为( )。

A. 4, 3, 2, 1

B. 2, 4, 3, 1

C. 1, 2, 3, 4

D. 3, 2, 1, 4

4. 在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front 和rear ,则当

前队列中的元素个数是( )。

A. (front - rear + 1) % m

B. (rear - front + 1) % m

C. (front - rear + m) % m

D. (rear - front + m) % m

5. 一棵具有35个结点的完全二叉树的高度为( )。假定空树的高度为-1。

A. 5

B. 6

C. 7

D. 8

6. 一个栈的入栈顺序是1、2、3、4、5,则此栈不可能的输出顺序为( )。

A. 5、4、3、2、1

B. 4、5、3、2、1

C. 4、3、5、1、2

D. 1、2、3、4、5

7. 在长为n 的顺序表中,删除第i 个元素(1≤i≤n+1)需要向前移动( )个元素。

A. n-i

B. n-i+1

C. n-i-1

D. I

二、填空题(共5 题,每小题 2分,共 10 分)

1. 所有插入在表的一端进行,而所有删除在表的另一端进行的线性表称为 。

2. 将一棵有100个结点的完全二叉树按层编号,其中根结点的编号是1,其余编号一次增1,

则编号为49的结点X ,其双亲的编号为 。

3. 假设一个9阶的上三角矩阵A 按列优先顺序压缩存储在一维数组中,其中B [0]存储矩阵中

第1个元素a 11 ,则B[31] 中存放的元素是 。

4. 有n 个结点的二叉链表中,其中空的指针域为n+1,指向孩子的指针个数为 。

5. 已知一棵完全二叉树中共有768个结点为,则该树中共有 个叶子结点。

三、综合题(共 5 题,每小题 10分,共 50 分) 1. 对于给定的5个权值

W={9,5,13,3,6},请构造其对应的一颗Huffman 树;并求出

该树的带权路径长度以及各结点的Huffman 编码。(备注:要求写出Huffman 树的具体构造过程。)

2. 已知一颗二叉树的先序遍历序列和中序遍历序列分别为ABEFIJDGH 和EBIFJAGDH.要求如下: ⑴画出该二叉树并写出详细的分析过程;⑵写出该二叉树的后续遍历序列。

学院名称 专业班级 姓 名 学 号

┃┃┃┃┃┃┃┃┃┃┃┃ 密

┃┃┃┃┃┃┃┃┃┃┃┃┃┃┃ 封

┃┃┃┃┃┃┃┃┃┃┃┃┃┃┃ 线

┃┃┃┃┃┃┃┃┃┃┃┃┃┃

请 不

要 在 密

线 内

3. 已知一组关键字(19,14,23,1,68,20,24),哈希函数为:H(key)=key MOD 13,哈希表长m=16,

假设每条记录查找概率相等,用线性探测再散列处理冲突法,计算出每个关键字的哈希地址,构造出哈希表并给出平均查找长度。

4. 使用普里姆算法构造出下图的最小生成树,要求写出构造过程。

5. 求下图的关键路径?

开始 顶点 完成 顶

学院名称 专业班级 姓 名 学 号

┃┃┃┃┃┃┃┃┃┃┃┃ 密

┃┃┃┃┃┃┃┃┃┃┃┃┃┃┃ 封

┃┃┃┃┃┃┃┃┃┃┃┃┃┃┃ 线

┃┃┃┃┃┃┃┃┃┃┃┃┃┃

请 不

要 在 密

线 内

四、算法设计题(共2 题,每小题 10分,共 20 分)

1.已知一线性表L=(A1,A2,......,An-1,An-2),采用单链表作为存储结构,要求:编写一个带头结点的单链表的逆置算法,实现将单链表中的元素首尾置换,即原表中的第一个结点逆置后变成最后一个结点,原表中第二个结点变成倒数第二个结点,以此类推。单链表结点定义如下: typedef struct Lnode {ElemType data; struct Lnode *next; }Lnode,*LinkList;

2.若二叉树采用二叉链表作为存储结构,结点定义如下: typedef struct BTnode {ElemType data;

struct BTnode *Lchild,Rchild; }BTnode,*BinTree;

要求写出求二叉树叶子结点个数的算法。

相关文档
最新文档