收藏 分享(赏)

数据结构考试试题(带答案).doc

上传人:tkhy51908 文档编号:6019333 上传时间:2019-03-24 格式:DOC 页数:15 大小:107KB
下载 相关 举报
数据结构考试试题(带答案).doc_第1页
第1页 / 共15页
数据结构考试试题(带答案).doc_第2页
第2页 / 共15页
数据结构考试试题(带答案).doc_第3页
第3页 / 共15页
数据结构考试试题(带答案).doc_第4页
第4页 / 共15页
数据结构考试试题(带答案).doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、系别 班次 学号 姓名 第 1 页 共 15页科技大学成都学院二零零八至二零零九学年第一学期数据结构 课堂测试(60分钟) 闭卷 考试时间:题号 一 二 三 总分 评卷教师分数一填空题(每空2分,共40分);1. 数据结构算法中,通常用时间复杂度和_空间复杂度_两种方法衡量其效率。2. 下面程序段的时间复杂度为_O(n 2)_。(n1) for(i = 1; i next= =NULL_。9. 在栈顶指针为hs的链栈中,判断栈空的条件是_hs= =NULL_。10. 在hq的链队列中,判定只有一个结点的条件是_hq.front-next=hq.rear_。11. 非空的循环单链表head的尾结

2、点(由p指向),满足条件_p-next=head。12. 两个串相等的充分必要条件是_串长相等且对应字符相等_。13. 空串是_长度为0的串_,其长度等于_0_。14. 空格串是_由空格字符组成的串_, 其长度等于_空格的个数_ 。二单项选择题(每题2分,共30分);(说明:请将答案填入下表中)题号 1 2 3 4 5 6 7 8 9 10答案 A A B B D B C B B C题号 11 12 13 14 15答案 A A C D D1. 若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用(A)存储方式最节省时间。A顺序表 B双链表 C带头结点的双循环链表

3、D单循环链表2. 设a 1、a 2、a 3为3个结点,则如下的链式存储结构称为:A系别 班次 学号 姓名 第 2 页 共 15页表元编号 结点 表元间关系1 a1 32 a2 13 a3 2A循环链表 B单链表 C双向循环链表 D双向链表3. 有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?(B )A. 5 4 3 6 1 2 B. 3 4 6 5 2 1 C. 4 5 3 1 2 6 D. 2 3 4 1 5 64. 若栈采用顺序存储方式存储,现两栈共享空间V1m,topi代表第i 个栈( i =1,2)栈顶,栈1 的底在v1 ,栈2 的底在Vm,则栈满的条件是

4、(B )。A. top2-top1|=0 B. top1+1=top2 C. top1+top2=m D. top1=top25. 数组用来表示一个循环队列,front为当前队列头元素的前一位置,rear为队尾元素的位置,假定队列中元素的个数小于,计算队列中元素的公式为(D)A. rearfront B.(nfrontrear)% nC. nrearfront D.(nrearfront)% n6. 设栈S 和队列Q 的初始状态为空,元素e1,e2,e3,e4,e5 和e6 依次通过栈S,一个元素出栈后即进队列Q,若6 个元素出队的序列是e2,e4,e6,e5,e3,e1 则栈S 的容量至少应

5、该是( B)。A 6 B. 4 C. 3 D. 27. 在数据结构中,从逻辑上可以把数据结构分成( C)。A动态结构和静态结构 B紧凑结构和非紧凑结构C线性结构和非线性结构 D内部结构和外部结构8. 判定一个顺序栈ST(最多元素为N)为空的条件是 (B )。ASTtop != ST.base BSTtop=ST.baseCSTtop!=N DSTtop=N9. 一个队列的入列序列是1,2,3,4,则队列的输出序列是 B 。A4,3,2,1 B1,2,3,4 C1,4,3,2 D3,2,4,110. 判定一个循环队列QU(最多元素为N)为空的条件是 C 。AQU.front= (QU.rear+

6、1)%N BQU.front!= (QU.rear+1)%NCQU.front= QU.rear DQU.front!= QU.rear 11. 判定一个循环队列QU(最多元素为m0)为满队列的条件是 A 。AQU.front= (QU.rear+1)%N BQU.front!= (QU.rear+1)%NCQU.front= QU.rear DQU.front!= QU.rear+112. 不带头结点的单链表head为空的判定条件是 A Ahead=NULL Bhead - next=NULL Chead- next=head Dhead!=NULL系别 班次 学号 姓名 第 3 页 共 1

7、5页13. 15.在双向链表指针p 的结点前插入一个指针q 的结点操作是(C )。A. p-Llink=q;q-Rlink=p;p-Llink-Rlink=q;q-Llink=q;B. p-Llink=q;p-Llink-Rlink=q;q-Rlink=p;q-Llink=p-Llink;C. q-Rlink=p;q-Llink=p-Llink;p-Llink-Rlink=q;p-Llink=q;D. q-Llink=p-Llink;q-Rlink=q;p-Llink=q;p-Llink=q;14. 从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较_D_个结点。

8、An Bn/2 C(n1)/2D(n+1)/215. 设串s1=ABCDEFG,s2=PQRST,函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串s的从序号i的字符开始的j个字符组成的字串, len(s)返回串s的长度,则con(subs(s1,2,len(s2), subs(s1,len(s2),2)的结果串是 D A)BCDEF B)BCDEFG C)BCPQRST D)BCDEFEF三综合题(每题6分,共30分)1. 线性表具有两种存储方式,即顺序方式和链接方式。现有一个具有五个元素的线性表L=23 , 17,47,05,31 ,若它以单链表方式存储在下列10011

