数据结构与算法模拟试题
数据结构与算法模拟试卷一、二及参考答案
四川大学
《数据结构与算法分析》课程
考试模拟试卷
模拟试卷一
一、单选题(每题2 分,共20分)
1.以下数据结构中哪一个是线性结构?( )
A. 有向图
B. 队列
C. 线索二叉树
D. B树
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.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成
( )个不同的字符串?
A.14
B.5
C.6
D.8
5.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。
以下6-8题基于图1。
6.该二叉树结点的前序遍历的序列为( )。
A.E、G、F、A、C、D、B
B.E、A、G、C、F、B、D
C.E、A、C、B、D、G、F
D.E、G、A、C、D、F、B
7.该二叉树结点的中序遍历的序列为( )。
A. A、B、C、D、E、G、F
B. E、A、G、C、F、B、D
C. E、A、C、B、D、G、F
E.B、D、C、A、F、G、E
8.该二叉树的按层遍历的序列为( )。
A.E、G、F、A、C、D、B B. E、A、C、B、D、G、F
数据结构与算法 模拟试卷三四及参考答案
9.表示图的三种常用的存储结构为_____________、____________和_______________。
10.对于线性表(78,4,56,30,65)进行散列存储时,若选用H(K)=K %5作为散列函数,则散列地址为0的元素有________个,散列地址为4的有_______个。
若存储它采用邻接表,并且每个顶点邻接表中的边结点都是按照终点序号从小到大的次序链接的,按主教材中介绍的拓朴排序算法进行排序,试给出得到的拓朴排序的序列。
四、阅读算法(每题7分,共14分)
1.int Prime(int n)
{
int i=1;
int x=(int) sqrt(n);
while (++i<=x)
A. 2 3 1B.321
C.312D. 12 3
5.AOV网是一种()。
A.有向图B.无向图C.无向无环图D.有向无环图
6.采用开放定址法处理散列表的冲突时,其平均查找长度()。
A.低于链接法处理冲突B.高于链接法处理冲突
C.与链接法处理冲突相同D.高于二分查找
7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。
11.在线性表的散列存储中,处理冲突的常用方法有________________________和_____________________________两种。
数据结构与算法设计考试试题
数据结构与算法设计考试试题
一、选择题(共10题,每题2分,共20分)
1. 下列哪种数据结构适合用于快速查找一个元素:
A. 数组
B. 栈
C. 队列
D. 哈希表
2. 在二叉搜索树中,中序遍历可以得到一个有序的序列。请问下列序列中哪个是中序遍历的结果:
A. 2, 4, 6, 8, 10
B. 10, 8, 6, 4, 2
C. 2, 6, 4, 8, 10
D. 6, 8, 4, 10, 2
3. 下面哪种排序算法的最好情况时间复杂度为O(nlogn):
A. 冒泡排序
B. 插入排序
C. 选择排序
D. 归并排序
4. 哈希表通过将关键字映射到数组下标的方式来实现快速访问和插入。请问下列哪种冲突处理方法是哈希表常用的:
A. 开放地址法
B. 建立链表法
C. 折叠法
D. 哈希函数法
5. 堆排序是一种利用堆这种数据结构进行排序的算法,请问堆排序的时间复杂度是:
A. O(n)
B. O(nlogn)
C. O(n^2)
D. O(logn)
6. Dijkstra算法是解决什么问题的经典算法:
A. 最短路径问题
B. 最大流问题
C. 最小生成树问题
D. 最长公共子序列问题
7. 在图的表示中,邻接矩阵适合适用于什么类型的图:
A. 稠密图
B. 稀疏图
C. 有向图
D. 无向图
8. 下面哪种搜索算法适用于有权图:
A. 深度优先搜索
B. 广度优先搜索
C. Dijkstra算法
D. A*算法
9. 下面哪种数据结构不是线性结构:
A. 数组
B. 链表
C. 栈
D. 树
10. 下列哪种数据结构可以实现先进先出的特性:
A. 栈
B. 队列
C. 哈希表
数据结构与算法 模拟试卷七、八及参考答案
模拟试卷七
一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。每小题1分,共10分)
1.假设执行语句S的时间为O(1),则执行下列程序段
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
S;
的时间为( )
A)O(n)B)O(n2)
C)O(n*i)D)O(n+i)
2.设栈最大长度为3,入栈序列为1,2,3,4,5,6,则不可能的出栈序列是()。
A)1,2,3,4,5,6 B)2,1,3,4,5,6
C)3,4,2,1,5,6 D)4,3,2,1,5,6
3.设单链表的结点结构为(data,next),已知指针q所指结点是指针p所指结点的直接前驱,如在*q与*p之间插入结点*s,则应执行的操作为()。
A)s->next=p->next; p->next=s; B)q->next=s; s->next=p;
C)p->next=s-next; s->next=p; D)p->next=s; s-next=q;
4.串S='ABC DEF'的串长为()。
A)3 B)4
C)7 D)8
5.下面二叉树按()遍历得到的序列是FEDBIHGCA。
A)先序B)中序
C)后序D)层次
6.用Floyd算法求每一对顶点之间的最短路径的时间复杂度为()。
A)O(n) B)O(n2)
C)O(n3) D)O(nlogn)
7.具有n个顶点的无向图,它可能具有的边数的最大值为()。
A)(n2+n)/2 B)n2
数据结构与算法试题(1)
一、选择题
1.在逻辑上可以把数据结构分成(A)
A.线性结构和非线性结构
B.动态结构和静态结构
C.紧凑结构和非紧凑结构
D.内部结构和外部结构
2. 单链表中各结点之间的地址(C)
A.必须连续
B.部分必须连续
C.不一定连续
D.以上均不对
3.在一个长度为n的顺序表中向第i个元素(0<i<=n+1)之前插入一个新元素时,需向后
移动(B)个元素。
A、n-i
B、n-i+1
C、n-i-1
D、i
4. 插入和删除操作只能在一端进行的线性表,称为(C)。
A.队列
B.线性表
C.栈
D.循环队列
5、队列是仅允许在()进行插入,而在()进行删除。(A)
A.队尾,队首
B.队尾,队尾
C.队首,队尾
D.队首,队首
6.链表适合于(A)查找。
A.顺序
B.二分
C.随机
D.顺序或二分
7.数据的基本单位是(A)。
A.数据元素
B.数据结构
C.数据项
D.数据对象
8.下列哪个不是算法的特性(B)。
A.有穷性
B.可数性
C.可行性
D.确定性
9.在表长为n的顺序表中进行线性查找,它的平均查找长度为(B)。
A.ASL=n
B.ASL=(n+1)/2
C.ASL=n+1
D.ASL=log2n
10. 一个线性表第一个元素的存储地址是320,每个元素的长度为3,则第五个元素的地址是(C)。
A.311
B.328
C.332
D.313
11.设front、rear分别为循环双向链表结点的左指针和右指针,则指针P所指的元素是双循环链表L的尾元素的条件是(D)。
A.P==L
B.P->front==L
C.P==NULL
D.P->rear==L
算法与数据结构试题及答案
数据结构试卷〔一〕
一、单选题〔每题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〕
《数据结构与算法》模拟试卷三
江西财经大学
09-10第二学期期末考试试卷
试卷代码:18335C 授课课时:96 考试用时:150分钟
课程名称:数据结构与算法(软件)适用对象:软件工程选课班
试卷命题人邓庆山试卷审核人
一、填空题(每空2分,共20分)
1.栈与队列和一般线性表的区别体现在_____________。
2.向一个长度为n的顺序线性表删除第i个元素(1<=i<=n),需向前移动______个元素。
3.在双向链表中,每个结点有两个指针域,一个指向_________,一个指向_________。
4.在一棵二叉树中,度为0的结点的个数是10,则度为2的结点个数是_________
5.一个有n个结点的二叉树的深度最大为___________,最小为__________
6.n个定点的连通图至少有_______条边。
7.在无向图G的邻接矩阵A中,若(vi,vj)属于图G的边的集合,则对应元素A[i][j]等于_______,否则等于_________.
二、选择题(从下列各题四个备选答案中选出一个正确答案,并将其代号写在答题纸相应位置处。每小题2分,共10分。)
1.组成数据的基本单位是()
A.数据项
B.数据类型
C.数据元素
D.数据变量
2.链表不具备的特点是()
A. 可随机访问任何一个元素
B. 插入、删除操作不需要移动元素
C. 无需事先估计存储空间大小
D. 所需存储空间与线性表长度成正比
3.head为指向单链表的头结点中的指针,判断该链表的非空条件是()。
A. head==NULL
B. head->link==NULL
数据结构与算法 试题及答案
数据结构与算法试题及答案
数据结构与算法试题及答案
在计算机科学领域,数据结构与算法是非常重要的基础知识。数据
结构是一种组织和存储数据的方式,而算法则是解决问题的方法和步骤。掌握好数据结构与算法,有助于提高程序的运行效率和解决实际
问题。
下面是一些关于数据结构与算法的试题及其答案,希望能够帮助大
家更好地理解和应用这方面的知识。
试题一:什么是数据结构?请举例说明。
答案一:数据结构是一种组织和存储数据的方式。它可以使数据的
操作更加高效。常见的数据结构有数组、链表、栈、队列、树和图等。举个例子,数组是一种线性数据结构,可以存储一组相同类型的元素。
试题二:什么是算法?请举例说明。
答案二:算法是一种解决问题的方法和步骤。它是一个精确的描述,用于解决特定问题。常见的算法有排序算法、查找算法、递归算法等。例如,冒泡排序算法是一种比较简单的排序算法,通过不断交换相邻
元素的位置来达到排序的目的。
试题三:什么是时间复杂度和空间复杂度?
答案三:时间复杂度和空间复杂度是衡量算法性能的两个指标。时
间复杂度是指算法执行所需要的时间,通常用大O符号表示。空间复
杂度是指算法执行所需要的额外空间,通常也用大O符号表示。它们
都是描述算法随着输入规模增大而变化的趋势。
试题四:介绍一下常见的数据结构和相应的操作。
答案四:常见的数据结构有数组、链表、栈、队列、树和图等。
- 数组是一种线性数据结构,可以随机访问元素,并且在插入和删
除元素时需要移动其他元素。
- 链表是一种动态数据结构,不需要固定的内存空间,但只能通过
指针进行元素的访问。
模拟题数据结构与算法答案及评分标准
课程考核
参考答案及评分标准
考试课程:数据结构与算法模拟试题 学年学期:20XX-20XX 学年第1学期 试卷类型:X 考试用时:120分钟
适用专业:数学与计算机学院计算机科学与技术(软件)专业XXXX 级 层次:本科
一、选择题(每小题2分,共30分)
二、判断题(每小题1.5分,共9分)
三、填空题(每空1分,共25分)
1、集合、线性结构、树型结构、图状结构
2、时间复杂度、空间复杂度
3、p->next!=NULL
4、n-i+1、n-i
5、2,3、1006H
6、表中的数据元素全部是字符,通常是一个串整体作为操作对象
7、串长相等、对应字符相等
8、2i-1、(n+1)/2、(n-1)/2
9、2n 、n-1、n+1 10、n(n-1)/2、n(n-1)
11、邻接矩阵、邻接链表
12、{D,Q,F,X,A,P,B,N,M,Y ,C,W}
四、设有数据结构(D ,R ),其中D={1, 2, 3, 4, 5, 6},R={<1,2>,<2,3>,<2,4>,<3,4>,<3,5>,<3,6>,<4,5>,<4,6>}。试画出其逻辑结构图并指出属于何种结构。(5分) 解答:
属于图状结构
五、将下面图1所示的树转换为二叉树,图2所示的二叉树转换为树或森林。(6分) 解答:
图1转换成的二叉树
图2所示的二叉树转换成的森林
六、
对给定的一组权值W =(5,2,9,11,8,3,7),试构造相应的哈夫曼树,并计算它的带权路径长度,并写出各个权对应的哈夫曼编码。(6分) 解答:构造的哈夫曼树如图3
d数据结构与算法模拟卷(1)_答案
《数据结构与算法》模拟卷(1)答案
)
二、选择题(共20 空,每空 1.5 分,共30 分)
三、填空题(共19 空,每空 1-2 分,共23 分)
1.设每个元素需要4个字节,顺序存储1200个元素;若首地址是2000,那么第150
个元素的地址是____2596___。(每空 2 分)
2.已知两个字符串s1=”Data structure is very useful.”, s2=”uct”, 那么s1
的长度 strlen(s1)=____30/31/32___, s2是否为空的判断StrEmpty(s2)=_false_, 子串Substr(s1,16,2)=____is___, 查找子串的位置Index(s1,s2,1)=__9__。
3.下列表示的图中,共有__5__个是树;有__1___个是满二叉树;有___2__个是完全二
叉树。
4.下列二叉树的中序遍历序列是______D B N G O A E C_______;
后序遍历序列是________D N O G B E C A__________。(每空 2 分)
5.5个顶点的无向图,若要求其各个顶点的度都相同,则这种无向图有__3__个(不考
虑顶点的差异)。( 2 分)
6.下列有向图中,入度最大的顶点是___v2__;从v3到v2的最短简单路径有__v3v4v2
__;包含所有顶点的简单路径有___v3v4v1v2____;有一简单回路是____v3v4v1(或v1v3v4,v4v1v3)___。
7.如果一棵完全二叉树有26个结点,从上到下、从左到右对它的结点进行编号,根结
算法与数据结构试题及答案
数据结构模拟试题...
一、简答题15分,每小题3分
1.简要说明算法与程序的区别;
2.在哈希表中,发生冲突的可能性与哪些因素有关为什么
3.
4.说明在图的遍历中,设置访问标志数组的作用;
5.说明以下三个概念的关系:头指针,头结点,首元素结点;
6.在一般的顺序队列中,什么是假溢出怎样解决假溢出问题
7.
二、判断题10分,每小题1分
正确在括号内打√,错误打×
1广义表 a , b, c 的表头是 a , b,表尾是 c ;
2在哈夫曼树中,权值最小的结点离根结点最近;
3基数排序是高位优先排序法;
4在平衡二叉树中,任意结点左右子树的高度差绝对值不超过1;
5在单链表中,给定任一结点的地址p,则可用下述语句将新结点s插入结点p的后面:p->next = s; s->next = p->next;
6抽象数据类型ADT包括定义和实现两方面,其中定义是独立于实现的,定义仅给出一个ADT的逻辑特性,不必考虑如何在计算机中实现;
7数组元素的下标值越大,存取时间越长;
8用邻接矩阵法存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小只与图中结点个数有关,而与图的边数无关;
9拓扑排序是按AOE网中每个结点事件的最早发生时间对结点进行排序;
10长度为1的串等价于一个字符型常量;
三、单项选择题10分, 每小题1分
1.排序时扫描待排序记录序列,顺次比较相邻的两个元素的大小,逆序时就交换位置;这是哪种排序方法的基本思想
A、堆排序
B、直接插入排序
C、快速排序
D、冒泡排序
2.已知一个有向图的邻接矩阵表示,要删除所有从第i个结点发出的边,应该:
算法与数据结构试题及答案
数据结构试卷(一)
一、单选题(每题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的元素有( )个,
《算法与数据结构》模拟试题7
《算法与数据结构》模拟试题7
一、填空题(每小题2分,共20分)
1、数据及其联系在计算机内存中的存储称为数据的物理(存储)结构,基本的物理结构有和。
2、数据结构中评价算法的两个重要指标是和。
3、堆栈是操作受限的线性结构,只能在插入和删除元素;不能进行插入和删除元素的一端称为。
4、有一个10阶对称矩阵A,采用压缩存储方式(以行为主存储),A[0][0]的地址是100,若每个元素占3个基本存储单元,则A[5][8]的地址是。
5、设有一棵深度为n的二叉树,它至少有个结点,至多有个结点。
6、动态存储管理主要是解决系统如何 _______________、_____________ 的两大问题。
7、对线性表进行二分查找时,要求线性表必须是,且要求。
8、对于内部排序,有多种排序方法。按排序基本思想(策略),可分为、
、、归并排序和基数排序。
9、索引表是存储记录的和记录的之间的对照表,每个元素称为一个索引项。
10、对于文件,按物理结构划分,可分为顺序文件、文件、
文件和多关键字文件。
二、单项选择题(请将答案写在题目后的括号中。每题2分,共18分)
1、有如下递归函数fact(n),其时间复杂度是()。
Fact(int n)
{ if (n<=1) return 1;
else return(n*fact(n-1)) ;
}
(A)O(n) (B)O(n2) (C)O(㏒2n) (D)O(n㏒2n)
2、线性表若采用链式存储结构时,要求内存中可用存储单元的地址是()。
(A)必须是连续的(B)部分地址必须是连续的
数据结构与算法模拟试题
数据结构与算法模拟试题
1.以下属于哈希函数的构造方法的是()。
A:直接定址法(正确答案)
B:哈希再散列法
C:线性探测再散列法
D:二次探测再散列法
2.下列关于二叉排序树中说法正确的是()。
A:二叉排序树的定义具有反复性
B:二叉排序树的定义具有递归性(正确答案)
C:二叉排序树的定义具有回溯性
D:二叉排序树的定义具有反弹性
3.假定有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表中,至少要进行多少次探测?()。
A:k-1次
B:k次
C:k+1次
D:k(k+1)/2次(正确答案)
4.哈希表的查找是依靠()来计算出元素的存储地址的。
A:哈希函数(正确答案)
B:逐一比对
C:折半比较
D:集合
5.在各种查找方法中,平均查找长度ASL与结点个数n无关的查找方法是()。
A:顺序查找
B:折半查找
C:哈希查找(正确答案)
D:分块查找
6.装填因子又称为()。
A:负载因子(正确答案)
B:平衡因子
C:外力因子
D:合力因子
7.先序遍历一颗二叉排序树的顺序是()。
A:左子树根结点右子树
B:根结点左子树右子树(正确答案)
C:左子树右子树根结点
D:都不对
8.关于二叉排序树的遍历顺序说法正确的是()。
A:中序遍历一颗二叉排序树的顺序是:左子树根结点右子树(正确答案) B:中序遍历一颗二叉排序树的顺序是:根结点左子树右子树
C:中序遍历一颗二叉排序树的顺序是:左子树右子树根结点
D:无正确答案
9.关于二叉排序树的结点个数为0时称为什么描述正确的是()。
A:二叉排序树可以含有0个结点,这时它是一棵空二叉排序树(正确答案) B:二叉排序树可以含有0个结点,这时它是一棵满二叉排序树
《算法与数据结构》模拟试题5
《算法与数据结构》模拟试题5
一、填空题(每小题2分,共18分)
1、对于给定的n个元素,可以构造出的逻辑结构有集合, ,
和四种。
2、数据结构中评价算法的两个重要指标是和。
3、顺序存储结构是通过表示数据元素之间的(逻辑)关系;链式存储结构是通过表示数据元素之间的(逻辑)关系。
4、栈是的线性表,其操作数据的基本原则是。
5、设有一个二维数组A[0…9][0…9],若每个元素占5个基本存储单元,A[0][0]的地址
是1000,若按行优先(以行为主)顺序存储,则A[6][8]的存储地址是。
6、二叉树由根结点,和三个基本单元组成。
7、若采用邻接矩阵存储一个图所需要的存储单元取决于图的;无向图的邻接矩阵一定是。
8、在查找时,若采用折半查找,要求线性表,而哈希表的查找,要求线性表。
9、对于文件,按物理结构划分,可分为顺序文件、文件、
文件和多关键字文件。
二、单项选择题(请将答案写在题目后的括号中。每题2分,共18分)
1、有如下递归函数fact(n),其时间复杂度是()。
Fact(int n)
{ if (n<=1) return 1;
else return(n*fact(n-1)) ;
}
(A)O(n) (B)O(n2) (C)O(㏒2n) (D)O(n㏒2n)
2、以head为头结点的非空单循环链表的尾结点p的特点是()。
(A)p->next=NULL;(B)p=NULL;
(C)p->next=head;(D)p=head;
3、设有一个栈顶指针为top的顺序栈S,top为0时表示栈空,则从S中取出一个元素保
数据结构与算法试题及
数据结构与算法试题及
答案参考
数据结构与算法试题及答案参考
一、选择题
1. 数据结构是研究什么的?
A. 数据的结构和组织
B. 数据的格式和排列
C. 数据的读取和写入
D. 数据的传输和存储
正确答案:A
2. 在数据结构中,栈(Stack)的特点是什么?
A. 先进先出
B. 先进后出
C. 后进先出
D. 后进后出
正确答案:C
3. 在链表中,结点的指针指向的是什么?
A. 结点本身
B. 结点的前一个结点
C. 结点的后一个结点
D. 结点的数据域
正确答案:C
4. 在二叉搜索树中,左子树的值都小于根节点,右子树的值都大于根节点。这种特性被称为什么性质?
A. 有序性
B. 平衡性
C. 完全性
D. 二叉性
正确答案:A
二、填空题
1. 算法的复杂度可以分为时间复杂度和________复杂度。
正确答案:空间
2. 实现队列数据结构可以采用两个栈的方式,称为______队列。正确答案:双栈
3. 快速排序算法的时间复杂度为______。
正确答案:O(nlogn)
三、编程题
1. 请编写一个函数,实现对一个数组进行冒泡排序。
正确答案:
```python
def bubble_sort(arr):
for i in range(len(arr) - 1):
for j in range(len(arr) - 1 - i):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr
```
2. 请编写一个递归函数,计算斐波那契数列的第n项。
正确答案:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题
1.在逻辑上可以把数据结构分成()
A.线性结构和非线性结构
B.动态结构和静态结构
C.紧凑结构和非紧凑结构
D.内部结构和外部结构
2.单链表中各结点之间的地址()
A.必须连续
B.部分必须连续
C.不一定连续
D.以上均不对
3.在一个长度为n的顺序表中向第i个元素(0
移动()个元素。
A、n-i
B、n-i+1
C、n-i-1
D、i
4. 插入和删除操作只能在一端进行的线性表,称为()。
A.队列
B.线性表
C.栈
D.循环队列
5、队列是仅允许在()进行插入,而在()进行删除。()
A.队尾,队首
B.队尾,队尾
C.队首,队尾
D.队首,队首
6.链表适合于()查找。
A.顺序
B.二分
C.随机
D.顺序或二分
7.数据的基本单位是()。
A.数据元素
B.数据结构
C.数据项
D.数据对象
8.下列哪个不是算法的特性()。
A.有穷性
B.可数性
C.可行性
D.确定性
9.在表长为n的顺序表中进行线性查找,它的平均查找长度为()。
A.ASL=n
B.ASL=(n+1)/2
C.ASL=n+1
D.ASL=log2n
10. 一个线性表第一个元素的存储地址是320,每个元素的长度为3,则第五个元素的地址是()。
A.311
B.328
C.332
D.313
11.设front、rear分别为循环双向链表结点的左指针和右指针,则指针P所指的元素是双循环链表L的尾元素的条件是()。
A.P==L
B.P->front==L
C.P==NULL
D.P->rear==L
12. 已知P为单链表中的非首尾结点,删除P结点的后继结点Q的语句为()。
A.P->NEXT=Q->NEXT;FREE(Q);
B.Q->NEXT=P; FREE(Q);
C.Q->NEXT=P->NEXT;FREE(Q);
D.P->NEXT=S;S->NEXT=P;
13.循环队列SQ队满的条件是()。
A.SQ->rear==SQ->front
B. (SQ->rear+1)%MAXLEN==SQ->front
C.SQ->rear==0
D. SQ->front==0
14.一组记录的排序码为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆为()。
A、79,46,56,38,40,80
B、84,79,56,38,40,46
C、84,79,56,46,40,38
D、84,56,79,40,46,38
15.排序趟数与序列原始状态(原始排列)有关的排序方法是()方法。
A、插入排序
B、选择排序
C、冒泡排序
D、快速排序
16.下列排序方法中,()是稳定的排序方法。
A、直接选择排序
B、二分法插入排序
C、希尔排序
D、快速排序
17.数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中()的两趟排序后的结果。
A、选择排序
B、冒泡排序
C、插入排序
D、堆排序
18.对序列(15,9,7,8,20,-1,4)进行排序,进行一趟排序后,数据的排列变为(4,9,-1,8,20,7,15),则采用的是()排序。
A、选择
B、快速
C、希尔
D、冒泡
19.一组待排序记录的关键字为(46,79,56,38,40,84),则利用快速排序,以第一个记录为基准元素得到的一次划分结果为()。
A(38,40,46,56,79,84) B、(40,38,46,79,56,84)
C、(40,38,46,56,79,84)
D、(40,38,46,84,56,79)
20.用直接插入排序对下面四个序列进行排序(由小到大),元素比较次数最少的是()。
A、94,32,40,90,80,46,21,69
B、32,40,21,46,69,94,90,80
C 21,32,46,40,80,69,90,94 D、90,69,80,46,21,32,94,40
21.若用冒泡排序对关键字序列(18,16,14,12,10,8)进行从小到大的排序,所需进行的关键字比较总次数是()。
A、10
B、15
C、21
D、34
22.就排序算法所用的辅助空间而言,堆排序、快速排序和归并排序的关系()。
A、堆排序<快速排序<归并排序
B、堆排序<归并排序<快速排序
C、堆排序>归并排序>快速排序
D、堆排序>快速排序>归并排序
23.最小生成树的构造可使用()算法。
A.Dijkstra算法
B.Prim算法
C.Haffman算法
D.Floyd算法
24. 具有32个结点的完全二叉树的深度为()。
A. 5
B.6
C.7
D.8
25. 在有n个叶子结点的哈夫曼树中,其结点总数为()。
A.不确定 B.2n C.2n+1 D.2n-1
26.下列陈述正确的是()。
A.二叉树是度为2的有序树
B. 二叉树中最多只有二棵树,且有左右子树之分
C.二叉树必有度为2的结点
D. 二叉树中结点只有一个孩子时无左右之分
27.先序为A,B,C的二叉树共有()种。
A.3
B.4
C.5
D.6
28.在树结构中,若结点B有3个兄弟,A是B的父亲结点,则A的度为()。
A.3
B.4
C.5
D.6
29.在一个图中,所有顶点的度数之和等于所有边数的()倍。
A、1
B、2
C、3
D、4
30.n个顶点的强连通图至少有()边。
A、n
B、n-1
C、n+1
D、n (n-1)
31.在一个无向图中,所有顶点的度数之和等于所有边数的()倍;在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的()倍。
A、1/2
B、2
C、1
D、4