云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据结构与算法模拟试卷一、二及参考答案

数据结构与算法模拟试卷一、二及参考答案

  • 62 次阅读
  • 3 次下载
  • 2025/5/6 21:56:30

}

模拟试卷二

一、 单选题(每题 2 分,共20分)

1. 在一个带有附加表头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。

A. HL=p; p->next=HL; B. p->next=HL->next; HL->next=p; C. p->next=HL; p=HL; D. p->next=HL; HL=p;

2. 若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储( )个元素. A. n B.n-1 C. n+1 D.不确定

3. 下述哪一条是顺序存储方式的优点?( )

A.存储密度大 B.插入和删除运算方便 C. 获取符合某种条件的元素方便 D.查找运算速度快

4. 设有一个二维数组A[m][n],假设A[0][0]存放位置在600(10),A[3][3]存放位置在678(10),每个元素占一个空间,问A[2][3](10)存放在什么位置?(脚注(10)表示用10进制表示,m>3)

A.658 B.648 C.633 D.653

5. 下列关于二叉树遍历的叙述中,正确的是( ) 。

A. 若一个树叶是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序遍历最后一个结点

B.若一个点是某二叉树的前序遍历最后一个结点,则它必是该二叉树的中序遍历的最后一个结点

C.若一个结点是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序最后一个结点

D.若一个树叶是某二叉树的前序最后一个结点,则它必是该二叉树的中序遍历最后一个结点

6. k层二叉树的结点总数最多为( ).

kk-1

A.2-1 B.2K+1 C.2K-1 D. 2

7. 对线性表进行二分法查找,其前提条件是( ). A.线性表以链接方式存储,并且按关键码值排好序

B.线性表以顺序方式存储,并且按关键码值的检索频率排好序 C. 线性表以顺序方式存储,并且按关键码值排好序 D. 线性表以链接方式存储,并且按关键码值的检索频率排好序 8. 对n个记录进行堆排序,所需要的辅助存储空间为

A. O(1og2n) B. O(n) C. O(1) D. O(n2)

9. 对于线性表(7,34,77,25,64,49,20,14)进行散列存储时,若选用H(K)=K %7作为散列函数,则散列地址为0的元素有( )个,

A.1 B.2 C.3 D.4

10.下列关于数据结构的叙述中,正确的是( ). A. 数组是不同类型值的集合

B. 递归算法的程序结构比迭代算法的程序结构更为精炼 C. 树是一种线性结构

D. 用一维数组存储一棵完全二叉树是有效的存储方法

5

二、 填空题(每空1分,共26分)

1. 数据的逻辑结构被分为_________、________、__________和___________四种。 2. 一个算法的时间复杂度为(3n3+2000nlog2n+90)/n2,其数量级表示为________。

3. 对于一个长度为n的单链存储的队列,在表头插入元素的时间复杂度为_________,在

表尾插入元素的时间复杂度为____________。 4. 假定一棵树的广义表表示为A(D(E,G),H(I,J)),则树中所含的结点数为__________

个,树的深度为___________,树的度为_________。

5. 后缀算式79 2 30 + - 4 2 / *的值为__________。中缀算式(3+X*Y)-2Y/3对

应的后缀算式为_______________________________。

6. 在一棵高度为5的理想平衡树中,最少含有_______个结点,最多含有_______个结点。 7. 在树中,一个结点的直接后继结点称为该结点的________。一个结点的直接前趋结点称

为该结点的________。

8. 在一个具有10个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的

有向完全图中,包含有________条边。 9. 假定一个线性表为(12,17,74,5,63,49,82,36),若按Key % 4条件进行划分,使得同一余数

的元素成为一个子表,则得到的四个子表分别为____________________________、___________________、_______________________和__________________________。 10. 对一棵B_树进行删除元素的过程中,若最终引起树根结点的合并时,会使新树的高度

比原树的高度___________。 11. 在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为________,整个堆排序

过程的时间复杂度为________。

12. 在线性表的散列存储中,装填因子?又称为装填系数,若用m表示散列表的长度,n表

示待散列存储的元素的个数,则?等于________。 三、 运算题(每题 6 分,共24分) 1. 在如下数组A中链接存储了一个线性表,表头指针存放在A [ 0].next,试写出该线性表。 A 0 1 2 3 4 5 6 7

data 60 50 78 90 34 40 next 4 0 5 2 7 1 3 2. 已知一棵二叉树的前序遍历的结果是ABKCDFGHIJ, 中序遍历的结果是KBCDAFHIGJ, 试画出这棵二叉树。