9、9号地址空间中,每个结点由数据(占2个字节)和指针(占2个字节,由大写字母表示)组成,如下所示:p4 7 q2 3 r0 5 s3 1 t1 71 0 01 2 0其中指针p,q,r,s,t的值分别为多少?该线性表的首结点起始地址为多少?末结点的起始地址为多少?(共6分)2. 答:p= 108 q = 116 r = 112 s= 0 或NULL t= 100 首址 = 104 末址= 112 。3. 如果想将输入的一个字符序列逆序输出,如输入“abcdef ”,输出“fedcba”,请分析用线性表、堆栈和队列等方式正确输出的可能性? (共6分 )线性表是随机存储,可以实现,靠循环变量(j-)

10、从表尾开始打印输出;堆栈是后进先出,也可以实现,靠正序入栈、逆序出栈即可;队列是先进先出,不易实现。系别 班次 学号 姓名 第 4 页 共 15页4. 写出删除顺序表中第i个元素的算法:(共6分)Status ListDelete_sq(SqList e= L.elemi;for (j=i+1;j data = e; p-next=S.top ;/ 链接到原来的栈顶S.top = p; / 移动栈顶指针+S.length; / 栈的长度增1 / Push6. 写出链队列的出队列算法(共6分)Status DeQueue(LinkQueue p = Q.front-next; e = p-dat

11、a;Q.front-next = p-next;if (Q.rear = p) Q.rear = Q.front;free (p); return OK;系别 班次 学号 姓名 第 6 页 共 15页科技大学成都学院20082009学年第一学期中期试题数据结构答案一填空题(每题2分,共40分);题号 参考答案1 空间复杂度2 O(n2)3 下一结点的地址4 线型,任意,栈顶,队尾,队头5 n-16 n-i+17 前驱8 head-next= =NULL9 hs= =NULL10 hq.front-next=hq.rear11 p-next=head12 串长相等且对应字符相等13 长度为0的串

12、,014 由空格字符组成的串,空格的个数二单项选择题(每题2分,共30分); 题号 1 2 3 4 5 6 7 8 9 10答案 A A B B D B C B B C题号 11 12 13 14 15答案 A A C D D三综合题(共30分)7. p= 108 q = 116 r = 112 s= 0 或NULL t= 100 首址 = 104 末址= 112 。8. 线性表是随机存储,可以实现,靠循环变量(j-)从表尾开始打印输出;堆栈是后进先出,也可以实现,靠正序入栈、逆序出栈即可;队列是先进先出,不易实现。3Status del_sqllist(SqList e= L.elemi;f

13、or (j=i+1;j data = e; p-next=S.top ;/ 链接到原来的栈顶S.top = p; / 移动栈顶指针+S.length; / 栈的长度增1 / Push5 Status DeQueue (LinkQueue p = Q.front-next; e = p-data;Q.front-next = p-next;if (Q.rear = p) Q.rear = Q.front;free (p); return OK;系别 班次 学号 姓名 第 8 页 共 15页全真模拟试题(一)一、 单项选择题(在每小题的4个备选答案中,选出正确的答案,并将其号码填在题干的括号内。每

14、小题2分,共24分)1 若某线性表中最常用的操作是取第i 个元素和找第i个元素的前趋元素,则采用( 4 )存储方式最节省时间。单链表 双链表 单向循环 顺序表2 串是任意有限个( 1 )符号构成的序列 符号构成的集合字符构成的序列 字符构成的集合3 设矩阵A(a ij ,li,j 10)的元素满足:aij0(ij, li, j 10)aij=0 (i。( )i6 对有向图G,如果从任一顶点出发进行一次深度优先或广度优先搜索就能访问每个顶点,则该图一定是完全图。( )系别 班次 学号 姓名 第 10 页 共 15页7 “顺序查找法”是指在顺序表上进行查找的方法。( )8 向二叉排序树插入一个新结

15、点时,新结点一定成为二叉排序树的一个叶子结点。()9 键值序列A,C,D,E,F,E,F是一个堆。10 二路归并时,被归并的两个子序列中的关键字个数一定要相等。()三、 填空题(每空2 分,共24分)1 设r指向单链表的最后一个结点,要在最后一个结点之后插入s所指的结点,需执行的三条语句是_;r=s; r-next=null;。2 在单链表中,指针p 所指结点为最后一个结点的条件是_。3 设一个链栈的栈顶指针是ls,栈中结点格式为info | link ,栈空的条件是_.如果栈不为空,则退栈操作为p=ls;_;free(p);。4 已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度

16、为3的结点,则该树中有_ 个叶子的结点。5 树有三种常用的存储结构,即孩子链表法、孩子兄弟链表法和_ .6 N个顶点的连通图的生成树有_条边。7 一个有向图G中若有弧、和, 则在图G的拓扑序列中,顶点v i,vj和v k的相对位置为_。8 设表中元素的初始状态是按键值递增的,分别用堆排序、快速排序、冒泡排序和归并排序方法对其进行(按递增排序), 最省时间, 最费时间。9 下面是将键值为x 的结点插入到二叉排序树中的算法,请在划线处填上适当的内容。typedef struct pnodeint key;struct pnode *left, *right;pnode;void searchins

17、ert(int x, pnode t ) /*t为二叉排序树根结点的指针*if ( )p=malloc(size);p-key=x;p-lchild=null;p-rchild=null;t=p; else if (xkey) searchinsert(x,t-lchild)else_;系别 班次 学号 姓名 第 11 页 共 15页四、 应用题(本题共分)1树的后根遍历方法是:若树非空则(分)(1)依据次后根遍历根的各个子树 , , m;(2)访问根结点2. 将下图的森林转换为二叉树。(分)3. 下图表示一个地区的交通网,顶点表示城市,边表示连结城市间的公路,边上的权表示修建公路花费的代价。

18、怎样选择能够沟通每个城市且总造价最省的n-1条公路,画出所有可能的方案。(分)图7.11 遍历无向图 (a) 无向图G 6 (b) 深度优先搜索示例 (c) G6的邻接表表示(c)表头结点4已知一个无向图的邻接表如下图所示。(本题分,每小题分) (1) 画出这个图。(2) 以v 1为出发点,对图进行广度优先搜索,写出所有可能的访问序列。5.设n个元素的有序表为,为一个给定的值,二分查找算法如下:int binsearch(sqlist R, keytype K)j=1;h=n ;suc=0;while(jRmid.key: j=mid+1if (suc) return(mid); else r

19、eturn(0);将上述算法中划线语句改为:Knext =s.2 P-next= = NULL3 Ls= =NULL 、ls=ls-link.4 12 分析: 设n 1=2,n2=3,n3=4,系别 班次 学号 姓名 第 13 页 共 15页树的总结点数为n=n 0+ n1+n2+n3树的分支数为n-1= n 1+2n2+3n3-得:-1= n 2+2n3-n0有n 0=n2+2n3+1=3+2*4+1=125 双亲表示法。6 N-17 I,j,k.8 冒泡排序、快速排序9 T= =NULL、searchinsert(x,t-rchild).四、应用题1 EBFGCKHIJDA。2 答案如图应

20、用题I 9. 2.2 所示。3 3分析:本题实际上是求最小生成树问题。由于衅中有两条权值为6的边,故可以得到两种方案。答案如图应用题I 9. 3.2 所示。4 答案:(1)答案如图应用题I 9. 4.2 所示。(2)v 1 v2 v4 v5 v3 和 v 1 v4 v2 v3 v5。5(1)经过改动以后,有可能出现死循环,比如当查找的键值K小于有序表中的最小键值时,就会出现死循环。故算法不能正常进行。(2)假设有序表的查找序列为(2,3,4,5,6),当待查的键值K=1时,出现死循环。6答案:25 84 21 47 15 27 68 35 24第一趟 24 15 21 25 47 27 68

21、35 84第二趟 21 15 24 25 35 27 47 68 84第三趟 15 21 24 25 27 35 47 68 84得到 15 21 24 25 27 35 47 68 84第一趟排序过程中键值的移动情况如下:系别 班次 学号 姓名 第 14 页 共 15页第一趟: 25 84 21 47 15 27 68 35 24 一次交换之后 24 84 21 47 15 27 68 35 25二次交换之后 24 25 21 47 15 27 68 35 8424 25 21 47 15 27 68 35 8424 25 21 47 15 27 68 35 8424 25 21 47 15

22、 27 68 35 84三次交换之后 24 15 21 47 25 27 68 35 8424 15 21 47 25 27 68 35 84四次交换之后 24 15 21 25 47 27 68 35 84以上“-”表示当前经比较不交换位置的元素。“ ”表示当前经比较交换位置的元素。五、设计题1 Bitreptr search(bitreptr t ,int k)if (t!=null)count+;if (count= =k)return (t);else search(t-lchild,k);search(t-rchild,k);2. 单链表L的结构如图设计题I 9. 2.2所示。Int isviser(lklist L)p=L;while(p-next!=null)if (p-data next-data) p=p-next;系别 班次 学号 姓名 第 15 页 共 15页else return(0);return(1);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 试题课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报