数据结构模拟题[三]

数据结构试卷(三)

一、选择题 ( 每题 1 分,共 20 分)

1.设某数据结构的二元组形式表示为 A=(D ,R),D={01 ,02,03,04,05, 06,07,08, 09},R={r} , r={<01 ,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>} ,则数据结构 A 是( )。

(A) 线性结构 (B) 树型结构 (C) 物理结构 (D) 图型结构

2.下面程序的时间复杂为( )

for(i=1, s=0; i<=n ; i++ ) {t=1 ;for(j=1 ;j<=i ;j++) t=t*j ; s=s+t;}

(A) O( n) (B) O(n 2 ) (C) O(n 3 ) (D) O(n 4 )

3.设指针变量 p 指向单链表中结点 A ,若删除单链表中结点 A ,则需要修改指针的操作序列为( )。

(A) q=p->next ;p->data=q->data ;p->next=q->next ; free(q) ;

(B) q=p->next ;q->data=p->data ;p->next=q->next ; free(q) ;

(C) q=p->next ;p->next=q->next ;free(q) ;

(D) q=p->next ;p->data=q->data ;free(q) ;

4.设有 n 个待排序的记录关键字,则在堆排序中需要( )个辅助记录单元。

(A) 1 (B) n (C) nlog 2n (D) n 2

5.设一组初始关键字记录关键字为 (20 ,15,14,18,21, 36,40,10) ,则以 20 为基准记录的一趟快速

排序结束后的结果为 ( ) 。

(A) 10 ,15,14, 18,20,36,40,21

(B) 10 ,15,14,18,20,40,36,21

(C) 10 ,15,14,20,18,40,36,2l

(D) 15 ,10,14,18,20,36,40,21

6.设二叉排序树中有 n 个结点,则在二叉排序树的平均平均查找长度为( )。

(A) O(1) (B) O(log 2n) (C) (D) O(n 2

)

7.设无向图 G中有 n 个顶点 e 条边,则其对应的邻接表中的表头结点和表结点的个数分别为( )。

(A) n,e (B) e ,n (C) 2n ,e (D) n , 2e

  1. 设某强连通图中有 n 个顶点,则该强连通图中至少有( )条边。

(A) n(n-1) (B) n+1 (C) n (D) n(n+1)

9.设有 5000 个待排序的记录关键字,如果需要用最快的方法选出其中最小的 10 个记录关键字,则用下

列( )方法可以达到此目的。

(A) 快速排序 (B) 堆排序 (C) 归并排序 (D) 插入排序

  1. 下列四种排序中( )的空间复杂度最大。

(A) 插入排序 (B) 冒泡排序 (C) 堆排序 (D) 归并排序

二、填空殖 ( 每空 1 分 共 20 分)

  1. 数据的物理结构主要包括 _____________和______________两种情况。

  2. 设一棵完全二叉树中有 500 个结点,则该二叉树的深度为 __________;若用二叉链表作为该完全二叉

树的存储结构,则共有 ___________个空指针域。

  1. 设输入序列为 1、2、3,则经过栈的作用后可以得到 ___________种不同的输出序列。

  2. 设有向图 G用邻接矩阵 A[n][n] 作为存储结构,则该邻接矩阵中第 i 行上所有元素之和等于顶点 i 的

,第 i 列上所有元素之和等于顶点 i 的

  1. 设哈夫曼树中共有 n 个结点,则该哈夫曼树中有 ________个度数为 1 的结点。

  2. 设有向图 G中有 n 个顶点 e 条有向边,所有的顶点入度数之和为 d,则 e 和 d 的关系为 _________。

  3. __________遍历二叉排序树中的结点可以得到一个递增的关键字序列(填先序、中序或后序) 。

  4. 设查找表中有 100 个元素,如果用二分法查找方法查找数据元素 X,则最多需要比较 ________次就可

以断定数据元素 X 是否在查找表中。

  1. 不 论 是 顺 序 存 储 结 构 的 栈 还 是 链 式 存 储 结 构 的 栈 , 其 入 栈 和 出 栈 操 作 的 时 间 复 杂 度 均 为

____________。

  1. 设有 n 个结点的完全二叉树,如果按照从自上到下、从左到右从 1 开始顺序编号,则第 i 个结点的双

亲结点编号为 ____________,右孩子结点的编号为 ___________。

  1. 设一组初始记录关键字为 (72 ,73,71,23,94,16,5) ,则以记录关键字 72 为基准的一趟快速排序

结果为 ___________________________ 。

  1. 设有向图 G中有向边的集合 E={<1 ,2>, <2,3>,<1,4>,<4,2>,<4,3>} ,则该图的一种拓扑序