3. 已知一个图的顶点集V为: V={1,2,3,4,5,6,7}; 其共有10条边。该图用如下边集数组存储:

起点 1 2 2 5 5 2 2 6 1 3 终点 6 4 5 4 7 6 7 7 7 5 权 1 1 2 2 2 3 3 4 5 7 试用克鲁斯卡尔算法依次求出该图的最小生成树中所得到的各条边及权值。

4. 画出向小根堆中加入数据4, 2, 5, 8, 3, 6, 10, 1时,每加入一个数据后堆的变化。 四、 阅读算法(每题7分,共14分)

1. 在下面的每个程序段中,假定线性表La的类型为List,元素类型ElemType为int,并假定每个程序段是连续执行的。试写出每个程序段执行后所得到的线性表La。 (1)InitList(La);

Int a[]={100,26,57,34,79};

For (i=0;i<5;i++) Insert(La,a[i]);

TraverseList(La);

6

(2)DeleteFront(La);

InsertRear(La, DeleteFront(La));

TraverseList(La); (3)ClearList(La); For (i=0;i<5;i++) InsertFront(La,a[i]); TraverseList(La);

2. 现面算法的功能是什么? void ABC(BTNode * BT) {

if BT {

cout<data<<' '; ABC(BT->left); ABC(BT->right); }

} 五、 算法填空(共8分) 二分查找的递归算法。

Int Binsch(ElemType A[],int low,int high,KeyType K) {

if ___________________{ int mid=(low+high)/2;

if (_____________________) return mid; //查找成功,返回元素的下标 else if (K

return Binsch(A,low,mid-1,K); //在左子表上继续查找 else return_____________________________; //在右子表上继续查找 }

else ________________; //查找失败,返回-1 } 六、 编写算法(共8分)

HL为单链表的表头指针,试写出在该单链表中查找具有给定的元素item的算法。 bool Find(LNode* HL, ElemType &item)

模拟试卷二参考答案

一、 单选题(每题2分,共20分)

1.B 2.B 3.A 4.C 5.D 6.A 7.C 8.C 9.D 10.D 二、 填空题(每空1分,共26分) 1. 集合结构 线性结构 树结构 图结构 2. O(n)

3. O(1) O(1) 4. 7 2 2

5. 94 3 X Y * + 2 Y * 3 / - 6. 16 31

7. 孩子(或子)结点 双亲(或父)结点

7

8. 45 n(n-1)

9. (12,36) (17,5,49) (74,82) (63) 10. 减少1(或减少) 11. O(log2n) O(nlog2n) 12. n/m 三、 运算题(每题6分,共24分) 1. 线性表为:(90,40,78,50,34,60)

2. 当前序序列为ABKCDFGHIJ,中序序列为KBCDAFHIGJ时,逐步形成二叉树的过程

如下图4所示: A A A A KBCD FHIGJ B F B F B F

K CD HIGJ K C G K C G D HI J D H J 图4 3. 用克鲁斯卡尔算法得到的最小生成树为:

I (1,6)1, (2,4)1, (2,5)2, (5,7)2, (2,6)3, (3,5)7 4. 见图5。

4 4 2 2 2 2

2 4 4 5 4 5 4 5 8 8 3

2 2 2 1 3 5 3 5 3 5 2 5

8 4 8 4 6 8 4 6 10 3 4 6 10 8 图5

四、 阅读算法(每题7分,共14分) 1. (1) La=(26,34,57,79,100)

(2)La=(57,79,100,34) (3)La=(79,34,57,26,100) 2. 前序遍历链式存储的二叉树。 五、 算法填空(每空2分,共8 分)

(low<=high) K==A[mid].key Binsch(A,mid+1,hight,K) return -1 六、 编写算法(8分)

bool Find(LNode* HL, ElemType &item) {

LNode* p=HL; while p

if (p->data==item){ return true; }

8

else p=p->next; return false; }

9

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

} 模拟试卷二 一、 单选题(每题 2 分,共20分) 1. 在一个带有附加表头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。 A. HL=p; p->next=HL; B. p->next=HL->next; HL->next=p; C. p->next=HL; p=HL; D. p->next=HL; HL=p; 2. 若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储( )个元素. A. n B.n-1 C. n+1 D.不确定 3. 下述哪一条是顺序存储方式的优点?(

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com