数据结构与算法复习题库含答案
数据结构与算法复习题及参考答案
A)3B)4C)5D)6[利用排列组合知识来做]
(B)14.若一棵二叉树中度为l的结点个数是3,度为2的结点个数是4,则该二叉树叶子结点的个数是:
(A) 4 (B) 5 (C) 7 (D) 8
(B)15.具有n(n>0)个结点的完全二叉树的深度为:
复习题集
一判断题
(√)1.在决定选取何种存储结构时,一般不考虑各结点的值如何。
(√)2.抽象数据类型与计算机部表示和实现无关。
(×)3.线性表采用链式存储结构时,结点和结点部的存储空间可以是不连续的。
(×)4.链表的每个结点中都恰好包含一个指针。
(×)5.链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元向前移动。
B)在第i个结点后插入一个新结点(1≤i≤n)D)将n个结点从小到大排序
(C)2.算法分析的目的是:
A)找出数据结构的合理性B)研究算法中的输入和输出的关系
C)分析算法的效率以求改进D)分析算法的易懂性和文档性
(A)3.算法分析的两个主要方面是:
A)空间复杂性和时间复杂性B)正确性和简明性
C)可读性和文档性D)数据复杂性和程序复杂性
(√)36.对n个元素执行快速排序,在进行第一次分组时,排序码的比较次数总是n-1次。
(√)37.在有向图中,各顶点的入度之和等于各顶点的出度之和。
《数据结构与算法》习题与答案
《数据结构与算法》习题与答案
(解答仅供参考)
一、名词解释:
1. 数据结构:数据结构是计算机存储、组织数据的方式,它不仅包括数据的逻辑结构(如线性结构、树形结构、图状结构等),还包括物理结构(如顺序存储、链式存储等)。它是算法设计与分析的基础,对程序的效率和功能实现有直接影响。
2. 栈:栈是一种特殊的线性表,其操作遵循“后进先出”(Last In First Out, LIFO)原则。在栈中,允许进行的操作主要有两种:压栈(Push),将元素添加到栈顶;弹栈(Pop),将栈顶元素移除。
3. 队列:队列是一种先进先出(First In First Out, FIFO)的数据结构,允许在其一端插入元素(称为入队),而在另一端删除元素(称为出队)。常见的实现方式有顺序队列和循环队列。
4. 二叉排序树(又称二叉查找树):二叉排序树是一种二叉树,其每个节点的左子树中的所有节点的值都小于该节点的值,而右子树中的所有节点的值都大于该节点的值。这种特性使得能在O(log n)的时间复杂度内完成搜索、插入和删除操作。
5. 图:图是一种非线性数据结构,由顶点(Vertex)和边(Edge)组成,用于表示对象之间的多种关系。根据边是否有方向,可分为有向图和无向图;根据是否存在环路,又可分为有环图和无环图。
二、填空题:
1. 在一个长度为n的顺序表中,插入一个新元素平均需要移动______个元素。
答案:(n/2)
2. 哈希表利用______函数来确定元素的存储位置,通过解决哈希冲突以达到快速查找的目的。
答案:哈希(Hash)
《数据结构与算法》章节测试题与答案
《数据结构与算法》章节测试题与答案
课程简介:数据结构是一门面向设计,且处于计算机学科核心地位的技术基础和主干必修课,也是算法分析与……
课程简介:数据结构是一门面向设计,且处于计算机学科核心地位的技术基础和主干必修课,也是算法分析与设计、操作系统、编译技术、计算机图形与图像处理等专业课程的先修课程。
引论
1.【单选题】1.在数据结构中,从逻辑上可以把数据结构分成( )。
A、动态结构和静态结构
B、紧凑结构和非紧凑结构
C、线性结构和非线性结构
D、内部结构和外部结构
答案:C
2.【单选题】2. 在数据结构中,从存储结构上可以将之分为( )。
A、动态结构和静态结构
B、顺序存储和非顺序存储
C、紧凑结构和非紧凑结构
D、线性结构和非线性结构
答案:B
3.【单选题】3. 某算法的时间复杂度是O(n^2),表明该算法的( )。
A、执行时间与n^2成正比
B、问题规模是n^2
C、执行时间等于n^2
D、问题规模与n^2成正比
答案:A
4.【单选题】4. 在下面的程序段中,x=x+1;的语句频度为( )。for( i=1;i<=n;i++) for( j=1;j<=n;j++) x=x+1;
A、O(2n)
B、O(n)
C、O(n^2)
D、O(log2n)
答案:C
5.【单选题】5. 以下数据结构中,( )是非线性数据结构。
A、树
B、字符串
C、队
D、栈
答案:A
6.【单选题】6. 顺序存储,存储单元的地址( )。
A、一定连续
B、一定不连续
C、不一定连续
D、部分连续,部分不连续
答案:A
7.【单选题】7.评价一个算法性能好坏的重要标准是( )。
算法与数据结构题库与答案
一、单项选择题
1 某算法的时间复杂度是O(n
2 ) ,表明该算法()。
A 问题规模是n2
B 问题规模与n2成正比
C 执行时间等于n2
D 执行时间与n2成正比
2、关于数据结构的描述,不正确的是()。
A数据结构相同,对应的存储结构也相同。
B数据结构涉及数据的逻辑结构、存储结构和施加其上的操作等三个方面。
C数据结构操作的实现与存储结构有关。
D定义逻辑结构时可不考虑存储结构。
3、按排序策略分来,起泡排序属于()。
A插入排序B选择排序C交换排序D归并排序
4、利用双向链表作线性表的存储结构的优点是()。
A便于进行插入和删除的操作 B 提高按关系查找数据元素的速度
C节省空间D便于销毁结构释放空间
5、一个队列的进队顺序为1,2,3,4,则该队列可能的输出序列是()。
A 1,2,3,4
B 1,3,2,4
C 1,4,2,3
D 4,3,2,1
6、 Dijkstra算法是按()方法求出图中从某顶点到其余顶点最短路径的。
A按长度递减的顺序求出图的某顶点到其余顶点的最短路径
B按长度递增的顺序求出图的某顶点到其余顶点的最短路径
C通过深度优先遍历求出图中从某顶点到其余顶点的所有路径
D通过广度优先遍历求出图的某顶点到其余顶点的最短路径
7、字符串可定义为n( n≥ 0)个字符的有限()。其中,n是字符串的长度,表明字符串中字符的个数。
A集合B数列C序列D聚合
8、在二维数组A[9][10]中,每个数组元素占用 3 个存储单元,从首地址SA 开始按行连续存放。在这种情况下,元素A[8][5]的起始地址为()。
A SA+141
数据结构与算法 试题及答案
数据结构与算法试题及答案
数据结构与算法试题及答案
在计算机科学领域,数据结构与算法是非常重要的基础知识。数据
结构是一种组织和存储数据的方式,而算法则是解决问题的方法和步骤。掌握好数据结构与算法,有助于提高程序的运行效率和解决实际
问题。
下面是一些关于数据结构与算法的试题及其答案,希望能够帮助大
家更好地理解和应用这方面的知识。
试题一:什么是数据结构?请举例说明。
答案一:数据结构是一种组织和存储数据的方式。它可以使数据的
操作更加高效。常见的数据结构有数组、链表、栈、队列、树和图等。举个例子,数组是一种线性数据结构,可以存储一组相同类型的元素。
试题二:什么是算法?请举例说明。
答案二:算法是一种解决问题的方法和步骤。它是一个精确的描述,用于解决特定问题。常见的算法有排序算法、查找算法、递归算法等。例如,冒泡排序算法是一种比较简单的排序算法,通过不断交换相邻
元素的位置来达到排序的目的。
试题三:什么是时间复杂度和空间复杂度?
答案三:时间复杂度和空间复杂度是衡量算法性能的两个指标。时
间复杂度是指算法执行所需要的时间,通常用大O符号表示。空间复
杂度是指算法执行所需要的额外空间,通常也用大O符号表示。它们
都是描述算法随着输入规模增大而变化的趋势。
试题四:介绍一下常见的数据结构和相应的操作。
答案四:常见的数据结构有数组、链表、栈、队列、树和图等。
- 数组是一种线性数据结构,可以随机访问元素,并且在插入和删
除元素时需要移动其他元素。
- 链表是一种动态数据结构,不需要固定的内存空间,但只能通过
指针进行元素的访问。
数据结构与算法题库(含参考答案)
数据结构与算法题库(含参考答案)
一、单选题(共100题,每题1分,共100分)
1、在一次校园活动中拍摄了很多数码照片,现需将这些照片整理到一个PowerPoint 演示文稿中,快速制作的最优操作方法是:
A、创建一个 PowerPoint 相册文件。
B、创建一个 PowerPoint 演示文稿,然后批量插入图片。
C、创建一个 PowerPoint 演示文稿,然后在每页幻灯片中插入图片。
D、在文件夹中选中所有照片,然后单击鼠标右键直接发送到PowerPoint 演示文稿中。
正确答案:A
2、下面对“对象”概念描述错误的是
A、对象不具有封装性
B、对象是属性和方法的封装体
C、对象间的通信是靠消息传递
D、一个对象是其对应类的实例
正确答案:A
3、设栈与队列初始状态为空。首先A,B,C,D,E依次入栈,再F,G,H,I,J 依次入队;然后依次出队至队空,再依次出栈至栈空。则输出序列为
A、F,G,H,I,J,E,D,C,B,A
B、E,D,C,B,A,J,I,H,G,F
C、F,G,H,I,J,A,B,C,D,E,
D、E,D,C,B,A,F,G,H,I,J
正确答案:A
4、设表的长度为 20。则在最坏情况下,冒泡排序的比较次数为
A、20
B、19
C、90
D、190
正确答案:D
5、设二叉树的前序序列为 ABDEGHCFIJ,中序序列为 DBGEHACIFJ。则后序序列为
A、DGHEBIJFCA
B、JIHGFEDCBA
C、GHIJDEFBCA
D、ABCDEFGHIJ
正确答案:A
6、Excel工作表B列保存了11位手机号码信息,为了保护个人隐私,需将手机号码的后 4 位均用“*”表示,以 B2 单元格为例,最优的操作方法是:
数据结构与算法分析—期末复习题及答案
单选题(每题 2 分,共20分)
1.对一个算法的评价,不包括如下(B )方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( A )。
A. p->next=HL->next; HL->next=p;
B. p->next=HL; HL=p;
C. p->next=HL; p=HL;
D. HL=p; p->next=HL;
3.对线性表,在下列哪种情况下应当采用链表表示?( B )
A.经常需要随机地存取元素
B.经常需要进行插入和删除操作
C.表中元素需要占据一片连续的存储空间
D.表中元素的个数不变
4.一个栈的输入序列为 1 2 3,则下列序列中不可能是栈的输出序列的是( C )
A. 2 3 1
B. 3 2 1
C. 3 1 2
D. 1 2 3
6.若需要利用形参直接访问实参时,应将形参变量说明为(D )参数。
A.值B.函数C.指针D.引用
8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的( A )。
A.行号B.列号C.元素值D.非零元素个数
10.从二叉搜索树中查找一个元素时,其时间复杂度大致为(C )。
A. O(n)
B. O(1)
C. O(log2n)
D. O(n2)
二、运算题(每题 6 分,共24分)
1.数据结构是指数据及其相互之间的_联系。当结点之间存在M对N(M:N)
的联系时,称这种结构为__图__。
2.队列的插入操作是在队列的___尾_进行,删除操作是在队列的_首_进行。
数据结构试题及答案(10套最新)
数据结构试题及答案(10套最新)数据结构试题及答案(10套最新)
第一套试题:
问题一:什么是数据结构?数据结构的作用是什么?
回答:数据结构是一种组织和存储数据的方式,它关注数据元素之
间的关系以及对数据元素的操作。数据结构的作用包括提供高效的数
据存储和访问方式,减少资源消耗,简化问题的解决方法,提高算法
的性能和程序的可读性。
问题二:请列举几种常见的线性数据结构,并简要介绍它们的特点。
回答:常见的线性数据结构包括数组、链表和栈。数组是一种连续
存储数据元素的结构,具有随机访问的特点;链表是一种通过指针相
连的数据元素,可以灵活地插入和删除元素;栈是一种遵循先进后出
原则的数据结构,常用于解决递归问题。
问题三:请说明二叉树的定义及其性质。
回答:二叉树是一种特殊的树形数据结构,每个节点最多有两个子
节点。二叉树具有以下性质:每个节点最多有两个子节点,分别称为
左子节点和右子节点;左子树和右子树都是二叉树;二叉树的节点个
数为n,边的个数为n-1。
问题四:在数组中查找一个元素的时间复杂度是多少?为什么?
回答:在数组中查找一个元素的时间复杂度是O(n),其中n是数组
的长度。因为在数组中查找元素需要按照索引一个一个比较,最坏情
况下需要比较n次才能找到目标元素。
问题五:请解释堆排序算法的原理及时间复杂度。
回答:堆排序算法利用堆这种数据结构进行排序。首先将待排序的
元素构建成一个大顶堆,然后将堆顶元素与最后一个元素交换,继续
调整堆,再取出堆顶元素与倒数第二个元素交换,依次执行,最后得
到从小到大排序的序列。堆排序的时间复杂度为O(nlogn)。
数据结构-《数据结构与算法》试卷及答案【考试试卷答案】
《数据结构与算法》试卷A
适用专业: 考试日期: 闭卷 所需时间:120分钟 总分:100分
一、 选择题(每题1分, 共20题,总共20分)。 1.算法分析的目的是( ) A .辨别数据结构的合理性 B .评价算法的效率
C .研究算法中输入与输出的关系
D .鉴别算法的可读性
2.在一个单链表HL 中,若要在当前由指针p 指向的结点后面插入一个由q 指向的结点,则执行如下( )语句序列。
A. p=q; p->next=q;
B. p->next=q; q->next=p;
C. p->next=q->next; p=q;
D. q->next=p->next; p->next=q; 3.以下哪一个不是队列的基本运算?( )
A. 在队列第i 个元素之后插入一个元素
B. 从队头删除一个元素
C. 判断一个队列是否为空
D.读取队头元素的值
4.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。 A . 11 B.35 C. 19 D. 53
5.如下图所示的4棵二叉树中,( )不是完全二叉树。
6.下面关于线性表的叙述中,错误的是哪一个?( )
A .线性表采用顺序存储,必须占用一片连续的存储单元。
B .线性表采用顺序存储,便于进行插入和删除操作。
C .线性表采用链接存储,不必占用一片连续的存储单元。
D .线性表采用链接存储,便于插入和删除操作。
7.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。
算法与数据结构试题及答案
数据结构试卷(一)
一、单选题(每题2 分,共20分)
1.栈和队列的共同特点是()。
A.只允许在端点处插入和删除元素
B。都是先进后出
C.都是先进先出
D。没有共同点
2.用链接方式存储的队列,在进行插入运算时( ).
A. 仅修改头指针 B。头、尾指针都要修改
C。仅修改尾指针 D.头、尾指针可能都要修改
3.以下数据结构中哪一个是非线性结构?( )
A。队列B。栈 C. 线性表D。二叉树
4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位
置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
A.688 B.678 C.692 D.696
5.树最适合用来表示( )。
A。有序数据元素B。无序数据元素
C。元素之间具有分支层次关系的数据D。元素之间无联系的数据
6.二叉树的第k层的结点数最多为()。
A.2k-1 B。2K+1 C.2K—1 D. 2k—1
7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进
行二分查找,则查找A[3]的比较序列的下标依次为( )
A。1,2,3 B。9,5,2,3
C. 9,5,3
D. 9,4,2,3
8.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为
A。 O(1) B. O(n) C。 O(1og2n) D。 O(n2)
9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %
9作为散列函数,则散列地址为1的元素有( )个,
数据结构与算法练习题库(含答案)
数据结构与算法练习题库(含答案)
一、单选题(共80题,每题1分,共80分)
1、对一棵二叉树的结点从 1 开始顺序编号。要求每个结点的编号大于其左子树所有结点的编号、但小于右子树中所有结点的编号。可采用▁▁▁▁▁ 实现编号。
A、中序遍历
B、先序遍历
C、层次遍历
D、后序遍历
正确答案:A
2、设一段文本中包含4个对象{a,b,c,d},其出现次数相应为{4,2,5,1},则该段文本的哈夫曼编码比采用等长方式的编码节省了多少位数?
A、5
B、4
C、2
D、0
正确答案:C
3、两个有相同键值的元素具有不同的散列地址
A、一定不会
B、一定会
C、可能会
D、有万分之一的可能会
正确答案:C
4、将元素序列{18,23,11,20,2,7,27,33,42,15}按顺序插入一个初始为空的、大小为11的散列表中。散列函数为:H(Key)=Key%11,采用线性探测法处理冲突。问:当第一次发现有冲突时,散列表的装填因子大约是多少?
A、0.73
B、0.27
C、0.64
D、0.45
正确答案:D
5、对N个记录进行归并排序,归并趟数的数量级是:
A、O(NlogN)
B、O(logN)
C、O(N)
D、O(N2)
正确答案:B
6、下列说法不正确的是:
A、图的遍历是从给定的源点出发每一个顶点仅被访问一次
B、图的深度遍历不适用于有向图
C、遍历的基本算法有两种:深度遍历和广度遍历
D、图的深度遍历是一个递归过程
正确答案:B
7、二叉树的中序遍历也可以循环地完成。给定循环中堆栈的操作序列如下(其中push为入栈,pop为出栈): push(1), push(2), push(3), pop(), push(4), pop(), pop(), push(5), pop(), pop(), push(6), pop()
算法与数据结构试题及答案
数据结构试卷(一)
一、单选题(每题2 分,共20分)
1.栈和队列的共同特点是()。
A.只允许在端点处插入和删除元素
B。都是先进后出
C.都是先进先出
D。没有共同点
2.用链接方式存储的队列,在进行插入运算时( ).
A. 仅修改头指针 B。头、尾指针都要修改
C。仅修改尾指针 D.头、尾指针可能都要修改
3.以下数据结构中哪一个是非线性结构?( )
A。队列B。栈 C. 线性表D。二叉树
4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位
置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
A.688 B.678 C.692 D.696
5.树最适合用来表示( )。
A。有序数据元素B。无序数据元素
C。元素之间具有分支层次关系的数据D。元素之间无联系的数据
6.二叉树的第k层的结点数最多为()。
A.2k-1 B。2K+1 C.2K—1 D. 2k—1
7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进
行二分查找,则查找A[3]的比较序列的下标依次为( )
A。1,2,3 B。9,5,2,3
C. 9,5,3
D. 9,4,2,3
8.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为
A。 O(1) B. O(n) C。 O(1og2n) D。 O(n2)
9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %
9作为散列函数,则散列地址为1的元素有( )个,
算法与数据结构题库及答案
一、单项选择题
1某算法的时间复杂度是O(n2),表明该算法()。
A 问题规模是n2
B 问题规模与n2成正比
C 执行时间等于n2 D执行时间与n2成正比
2、关于数据结构的描述,不正确的是()。
A数据结构相同,对应的存储结构也相同。
B 数据结构涉及数据的逻辑结构、存储结构和施加其上的操作等三个方面。
C 数据结构操作的实现与存储结构有关。
D 定义逻辑结构时可不考虑存储结构。
3、按排序策略分来,起泡排序属于()。
A 插入排序
B 选择排序C交换排序 D 归并排序
4、利用双向链表作线性表的存储结构的优点是()。
A 便于进行插入和删除的操作 B提高按关系查找数据元素的速度
C 节省空间
D 便于销毁结构释放空间
5、一个队列的进队顺序为1,2,3,4,则该队列可能的输出序列是()。
A 1,2,3,4
B 1,3,2,4
C 1,4,2,3
D 4,3,2,1
6、Dijkstra算法是按()方法求出图中从某顶点到其余顶点最短路径的。
A 按长度递减的顺序求出图的某顶点到其余顶点的最短路径
B按长度递增的顺序求出图的某顶点到其余顶点的最短路径
C 通过深度优先遍历求出图中从某顶点到其余顶点的所有路径
D 通过广度优先遍历求出图的某顶点到其余顶点的最短路径
7、字符串可定义为n(n≥0)个字符的有限()。其中,n是字符串的长度,表明字符串中字符的个数。
A 集合
B 数列
C 序列
D 聚合
8、在二维数组A[9][10]中,每个数组元素占用3个存储单元,从首地址SA开始按行连续存放。在这种情况下,元素A[8][5]的起始地址为()。
(完整版)数据结构复习题(附答案)
一、算法设计题(每题15分,共60分)
答题要求:
①用自然语言说明所采用算法的思想;
②给出每个算法所需的数据结构定义,并做必要说明;
③写出对应的算法程序,并做必要的注释。
1、有一个带头结点的单链表,每个结点包括两个域,一个是整型域info,另一个是指向下一个结点的指针域next。假设单链表已建立,设计算法删除单链表中所有重复出现的结点,使得info域相等的结点只保留一个。
3、约瑟夫环问题(Josephus问题)是指编号为1、2、…,n的n(n>0)个人按顺时针方向围坐成一圈,现从第s个人开始按顺时针方向报数,数到第m个人出列,然后从出列的下一个人重新开始报数,数到第m的人又出列,…,如此重复直到所有的人全部出列为止。现要求采用循环链表结构设计一个算法,模拟此过程。
4、编程实现单链表的就地逆置。
23.在数组 A[1..n]中有n个数据,试建立一个带有头结点的循环链表,头指针为h,要求链中数据从小到大排列,重复的数据在链中只保存一个.
5、设计一个尽可能的高效算法输出单链表的倒数第K个元素。
3、假设以I和O分别表示入栈和出栈操作。栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序列。(15分)
(1)下面所示的序列中哪些是合法的?
A. IOIIOIOO
B. IOOIOIIO
C. IIIOIOIO
D. IIIOOIOO
(2)通过对(1)的分析,写出一个算法,判定所给的操作序列是否合法。若合法,返回true,否则返回false(假定被判定的操作序列已存入一维数组中)。
算法与数据结构试题及答案
数据结构试卷(一)
一、单选题(每题 2 分,共20分)
1.栈和队列的共同特点是( )。
A.只允许在端点处插入和删除元素
B.都是先进后出
C.都是先进先出
D.没有共同点
2.用链接方式存储的队列,在进行插入运算时( ).
A. 仅修改头指针
B. 头、尾指针都要修改
C. 仅修改尾指针
D.头、尾指针可能都要修改
3.以下数据结构中哪一个是非线性结构?( )
A. 队列
B. 栈
C. 线性表
D. 二叉树
4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元
素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
A.688 B.678 C.692 D.696
5.树最适合用来表示( )。
A.有序数据元素
B.无序数据元素
C.元素之间具有分支层次关系的数据
D.元素之间无联系的数据
6.二叉树的第k层的结点数最多为( ).
A.2k-1 B.2K+1 C.2K-1 D. 2k-1
7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则
查找A[3]的比较序列的下标依次为( )
A. 1,2,3
B. 9,5,2,3
C. 9,5,3
D. 9,4,2,3
8.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为
A. O(1)
B. O(n)
C. O(1og2n)
D. O(n2)
9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散
列函数,则散列地址为1的元素有()个,
算法与数据结构试题及答案
数据结构试卷(一)
一、单选题(每题2 分,共20分)
1.栈和队列的共同特点是()。
A.只允许在端点处插入和删除元素
B.都是先进后出
C。都是先进先出
D.没有共同点
2.用链接方式存储的队列,在进行插入运算时( ).
A。仅修改头指针 B。头、尾指针都要修改
C。仅修改尾指针 D。头、尾指针可能都要修改
3.以下数据结构中哪一个是非线性结构?( )
A。队列 B. 栈C。线性表D。二叉树
4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在
676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
A.688 B.678 C.692 D.696
5.树最适合用来表示( )。
A.有序数据元素B。无序数据元素
C.元素之间具有分支层次关系的数据
D.元素之间无联系的数据
6.二叉树的第k层的结点数最多为( )。
A.2k—1 B.2K+1 C.2K—1 D。 2k—1
7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二
分查找,则查找A[3]的比较序列的下标依次为( )
A. 1,2,3 B。9,5,2,3
C. 9,5,3
D. 9,4,2,3
8.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为
A. O(1)
B. O(n)
C. O(1og2n) D。 O(n2)
9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9
作为散列函数,则散列地址为1的元素有( )个,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构复习题
第一章概论
一、选择题
1、研究数据结构就是研究( D )。
A. 数据的逻辑结构
B. 数据的存储结构
C. 数据的逻辑结构和存储结构
D. 数据的逻辑结构、存储结构及其基本操作
2、算法分析的两个主要方面是( A )。 A. 空间复杂度和时间复杂度 B. 正确性和简单性C. 可读性和文档性 D. 数据复杂性和程序复杂性
3、具有线性结构的数据结构是( D )。
A. 图
B. 树
C. 广义表
D. 栈
4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。
A. 可执行性、可移植性和可扩充性
B. 可执行性、有穷性和确定性
C. 确定性、有穷性和稳定性
D. 易读性、稳定性和确定性
5、下面程序段的时间复杂度是( C )。
fori0;im;i++
forj0;jn;j++
a[i][j]i*j;
A. Om2
B. On2
C. Om*n
D. Om+n
6、算法是( D )。
A. 计算机程序
B. 解决问题的计算方法
C. 排序算法
D. 解决问题的有限运算序列
7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。
A. On
B. Onlog2n
C. On2
D. Olog2n
8、下面程序段的时间复杂度为( C )。
i1;
whilein
ii*3;
A. On
B. O3n
C. Olog3n
D. On3
9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的( B )和运算等的学科。
A. 结构
B. 关系
C. 运算
D. 算法
10、下面程序段的时间复杂度是( A )。
is0;
whilesn
i++;s+i;
A. On
B. On2
C. Olog2n
D. On3
11、抽象数据类型的三个组成部分分别为( A )。
A. 数据对象、数据关系和基本操作
B. 数据元素、逻辑结构和存储结构
C. 数据项、数据元素和数据类型
D. 数据元素、数据结构和数据类型
12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是(D)。
A. 正确性算法应能正确地实现预定的功能
B. 易读性算法应易于阅读和理解,以便调试、修改和扩充
C. 健壮性当环境发生变化时,算法能适当地做出反应或进行处理,不会产生不需要的运行结果
D. 高效性即达到所需要的时间性能
13、下列程序段的时间复杂度为(B)。
xn;y0;
whilexy+1*y+1
yy+1;
A. On BC. O1 D. On2
二、填空题
1、程序段“i1;whilein ii*2;”的时间复杂度为 Olog2n。
2、数据结构的四种基本类型中, 树形结构的元素是一对多关系。
三、综合题
1、将数量级O1,ON,ON2,ON3,ONLOG2N,OLOG2N,O2N按增长率由小到大排序。
答案: O1 Olog2N ON ONlog2N ON2 ON3 O2N一、填空题
1. 数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D 上的关系有限集合。
2. 数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。
3. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。
4. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多
关系,图形结构中元素之间存在多对多关系。
5. 在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。
6. 在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点数可以任意多个。
7. 在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。
8.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引、散列。
9. 数据的运算最常用的有5种,它们分别是插入、删除、修改、查找、排序。
10. 一个算法的效率可分为时间效率和空间效率。
11 任何一个C程序都由一个主函数和若干个被调用的其它函数组成。
二、单项选择题
( B )1. 非线性结构是数据元素之间存在一种:
A)一对多关系 B)多对多关系C)多对一关系 D)一对一关系
( C )2. 数据结构中,与所使用的计算机无关的是数据的结构;
A 存储
B 物理
C 逻辑
D 物理和存储
( C )3. 算法分析的目的是:
A 找出数据结构的合理性
B 研究算法中的输入和输出的关系
C 分析算法的效率以求改进
D 分析算法的易懂性和文档性
( A )4. 算法分析的两个主要方面5是:
A 空间复杂性和时间复杂性
B 正确性和简明性
C 可读性和文档性
D 数据复杂性和程序复杂性