列为 ____________________ 。

  1. 下列算法实现在顺序散列表中查找值为 x 的关键字,请在下划线处填上正确的语句。

struct record{int key; int others;};

int hashsqsearch(struct record hashtable[ ],int k)

{

int i,j; j=i=k % p;

while (hashtable[j].key!=k&&hashtable[j].flag!=0){j=(____) %m; if (i==j) return(-1);}

if (_______________________ ) return(j); else return(-1);

}

  1. 下列算法实现在二叉排序树上查找关键值 k,请在下划线处填上正确的语句。

typedef struct node{int key; struct node *lchild; struct node *rchild;}bitree;

bitree *bstsearch(bitree *t, int k)

{

if (t==0 ) return(0);else while (t!=0)

if (t->key==k); else if (t->key>k) t=t->lchild; else;

}

三、计算题 ( 每题 10 分,共 30 分)

1.已知二叉树的前序遍历序列是 AEFBGCDHIKJ ,中序遍历序列是 EFAGBCHKIJD ,画出此二叉树,并画

出它的后序线索二叉树。

2.已知待散列的线性表为( 36,15,40,63,22),散列用的一维地址空间为 [0..6],假定选用的散列函数

是 H(K)= K mod 7 ,若发生冲突采用线性探查法处理,试:

(1)计算出每一个元素的散列地址并在下图中填写出散列表: 0 1 2 3 4 5 6

(2)求出在查找每一个元素概率相等情况下的平均查找长度。

3.已知序列( 10, 18,4,3,6,12,1,9,18,8)请用快速排序写出每一趟排序的结果。

四、算法设计题 ( 每题 15 分,共 30 分)

1. 设计在单链表中删除值相同的多余结点的算法。

2. 设计一个求结点 x 在二叉树中的双亲结点算法。

数据结构试卷(三)参考答案

1.B 2.B 3.A 4.A 5.A

6.B 7.D 8.C 9.B 10.D

第 3 小题分析:首先用指针变量 q 指向结点 A 的后继结点 B,然后将结点 B 的值复制到结点 A 中,最

后删除结点 B。

第 9 小题分析: 9 快速排序、 归并排序和插入排序必须等到整个排序结束后才能够求出最小的 10 个数,

而堆排序只需要在初始堆的基础上再进行 10 次筛选即可,每次筛选的时间复杂度为 O(log 2n) 。

二、填空题

  1. 顺序存储结构、链式存储结构

  2. 9,501

  3. 5

  4. 出度,入度

  5. 0

  6. e=d

  7. 中序

  8. 7

  9. O(1)

  10. i/2 ,2i+1

  11. (5 ,16, 71,23,72,94,73)

  12. (1 ,4,3,2)

  13. j+1 ,hashtable[j].key==k

  14. return(t) ,t=t->rchild

第 8 小题分析:二分查找的过程可以用一棵二叉树来描述,该二叉树称为二叉判定树。在有序表上进

行二分查找时的查找长度不超过二叉判定树的高度 1+log 2n。

三、计算题

1.

A

E

B

F G

C

D

H

F

K J

NULL

2、H(36)=36 mod 7=1; H1 (22)=(1+1) mod 7=2; ....冲突

H(15)=15 mod 7=1; ... .冲突 H2(22)=(2+1) mod 7=3;

H1(15)=(1+1) mod 7=2;

H(40)=40 mod 7=5;

H(63)=63 mod 7=0;

相关推荐
浊酒南街2 分钟前
决策树(理论知识1)
算法·决策树·机器学习
就爱学编程10 分钟前
重生之我在异世界学编程之C语言小项目:通讯录
c语言·开发语言·数据结构·算法
学术头条14 分钟前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学
Schwertlilien1 小时前
图像处理-Ch4-频率域处理
算法
北国无红豆1 小时前
【CAN总线】STM32的CAN外设
c语言·stm32·嵌入式硬件
IT猿手1 小时前
最新高性能多目标优化算法:多目标麋鹿优化算法(MOEHO)求解TP1-TP10及工程应用---盘式制动器设计,提供完整MATLAB代码
开发语言·深度学习·算法·机器学习·matlab·多目标算法
__lost1 小时前
MATLAB直接推导函数的导函数和积分形式(具体方法和用例)
数学·算法·matlab·微积分·高等数学
单片机学习之路1 小时前
【C语言】结构
c语言·开发语言·stm32·单片机·51单片机
thesky1234561 小时前
活着就好20241224
学习·算法
ALISHENGYA1 小时前
全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之分支结构(实战项目二)
数据结构·c++·算法