算法与数据结构试卷B
- 格式:doc
- 大小:93.50 KB
- 文档页数:6
数据结构试卷B(总7页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--试题 B一、填空题(18小题,40个空,每空分,共20分)1、数据结构是一门研究非数值计算的程序设计问题中计算机的以及它们之间的和运算等的学科。
2、线性结构中元素之间存在关系,树形结构中元素之间存在关系,图形结构中元素之间存在关系。
3、在顺序表中插入或删除一个元素,需要平均移动,具体移动的元素个数与有关。
4、在顺序表中访问任意一结点的时间复杂度均为,因此,顺序表也称为的数据结构。
5、顺序表中逻辑上相邻的元素的物理位置相邻。
单链表中逻辑上相邻的元素的物理位置相邻。
6、若n为主串长,m为子串长,则串的古典(朴素)匹配算法最坏的情况下需要比较字符的总次数为。
7、求下列广义表操作的结果:(1) GetHead【((a,b),(c,d))】=== ; //头元素不必加括号(2) GetHead【GetTail【((a,b),(c,d))】】=== ;(3) GetHead【GetTail【GetHead【((a,b),(c,d))】】】=== ;(4) GetTail【GetHead【GetTail【((a,b),(c,d))】】】=== ;8、一棵具有257个结点的完全二叉树,它的深度为。
9、设一棵完全二叉树具有1000个结点,则此完全二叉树有个叶子结点,有个度为2的结点,有个结点只有非空左子树,有个结点只有非空右子树。
10、图有、等存储结构,遍历图有、等方法。
11、n个顶点e条边的图采用邻接矩阵存储,广度优先遍历算法的时间复杂度为;若采用邻接表存储,该算法的时间复杂度为。
12、用Dijkstra算法求某一顶点到其余各顶点间的最短路径是按路径长度的次序来得到最短路径的。
13、假设在有序线性表a[20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为;比较四次查找成功的结点数为;平均查找长度为。
算法与数据结构期末考试卷一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构被称为:A. 链表B. 栈C. 队列D. 数组2. 快速排序算法的时间复杂度在最坏情况下是:A. O(n)B. O(n log n)C. O(n^2)D. O(log n)3. 哈希表解决冲突最常用的方法是:A. 链地址法B. 线性探测法C. 二次探测法D. 双重哈希法4. 二叉树的遍历方式不包括:A. 前序遍历B. 中序遍历C. 后序遍历D. 广度优先遍历5. 堆排序算法是基于:A. 链表B. 栈C. 队列D. 堆...(此处省略其他选择题)二、简答题(每题10分,共20分)1. 请简述二叉搜索树与普通二叉树的区别。
2. 什么是递归?请举例说明递归在算法中的应用。
三、编程题(每题15分,共30分)1. 编写一个函数,实现对链表的反转。
2. 编写一个函数,实现快速排序算法。
四、综合应用题(每题15分,共30分)1. 描述如何使用哈希表实现一个简单的数据库索引系统。
2. 假设你有一个数组,其中包含了一些重复的数值,请编写一个算法来找出数组中出现次数超过数组长度一半的数值。
五、论述题(每题15分,共15分)1. 论述动态规划与贪心算法的区别,并给出一个动态规划问题的例子。
六、附加题(10分,可选做)1. 请设计一个算法,用于检测一个字符串是否是回文。
如果字符串是回文,请返回True,否则返回False。
注意:本试卷中所有题目的答案必须以书面形式给出,编程题需要提供完整的代码实现。
祝各位考生考试顺利,取得优异成绩。
一、填空题(每空2分,共12分)1. 数据结构被形式地定义为(D, R ),其中D 是数据元素的有限集合,R 是D上的__数据元素之间的关系______ 有限集合。
2.向一个长度为n 的线性表中删除第i 个元素(1≤i ≤n)时,需向前移动___n-i_____个元素。
3. 假设以S 和X 代表进栈和出栈操作,则对输入序列a,b,c,d,e 进行一系列操作SSXSXSSXXX 之后,得到的输出序列为___bceda_____。
4. 已知循环队列的存储空间为数组A[21],front 指向队头元素的前一个位置,rear 指向队尾元素,假设front 和rear 的值分别为8和3,则该队列的长度为___16_____。
5.在有序表A[0…17]中,采用折半查找法查找关键字等于A[7]的元素,需比较元素的下标依次为 8 3 5 6 7 。
6. 在堆排序、快速排序和归并排序方法中,稳定的排序方法是 归并排序 。
二、单项选择题(每小题2分,共40分)1. 数据结构中,与所使用的计算机无关的是数据的( C )结构。
A.存储B. 物理C. 逻辑D.物理和存储2. 算法分析的两个主要方面是( A )A. 空间复杂性和时间复杂性B. 正确性和简明性C. 可读性和文档性D. 数据复杂性和程序复杂性3.在n 个结点的顺序表中,算法的时间复杂度是O (1)的操作是( A )A.访问第i 个结点(1≤i ≤n )和求第i 个结点的直接前驱(2≤i ≤n )B.在第i 个结点后插入一个新结点(1≤i ≤n )C.删除第i 个结点(1≤i ≤n )D. 将n 个结点从小到大排序 4. 线性表L在( B )情况下适用于使用链式结构实现。
A.需经常修改L中的结点值B.需不断对L进行删除插入C.L中含有大量的结点D.L中结点结构复杂 5. 经过以下栈运算后,x 的值是( A )InitStack(s); Push(s, 'a');Push(s, 'b');Pop(s,x);GetTop(s,x); A.a B.b C.1 D.06. 循环队列存储在数组A[0…m]中,则入队时的操作为( D )。
国家二级C语言(数据结构与算法)机试模拟试卷1(题后含答案及解析)题型有:1. 选择题选择题1.算法具有五个特性,以下选项中不属于算法特性的是A.有穷性B.简洁性C.可行性D.确定性正确答案:B解析:算法的五个特性分别是:有穷性、可行性、确定性、输入和输出。
知识模块:数据结构与算法2.算法的有穷性是指A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用正确答案:A解析:算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。
知识模块:数据结构与算法3.算法的时间复杂度是指A.算法的执行时间B.算法所处理的数据最C.算法程序中的语句或指令条数D.算法在执行过程中所需要的基本运算次数正确答案:D解析:算法的时间复杂度,是指执行算法所需要的计算工作量。
算法的工作量可以用算法在执行过程中所需基本运算的执行次数来度量。
知识模块:数据结构与算法4.对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该仔储器芯片的存储容量为A.1kbB.2kbC.4kbD.8kb正确答案:A解析:10根地址线,每根地址线有0和1两种情况,地址范围就是2的10次方=1024=1K。
知识模块:数据结构与算法5.磁盘处于写保护状态时其中的数据A.不能读出,不能删改B.可以读出,不能删改C.不能读出,可以删改D.可以读出,可以删改正确答案:B解析:磁盘处于写保护状态时其中的数据可以读出来,但是不能修改和删除。
知识模块:数据结构与算法6.在Windows环境下,单击当前窗口中的按钮“”,其功能是A.讲当前应用程序转为后台运行B.退Windows后再关机C.终止当前应用程序的运行D.退出Windows后重新启动计算机正确答案:C解析:在Windows中,单击窗口中的按钮“”表示关闭当前运行的程序。
知识模块:数据结构与算法7.下列描述中正确的是A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数据一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对正确答案:D解析:数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。
数据结构与算法同步训练模拟试题及答案解析(1/43)选择题第1题下列叙述中正确的是()。
A.循环队列是队列的一种链式存储结构B.循环队列是队列的一种顺序的存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构下一题(2/43)选择题第2题算法的有穷性是指()。
A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用上一题下一题(3/43)选择题第3题算法的空间复杂度是指()。
A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数上一题下一题(4/43)选择题第4题定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。
A.-369B.369C.0.369D.整数集合{1,2,3,4,5}上一题下一题(5/43)选择题第5题下列叙述正确的是()。
A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对上一题下一题(6/43)选择题第6题下列叙述中正确的是()。
A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构C.循环链表是非线性结构D.双向链表是非线性结构上一题下一题(7/43)选择题第7题下列关于线性链表的叙述中,正确的是()。
A.各数据结点的存储空间可以不连续,但他们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间不需连续C.进行插入数据与删除数据时,不需要异动表中的元素D.以上说法均不对上一题下一题(8/43)选择题第8题下列叙述中正确的是()。
A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间上一题下一题(9/43)选择题第9题下列叙述中正确的是()。
数据结构与算法试卷自考一、单选题(每题3分,共30分)1. 在数据结构中,从逻辑上可以把数据结构分成()。
A. 动态结构和静态结构。
B. 紧凑结构和非紧凑结构。
C. 线性结构和非线性结构。
D. 内部结构和外部结构。
2. 线性表的顺序存储结构是一种()的存储结构。
A. 随机存取。
B. 顺序存取。
C. 索引存取。
D. 散列存取。
3. 栈和队列的共同特点是()。
A. 都是先进后出。
B. 都是先进先出。
C. 只允许在端点处插入和删除元素。
D. 没有共同点。
4. 对于一个具有n个顶点的无向图,若采用邻接矩阵表示,则该矩阵的大小是()。
A. n.B. (n - 1)^2.C. n - 1.D. n^2.5. 下面关于二叉树的叙述正确的是()。
A. 一棵二叉树中叶子结点的个数等于度为2的结点个数加1。
B. 二叉树中不存在度大于2的结点。
C. 二叉树的度为2。
D. 二叉树的度为0或1。
6. 具有n个结点的完全二叉树的深度为()。
A. ⌊log₂n⌋ + 1.B. ⌈log₂n⌉ + 1.C. ⌊log₂n⌋.D. ⌈log₂n⌉.7. 对线性表进行二分查找时,要求线性表必须()。
A. 以顺序方式存储。
B. 以链式方式存储。
C. 以顺序方式存储,且结点按关键字有序排列。
D. 以链式方式存储,且结点按关键字有序排列。
8. 排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为()。
A. 希尔排序。
B. 冒泡排序。
C. 插入排序。
D. 选择排序。
9. 快速排序在()情况下最不利于发挥其长处。
A. 待排序的数据量太大。
B. 待排序的数据中含有多个相同值。
C. 待排序的数据已基本有序。
D. 待排序的数据数量为奇数。
10. 算法的时间复杂度取决于()。
A. 问题的规模。
B. 待处理数据的初态。
C. 计算机的配置。
D. A和B。
二、填空题(每题3分,共30分)1. 数据的逻辑结构有四种基本类型:集合结构、______结构、树形结构和图状结构。
一、选择题(10*2%=20%)1.代码段for (j=1; j<=n;j++) 的时间复杂性是B。
for (k=n; k>=1; k/=2)count++;A、O(n2)B、O(nlogn)C、O(logn)D、O(n)2.对某个无向图的邻接矩阵来说,下列叙述正确的是 A 。
A、第i行上的非零元素个数和第i列上的非零元素个数一定相等B、矩阵中的非零元素个数等于图中的边数C、第i行与第i列上的非零元素的总数等于顶点vi的度数D、矩阵中非全零行的行数等于图中的顶点数3.循环双链表中在p所指结点之后插入结点s的操作是D。
A、p->next=s; s->prior=p; p->next->prior=s; s->next=p->nextB、p->next=s; p->next->prior=s; s->prior=p; s->next=p->nextC、s->prior=p; s->next=p->next; p->next=s; p->next->prior=sD、s->prior=p; s->next=p->next; p->next->prior=s; p->next=s4.4个元素a1,a2,a3和a4依次通过一个栈,在a4进栈前,栈的状态如图,,不可能的出栈顺序是C。
A、a4,a3,a2,a1B、a3,a2,a4,a1C、a3,a1,a4,a2D、a3,a4,a2,a15.下列四种排序方法中,不稳定的方法是D。
A、插入排序B、冒泡排序C、归并排序D、选择排序6.单个结点二叉树的高度为0,所有含有15个结点的二叉树中,最小高度是D。
A、6B、5C、4D、37.在一个具有n个顶点的无向图中,要连通全部顶点至少需要B条边。
A、nB、n-1C、n/2D、n+18.快速排序法的运行效率取决于D。
一、选择题1.下列哪种数据结构适合用于实现优先队列?A.栈B.队列C.二叉堆(正确答案)D.链表2.在进行图的深度优先搜索(DFS)时,使用哪种数据结构可以帮助记录已访问过的顶点,从而避免重复访问?A.栈B.队列C.集合(正确答案)D.哈希表3.下列排序算法中,哪种算法的时间复杂度在最坏情况下为O(n2),但在平均情况下和最好情况下可以达到O(nlogn)?A.快速排序(正确答案)B.归并排序C.堆排序D.插入排序4.在二叉树的遍历中,前序遍历的顺序是?A.根节点-> 左子树-> 右子树(正确答案)B.左子树-> 根节点-> 右子树C.左子树-> 右子树-> 根节点D.根节点-> 右子树-> 左子树5.下列哪种查找算法在有序数组中查找特定元素时,具有最优的时间复杂度O(logn)?A.顺序查找B.二分查找(正确答案)C.插值查找D.斐波那契查找6.在哈希表中,处理哈希冲突的一种常见方法是?A.开放寻址法(正确答案)B.链地址法C.再哈希法D.以上都是7.下列关于二叉搜索树(BST)的说法中,哪一项是正确的?A.在BST中,每个节点的左子树只包含小于该节点的数B.在BST中,每个节点的右子树只包含大于该节点的数C.在BST中,每个节点的左子树只包含小于该节点的数,右子树只包含大于该节点的数(正确答案)D.BST中不允许有重复值的节点8.下列哪种算法是解决最短路径问题的经典算法,适用于带权重的图?A.迪杰斯特拉算法(Dijkstra)(正确答案)B.弗洛伊德算法(Floyd)C.贝尔曼-福特算法(Bellman-Ford)D.A*算法(A-star)。
湖北文理学院 2011-2012 学年度下学期《数据结构与算法》试卷B专业:计算机科学与技术姓名: 学号: 班级:一、判断题(本题共10小题,每小题1分,共计10分)。
(正确的打√,错的打×)1、空串和空格串是相同的。
( )2、数据的存储结构是数据及其逻辑结构在计算机中的物理表示。
( )3、大顶堆(最大堆)中,最大值一定为根结点。
( )4、栈是特殊的线性表,它的插入和删除分别在线性表的两端进行。
( )5、稀疏矩阵一般采用三元组顺序表方法压缩存储。
( )6、 若二叉排序树(搜索树)中关键码互不相同,则其中最小元素和最大元素一定是叶子结点。
( )7、有向图用邻接表表示后,顶点i 的出度等于邻接表中顶点i 后链表的长度。
( ) 8、链接线性表是顺序存取的线性表。
( )9、哈希函数进行模除取余时,最好取素数进行模除。
( ) 10、归并排序是一种稳定的排序算法。
( )二、填空题(本题共10小题,每小题 2 分,共计 20分)。
(请将正确答案填入空格内,答案是确定和唯一的)1、在数据结构中,从逻辑上可以把数据结构分成 和 。
2、限在表尾进行插入和删除操作的线性表称为 。
3、实现二分查找(对半搜索)的存储结构仅限于顺序存储结构,且其中元素排列必须是_______的。
4、在拓扑排序中,拓扑序列的第一个顶点必须是 的顶点。
5、在一个长度为n 的顺序表中删除第i 个元素,则需要移动 个元素。
6、二维数组A[6,7],按列优先存储,每个元素占4个字节,A 基址为500,则元素A[4,6]的存储地址是 。
7、深度为k二叉树中最多可有个结点。
8、任意写出二叉树的两种存储结构,分别是和。
9、已知二叉树中叶子数为50,仅有一个孩子的结点数为30,则总结点数是。
10、快速排序平均时间复杂性为,平均空间复杂性。
三、选择题(本题共18小题,每小题 1分,共计 18 分)。
(从下列答案中选出一个正确答案,并将对应的字母填入括号内)1.线性表的顺序存储结构是一种( )的存储结构。
模拟试卷七一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。
每小题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,6C)3,4,2,1,5,6 D)4,3,2,1,5,63.设单链表的结点结构为(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)4C)7 D)85.下面二叉树按()遍历得到的序列是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)n2C)(n2-n)/2 D)n8.二分查找法要求被查找的表是()。
A)顺序表B)链接表C)顺序表且是按值递增或递减次序排列D)不受上述的任何限制9.在一待散列存储的线性表(18,25,63,50,42,32,90),若选用h(k)=k % 7作为散列函数,则与元素18冲突的元素有( )个。
A)0 B)1C)2 D)310.在下列排序算法中,不稳定的是()。