第一范文网 - 专业文章范例文档资料分享平台

南邮通达2015数据结构B刷题试题及答案

来源:用户分享 时间:2025/6/5 5:57:04 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

数据结构试卷(一) .......................... 1 数据结构试卷(二) .......................... 5 数据结构试卷(三) .......................... 9 数据结构试卷(四) ........................ 13 数据结构试卷(五) ........................ 18 数据结构试卷(六) ........................ 22 数据结构试卷(七) ........................ 26 数据结构试卷(八) ........................ 29 数据结构试卷(九) ........................ 32 数据结构试卷(十) ........................ 35

数据结构试卷(一)参考答案 ......... 38 数据结构试卷(二)参考答案 ......... 40 数据结构试卷(三)参考答案 ......... 41 数据结构试卷(四)参考答案 ......... 44 数据结构试卷(五)参考答案 ......... 47 数据结构试卷(六)参考答案 ......... 49 数据结构试卷(七)参考答案 ......... 51 数据结构试卷(八)参考答案 ......... 52 数据结构试卷(九)参考答案 ......... 54 数据结构试卷(十)参考答案 ......... 55

数据结构试卷(一)

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

栈和队列的共同特点是( A )。

A.只允许在端点处插入和删除元素 B.都是先进后出 C.都是先进先出 D.没有共同点

1. 用链接方式存储的队列,在进行插入运算时( D ).

A. 仅修改头指针 B. 头、尾指针都要修改 C. 仅修改尾指针 D.头、尾指针可能都要修改 2. 以下数据结构中哪一个是非线性结构?( D )

A. 队列 B. 栈 C. 线性表 D. 二叉树

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

A.688 B.678 C.692 D.696 4. 树最适合用来表示( C )。

A.有序数据元素 B.无序数据元素

C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据 5. 二叉树的第k层的结点数最多为( D ).

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

6. 若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( D )

A. 1,2,3 B. 9,5,2,3

1

C. 9,5,3 D. 9,4,2,3

7. 对n个记录的文件进行快速排序,所需要的辅助存储空间大致为( C ) A. O(1) B. O(n) C. O(1og2n) D. O(n2) 8. 对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有( D )个, A.1 B.2 C.3 D.4

9. 设有6个结点的无向图,该图至少应有( A )条边才能确保是一个连通图。

A.5 B.6 C.7 D.8

三、计算题(每题 6 分,共24分)

1. 在如下数组A中链接存储了一个线性表,表头指针为A [0].next,试写出该

线性表。

A 0 1 2 3 4 5 6 7

data 60 50 78 90 34 40 next 3 5 7 2 0 4 1

?0?1??1?1??0?线性表为:(78,50,40,60,34,90)

2. 请画出下图的邻接矩阵和邻接表。

1110??0101?1011??0101?1110??

2

3. 已知一个图的顶点集V和边集E分别为:V={1,2,3,4,5,6,7}; E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15,

(3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25};

用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边。

用克鲁斯卡尔算法得到的最小生成树为:

(1,2)3, (4,6)4, (1,3)5, (1,4)8, (2,5)10, (4,7)20 4.画出向小根堆中加入数据4, 2, 5, 8, 3时,每加入一个数据后堆的变化。见图12 2 4 4 2 2 2 2 图12 4 4 5 4 5 4 5 8 8 3

2

3 5

4 8 4.

图11

四、阅读算法(每题7分,共14分)

1. LinkList mynote(LinkList L)

{//L是不带头结点的单链表的头指针 if(L&&L->next){

q=L;L=L->next;p=L; S1: while(p->next) p=p->next; S2: p->next=q;q->next=NULL; }

return L; }

请回答下列问题:

(1)说明语句S1的功能;

查询链表的尾结点

(2)说明语句组S2的功能;

将第一个结点链接到链表的尾部,作为新的尾结点

(3)设链表表示的线性表为(a1,a2, ?,an),写出算法执行后的返回值所表示的线性表。

返回的线性表为(a2,a3,?,an,a1) 2. void ABC(BTNode * BT) {

if BT {

ABC (BT->left);

3

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

该算法的功能是:

递归地后序遍历链式存储的二叉树 五、算法填空(共8分)

二叉搜索树的查找——递归算法:

bool Find(BTreeNode* BST,ElemType& item)

{

if (BST==NULL)

return false; //查找失败 else {

if (item==BST->data){

item=BST->data;//查找成功 return __ true __;} else if(itemdata)

return Find(___BST->left __,item); else return Find(____BST->right __,item); }//if }

六、编写算法(共8分)

统计出单链表HL中结点的值等于给定值X的结点数。 int CountX(LNode* HL,ElemType x) int CountX(LNode* HL,ElemType x) { int i=0; LNode* p=HL;//i为计数器 while(p!=NULL) { if (P->data==x) i++; p=p->next; }//while, 出循环时i中的值即为x结点个数 return i; }//CountX

4

南邮通达2015数据结构B刷题试题及答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3gwxb560ed97tl27ll5s_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top