收藏 分享(赏)

数据结构课堂习题.doc

上传人:buyk185 文档编号:5890527 上传时间:2019-03-20 格式:DOC 页数:28 大小:301.50KB
下载 相关 举报
数据结构课堂习题.doc_第1页
第1页 / 共28页
数据结构课堂习题.doc_第2页
第2页 / 共28页
数据结构课堂习题.doc_第3页
第3页 / 共28页
数据结构课堂习题.doc_第4页
第4页 / 共28页
数据结构课堂习题.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、第一章 绪论一、单项选择题1数据结构是一门研究非数值计算的程序设计问题中计算机的以及它们之间的和运算 等的学科。A操作对象 B计算方法 C逻辑存储 D数据映象A结构 B关系 C运算 D算法2数据结构被形式地定义为(D ,R ),其中 D 是的有限集合,R是 K 上的的有限集合。 A算法 B数据元素 C数据操作 D逻辑结构A操作 B映象 C存储 D关系3在数据结构中,从逻辑上可以把数据结构分成。A动态结构和静态结构 B紧凑结构和非紧凑结构C线性结构和非线性结构 D内部结构和外部结构4线性表的顺序存储结构是一种的存储结构,线性表的链式存储结构是一种的存储结构。 A随机存取 B顺序存取 C索引存取

2、D散列存取5 在计算机存储器内表示时,物理地址和逻辑地址是连续的,称之为A逻辑结构 B顺序存储结构C链表存储结构 D以上都不对1. A,B 2. B,D 3. C 4.A,B 5. B二、填空题1数据逻辑结构包括、和四种类型。2线性结构中元素之间存在关系,树形结构中元素之间存在关系,图形结构中元素之间存在关系。3下面程序段的时间复杂度是。for(i=0; inext!=p) q=q-next;s= new Node; s-data=e;q-next= ; /填空s-next= ; /填空7. 在一个单链表中删除 p 所指结点的后继结点时,应执行以下操作:q= p-next;p-next= _

