安工大数据结构试卷(带完整答案)(共5页)_第1页
安工大数据结构试卷(带完整答案)(共5页)_第2页
安工大数据结构试卷(带完整答案)(共5页)_第3页
安工大数据结构试卷(带完整答案)(共5页)_第4页
安工大数据结构试卷(带完整答案)(共5页)_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 装 订 线 课程_班级_姓名_学号_ 密 封 线 安 徽 工 业 大 学 试 题 纸(一)题号一二三四五六七八九十十一十二十三十四十五十六十七十八十九二十总 分得分安徽工业大学20122013学年第二学期期末考试数据结构试卷(A)一、单项选择题(1´10=10分)1、在数据结构中,从逻辑上可以把数据结构分为( C )。(A)动态结构和静态结构 (B)紧凑结构和非紧凑结构(C)线性结构和非线性结构 (D)内部结构和外部结构2. 设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为( A )。(A) BADC (B) BCDA (C) CDAB (

2、D) CBDA3. 将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为( C )。(A) 100 (B) 40 (C) 55 (D) 804. 设顺序循环队列Q0:M-1的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为( C )。(A) R-F (B) F-R (C) (R-F+M)M (D) (F-R+M)M5. 设某棵三叉树中有40个结点,则该三叉树的最小高度为( B )。 (A) 3 (B) 4 (C) 5 (D) 66. 设某强连通图中有n个顶点,则该强连通图中至少有( C )条边。(A) n(n

3、-1) (B) n+1 (C) n (D) n(n+1)7. 设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列( B )方法可以达到此目的。(A) 快速排序(B) 堆排序(C) 归并排序(D) 插入排序8. 若某线性表中最常用的操作是取第I 个元素和找第I个元素的前趋元素,则采用(D)存储方式最节省时间。(A) 单链表 (B) 双链表 (C) 单向循环 (D) 顺序表9. 设某无向图中有n个顶点e条边,则该无向图中所有顶点的入度之和为( D )。(A) n(B) e(C) 2n(D) 2e10. 设有序表中有1000个元素,则用二分查找查找元素X最

4、多需要比较( B )次。(A) 25(B) 10(C) 7(D) 1二、填空题(每空格1分,共17分)1. 数据的物理结构主要包括_连续存储结构_和_非连续存储结构_两种情况。2. 设一棵完全二叉树中有500个结点,则该二叉树的深度为_9_;若用二叉链表作为该完全二叉树的存储结构,则共有_501_个空指针域。3. 设输入序列为1、2、3,则经过栈的作用后可以得到_5_种不同的输出序列。4. 设哈夫曼树中共有99个结点,则该树中有_50_个叶子结点;若采用二叉链表作为存储结构,则该树中有_100_个空指针域。5. 设一棵完全二叉树的顺序存储结构中存储数据元素为ABCDEF,则该二叉树的中序遍历序

5、列为_DBEAFC_。 装 订 线 课程_班级_姓名_学号_ 密 封 线 安 徽 工 业 大 学 试 题 纸(二)6设F和R分别表示顺序循环队列的头指针和尾指针,则判断该循环队列为空的条件为_F=R_。7设二叉树中结点的两个指针域分别为lchild和rchild,则判断指针变量p所指向的结点为叶子结点的条件是_p->lchild=NULL&&p->rchild=NULL_。8简单选择排序和直接插入排序算法的平均时间复杂度为_O(n2)_。9快速排序算法的空间复杂度平均情况下为_O(log2n)_,最坏的情况下为_O(n2)_。10.散列表中解决冲突的两种方法是_开放

6、地址法_和_链地址法_。11平衡因子是指_左子树的深度减去右子树的深度_。12数组A0.6,0.8的每个元素占4个字节,将其按行优先次序存储在起始地址为2000的内存单元中,元素A5,6 的地址是_2204_。三、应用题。(共35分)1 已知8个待排序的记录,其关键码分别为53,36,30,91,47,12,24,85,用希尔排序、快速排序和堆排序对其进行排序,写出第一趟排序后结果。(9分)答:希尔排序:12 24 30 91 47 53 36 85(步长为5)快速排序:24 36 30 12 47 53 91 85小堆排序:12 36 53 85 47 30 24 912 假定有字符a1,a

7、2,a3,a4,a5在一篇文章中出现的次数分别为3, 2, 4, 5, 1试以它们为叶子结点构造哈夫曼树,并计算WPL (8分)答:见三、2图 WPL=(3+4+5)*2+(1+2)*3=333 已知广义表L=(a,(b,c),(d,e),试画出其存储结构图并利用取头函数head和取尾函数tail求出原子e。(6分)答:见三、3图 e=head(tail(head(tail(tail(L)4(共6分) 设有下列带权无向图:请用PRIM求该图的一棵最小生成树。答:见三、4图5. 设一棵二叉树的先序序列为ABDGECFH,中序序列为:DGBAECHF。试画出该二叉树。(6分)答:见三、5图四、判断

8、题(1*10=10分)1、顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。 (错)2、两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。(对)3、一个栈的输入序列是12345,则栈的输出序列不可能是12345。(错)4、串是一种数据对象和操作都特殊的线性表。( 对 )5、数组可看成线性结构的一种推广,因此与线性表一样,可以对它进行插入,删除等操作。( 错 )6、对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i-1个结点。( 错 )7、最小代价生成树是唯一的。( 错 )8、归并排序的空间复杂度为O(n) ( 对

9、)9、为了方便操作,一般在二叉树排序树中插入一个新结点,总是作为叶结点。( 对 )10、在初始数据表已经有序时,快速排序算法的时间复杂度为O(nlog2n )。( 错 )五、编写算法(28分)1、 试编写算法将两个有序的单链表归并成一个新的有序单链表。(10分) linklist Merge(linklist A, linklist B) /*将有序单链表合并后由函数带回 */答:LinkList Merge(LinkList A,LinkList B)LinkList p,q,r;p=A;q=B->next;while(p)if(q->next->dtat<p->

10、;data)r=q;r->next=p->next;p->next=r;q=q->next;elsep=p->next;q=q->next;if(!p&&q)p=q;return A;2、 试编写算法计算二叉树中度为1的结点数。(9分) int count(bintree t) /*求二叉链表结构二叉树t度为1的结点数 */答: int count(bintree t)int count=0;PSeqStack S;bintree p=t;S=Init_SeqStack();while(p|Empty_SeqStack(S)if(p)Push_SeqStack(S,p);p=p->lichild;elsePop_SeqStack(S,&p);if(p->lchild!=NULL)&&(p->rchild=NULL)|(p->lchild=NULL)&&(p->rchild!=NULL)count+;p=p->rchild;return count;3、 试编写算法在二叉排序树T中查找值为X的算法。(9分) BinSTree BSTSearch (BinSTree t , KeyType X ,) /*二

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论