3、_; /填空free( ) ; /填空8. 在一个单链表中 p 所指结点之后插入一个 s 所指结点时,应执行s-next=_ _和 p-next=_的操作。9. 以head为头结点的循环双链表为空时,应满足 head-prior= ,head-next= 。 1. 后,n/2,前,(n-1)/2 2.指针 3.一定,不一定 4.O(1) ,O(n);O(n) ,O(n) ;O(1),O(1) 5.前驱,后继 6. s, p 7. q-next, q 8. p-next, s 9. head, head二、选择1. 在长度为 n 的顺序线性表中删除第 i 个元素(1next=p p=p-next

4、 p=p-next-next p-next=p-next-next3. 设指针 p 指向单链表中结点 A,指针 q 指向单链表中结点 A 的前驱结点 B,指针 s 指向被插入的结点 X,则在结点 A 和结点 B 之间插入结点 X 的操作为( ) 。 s-next=p-next; p-next=s; q-next=s; s-next=p; p-next=s-next; s-next=p; p-next=s; s-next=q;4. 在长度为 n 的顺序线性表中的第 i 个元素(1next=s ;s-prior=p; p-next-prior=s; s-next=p-next;s-prior=p

5、;s-next=p-next;p-next=s; p-next-prior=s; p-next=s; p-next-prior=s; s-prior=p; s-next-p-next; s-prior=p; s-next=p-next; p-next-prior=s; p-next=s;7. 指针 p 指向双向链表中的结点 A,则删除结点 A 的操作是( ) 。 p-prior-next=p-next; p-next-prior=p-prior; p-next-prior=p-next; p-prior-prior=p-prior; p-prior-next=p-prior; p-next-p

6、rior=p-next; p-next-next=p-next; p-next-next=p-next;8. 线性表采用链式存储结构时,要求存储单元的地址( ) 。 必须是连续的 部分地址必须是连续的 一定是不连续的 连续不连续都可以9. 设 head 为单循环链表的头指针,则带头结点的单循环链表为空的判定条件是( ) 。 head=NULL head-next=NULL head-next=head head!=NULL10.设 head 为单链表的头指针,则带头结点的单链表为空的判定条件是( ) 。(1) head=NULL head-next=NULL head-next=head he

7、ad!=NULL11.用链表表示线性表的优点是()A便于随机存储 B.便于进行插入和删除操作C. 占用的存储空间较顺序表少 D.元素的物理顺序与逻辑顺序相同1.(1)2.(4)3.(2)4.(2)5.(4)6. (4) 7(1)8. (4)9.(3)10.(2) 11.B栈和队列一、填空题1. 线性表、栈和队列从逻辑上来说都是_结构。对于栈只能在_插入和删除元素;对于队列只能在_插入元素和在_删除元素。2. 栈的插入和删除只能在栈的栈顶进行,后进栈的元素必定先出栈,所以又把栈称为_表;队列的插入和删除运算分别在队列的两端进行,先进队的元素必定先出队,所以又把队列称为_表。3. 长度为 m 的顺

8、序栈中,指针 base 指向当前栈底的位置,指针top 指向当前栈顶的位,则当栈为空时满足的条件是_;当栈为满时满足的条件是_。4. 设有一个空栈,现有输入序列 1、2 、3、4、5,经过push、push、pop 、push、pop、push 、push、pop、pop、 pop后,输出序列为_。5. 循环队列的引入,目的是为了克服_。 6. 一个长度为 m 的顺序循环队列,对头为 front,队尾为 rear,则该队列满的条件是_,队列空的条件是_。7. 不论是顺序栈(队列)还是链式栈(队列) ,插入(删除)运算的时间复杂度均为_。1 线性,栈顶,队尾,队头2 先进后出(FILO) ,先进

9、先出(FIFO)3 top=base,top-base=m4 235415 假溢出 6 (rear+1)%m=front,rear=front7 O(1)二、选择题 1设元素进栈次序为 A、B、C、D、E,则下列不可能的出栈序列是( ) 。 ABCDE BCDEA EABCD EDCBA2设用一维数组 sm表示栈的存储空间,用 top 指向栈顶,则进行出栈时的操作序列是( ) 。 x=stop; x=stop;top=0; top=top-1;x=stop; x=stop;top=top-1 ;3设用一维数组 sm表示栈的存储空间,用 top 指向栈顶,则进行入栈时的操作序列是( ) 。 st

10、op =x; top=top+1;stop=x; top=top-1;stop=x; stop=x;top=top+1;4设 front 是链式队列的头指针, rear 是链式队列的尾指针,s 指向插入的结点 A,则插入结点 A 的操作为( ) 。 front-next=s; front=s s-next=rear; rear=s; rear-next=s; rear=s s-next=front; front=s;5设不带头结点的链队列, front 是链队列的头指针, rear 是链队列的尾指针,则删除队头元素的操作为( ) 。 front=front-next; rear=rear-ne

11、xt ; rear=front-next; front=rear-next;6对于一个具有 m 个存储单元的循环队列,设 front 为队头指针,rear 为队尾指针,则该队列中队列元素的个数计算公式为( ) 。 rear-front front-rear (rear-front)%m (rear-front+m)%m7.设用一维数组 qm作为顺序循环队列的存储空间,front 指向队头,rear 指向队尾,则入队列的操作序列为( ) 。rear=rear+1;qrear =x; qrear=x;rear=rear-1 ; qrear =x;rear=(rear+1)%m; rear=(rea

12、r-1)%m;qrear=x ;8.设用一维数组 qm作为顺序循环队列的存储空间,front 指向队头,rear 指向队尾,则出队列的操作序列为( ) 。 x=qfront;front=front+1; x=qfront;front=(front+1)%m;x=qfront;front=front-1; x=qfront; front=(front-1)%m;9. 栈和队列的共同点是_。A.都是先进后出 B.都是先进先出C.只允许在端点处插入和删除元素 D.没有共同点10.设计一个判别表达式中左,右括号是否配对出现的算法,采用( )数据结构最佳。A顺序表 B. 队列 C. 链表 D. 栈11.

13、栈在( )中应用。A. 递归调用 B. 子程序调用 C. 表达式求值 D. A,1.(3) 2.(3 )3.(4) 4.(3) 5.(1) 6.(4) 7. (3) 8.(2 )9.C 10. D 11.D树与二叉树一、填空题1. 设一棵树的二元组形式表示为 T=(D,R) ,其中D=A,B,C ,D ,E,F ,G ,R=(A,B),(A,C) ,(A ,D),(B ,E),(C,F),(C, G),则该树的度数为 _,树的深度为_,叶子结点的个数为_,分支结点的个数为_,C 结点的双亲结点为_,C 结点的孩子结点为_。2. 二叉树有_种不同形态。3. 一棵深度为 k 的满二叉树的结点总数为

14、_;一棵深度为 k 的完全二叉树的结点总数最少有_个,最多有_个。4. 已知一棵二叉树中度数为 0 的结点个数为 n0,度数为 1 的结点数为 n1,则该树中度数为 2 的结点数为 n2,则 n0=_。5. 已知一棵二叉树的顺序存储结构表示为 ABCDE F(其中字符 表示空结点) ,则其先序序列为_,中序序列为_,后序序列为_。6. 按照从上到下、从左到右的顺序对有 n 个结点的完全二叉树从 1开始顺序编号,则编号为 i(i!=1 且 2i+1 用线性探测法再散列法(d1,2,3, )处理冲突(1)画出哈希表的示意图。(2)设各关键字的查找概率相等,求查找成功时的平均查找长度2用链地址发处理

15、冲突(1)画出哈希表的示意图。(2)设各关键字的查找概率相等,求查找成功时的平均查找长度排序1. 一组记录的关键码为( 46,79,56 ,38,40,84 ) ,则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为_。A. 38, 40, 46,56, 79,84 B. 40,38,46 ,79, 56,84C. 40, 38,46,56,79,84 D. 40,38,46,84 ,56 ,792. 一组记录的排序码为(25,48 ,35 ,16,82,79,23 ,40,72,36) ,按归并排序的方法对该序列进行两趟归并后的结果为_。A. 16, 25, 35,48, 23,40

16、,79 ,82,36,72 B. 16,25 ,35 ,48,79,82,23 ,36,40,72C. 16, 25,48,35,79,82 ,23,36,40 , 72D. 16,25,35,48 ,79 ,23,36,40 ,72,823. 排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为_。A. 希尔排序 B. 起泡排序 C. 插入排序 D. 选择排序4. 排序方法中,从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为_。A. 希尔排序 B. 归并排序 C. 插入排序 D. 选择排序

17、5. 用某种排序方法对线性表( 25,84,21,47,15,27,68 ,35,20)进行排序时,元素序列的变化情况如下: 25, 84,21,47,15,27 ,68,35,20 20, 15,21,25,47,27 ,68,35,84 15, 20,21,25,35,27 ,47,68,84 15, 20,21,25,27,35 ,47,68,84则所采用的排序方法是_。A. 选择排序 B. 希尔排序 C. 归并排序 D. 快速排序1.C 2.A3.C4.D5.D1. . 在插入排序、希尔排序、选择排序、快速排序、堆排序和归并排序中,排序是不稳定的有_。1.希尔排序、选择排序、快速排序和堆排序

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

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

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


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

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

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