《二级Access数据库程序设计-公共基础知识-第1章数据结构与算法.docx》由会员分享,可在线阅读,更多相关《二级Access数据库程序设计-公共基础知识-第1章数据结构与算法.docx(38页珍藏版)》请在课桌文档上搜索。
1、二级ACCCSS数据库程序设计-公共基础知识-第1章数据结构与算法单选题1.下列叙述中正确的是()。A.所谓算法就是计算方法B.程序可以作为算法的一种描述方法C.算法设计只需考虑得到计算结果D.算(江南博哥)法设计可以忽略算法的运算时间正确答案:B参考解析:A项错误,算法并不等同于计算方法,是指对解题方案的准确而完整的描述:C项错误,算法设计需要考虑可行性、确定性、有穷性与足够的情报:D项错误,算法设计有穷性要求操作步骤有限且必须在有限时间内完成,耗费太长时间得到的正确结果是没有意义的。B项正确,程序可以作为算法的一种描述方法,算法在实现时需要用具体的程序设计语言描述。答案选择B选项。单选题2
2、.算法的有穷性是指()。A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用正确答案:A参考解析:算法设计有穷性要求操作步骤有限且必须在有限时间内完成,耗技太长时间得到的正确结果是没有意义的。答案选择A选项。单选题3.算法应当具有的特性不包括()。A.可行性B.有穷性C.确定性【).美观性正确答案:D参考解析:一个算法应该具有以下五个重要的特征:有穷性,确定性,输入(零个或多个),输出(至少一个)以及可行性,不包括美观性。答案选择D选项。单选题M.算法的时间复杂度是指0。A.算法的执行时间B.算法所处理的数据量C.算法程序中的语
3、句或指令条数D.算法在执行过程中所需要的基本运算次数正确答案:D参考解析:算法的复杂度主要包括时间复杂度和空间第杂度。算法的时间曳杂度,是指执行算法所需要的计算工作量,即基本运算次数;算法的空间复杂度,一般是指执行这个算法所需要的内存空间。答案选择D选项。单选题5.算法时间熨杂度的度量方法是O。A.弊法程序的长度B.执行算法所需要的基本运算次数C.执行兑法所需要的所有运兑次数D.执行算法所需要的时间正确答案:B参考解析:算法的时间复杂度乂指执行算法所需要的计算工作量,即算法所执行的基木运算次数来度量的。答案选择B选项。单选题6.算法的空间复杂度是指()。A.算法程序的尺度B.算法程序中的指令条
4、数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间正确答案:D参考解析:弊法的空间及杂度是指算法在执行过程中所需要的计算机存储空间。包括算法程序所占空间,输入的初始数据所占空间和执行过程中所需要的额外空间。答案选择D选项。单选题7.算法的空间复杂度是指0。A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数正确答案:A参考解析:算法的空间复杂度是指算法在执行过程中所需要的计算机存储空间。包括弊法程序所占空间,输入的初始数据所占空间和执行过程中所需要的额外空间。答案选择A选项。单选题8.算法空间熨杂度
5、的度量方法是()。A.算法程序的长度B.算法所处理的数据量C.执行算法所需要的工作单元D.执行算法所需要的存储空间正确答案:D参考解析:算法的空间复杂度是指算法在执行过程中所需要的计算机存储空间。包括算法程序所占空间,输入的初始数据所占空间和执行过程中所需要的额外空间。答案选择D选项。单选题9.下列叙述中错误的是()。A.算法的时间熨杂度与算法所处理数据的存储结构有直接关系B.克法的空间熨杂度与算法所处理数据的存储结构有直接关系C.算法的时间第杂度与空间复杂度有直接关系D.算法的时间复杂度与算法程序执行的具体时间是不一致的正确答案:C参考解析:算法的时间及杂度是指执行算法所需要的计算工作量。数
6、据的存储结构直接决定数据输入,因此会影响算法所执行的基本运算次数,A项正确;算法的空间复杂度是指执行这个算法所需要的内存空间,其中包括输入数据所占的存储空间,B项正确;算法的时间复杂度与空间复杂度没有宜接关系,C项错误:算法程序执行的具体时间受到所使用的计算机、程序设计语言以及算法实现过程中的许多细节影响,而算法的时间复杂度与这些因素无关,所以算法的时间复杂度与算法程序执行的具体时间是不一致的,D项正确。答案选择C选项。单选题10.下列关于算法复杂度叙述正确的是O。A.最坏情况下的时间熨杂度一定高于平均情况的时间熨杂度B时间复杂度与所用的计算工具无关C对同一个问题,采用不同的算法,则它们的时间
7、竟杂度是相同的D.时间复杂度与采用的算法描述语言有关正确答案:B参考解析:A项错误,最坏情况卜.的时间复杂度有可能与平均情况的时间复杂度相同:C项错误,对同一个问题,不同的算法时间复杂度有时可能差距很大:D项错误,算法的时间复杂度与实现算法的描述语言、运行环境无关,算法的时间复杂度是对算法执行时所花时间的度量。答案选择B选项。单选题11.下面关于算法的叙述中,正确的是()。A.算法的执行效率与数据的存储结构无关B.算法的有穷性是指算法必须能在执行有限个步骤之后终止C.算法的空间红杂度是指算法程序中指令(或语句)的条数D.算法所执行的基本运算次数与问题的规模无关正确答案:B参考解析:A项错误,不
8、同的数据存储结构有不同的数据读取效率,会影响到算法的执行:C项错误,算法的空间复杂度是对这个算法所需要的内存空间的量度,包括:算法程序所占的空间;输入的初始数据所占的存储空间:算法执行中所需要的额外空间:D项错误,算法所执行的基本运算次数与问题的规模有关。答案选择B选项。单选题12.下列关于算法的描述中错误的是()A.算法强调动态的执行过程,不同于静态的计算公式B.算法必须能在有限个步骤之后终止C.算法设计必须考虑算法的复杂度D.算法的优劣取决于运行算法程序的环境正确答案:D参考解析:算法是指对解题方案的准确而完整的描述。A项正确,算法强调实现,不同于数学上的计克方法;B项正确,尊法的有穷性是
9、指,算法中的操作步骤为有限个,且每个步骤都能在有限时间内完成:C项正确,算法设计必须考虑执行算法所需要的资源,即时间更杂度与空间红杂度;D项错误,算法的优劣取决于算法复杂度,只有当算法被编程实现运行时才会受到运行环境影响。答案选择D选项。单选题13.线性表常采用的两种存储结构是()A.散列方法和索引方式B.链表存储结构和数组C顺序存储结构和链式存储结构D.线性存储结构和非线性存储结构正确答案:C参考解析:线性表常用的存储结构为:顺序存储结构,物理上连续存储,空间位置隐含逻辑位置;链式存储结构,各元素物理存储上不连续,通过指针相连。答案选择C选项。单选题J14.卜.列数据结构中,属于非线性结构的
10、是0。A.双向进表B.循环处表C.二叉链表D.循环队列正确答案:C参考解析:线性结构要满足两个条件:有且仅有一个根结点;每个结点最多有一个前驱,也最多有一个后继。线性表、栈、队列都是线性结构,循环链表和双向链式是线性表的链式存储结构,属于线性结构,只是存储结构不连续;循环队列是一个头结点和尾结点互为前驱结点和后继结点的特殊的队列,属于线性结构;二叉链表是二叉树的链式存储结构,因为二叉树有些结点有两个后继结点,不符合线性结构的定义,所以二叉链表是非线性结构。答案选择C选项。性列叉栈线队:单选题15.以卜数据结构中,属于非线性数据结构的是0。A.B.C. D.正确答案:D参考解析:线性结构必须满足
11、下列两个条件:有且只有一个根结点;每个结点最多有一个前件,也最多有一个后件。如果一个数据结构不是线性结构,则称之为非线性结构。二叉树中的结点后继不惟一,属于非线性结构,栈和队列都是操作受限的线性表,是线性结构。答案选择D选项。单选题16数据结构中,与所使用的计算机无关的是数据的()。A.存储结构B.物理结构C.逻辑结构D.线性结构正确答案:C参考解析:数据结构研究数据逻辑结构、存储结构以及数据运算,其中逻辑结构反映的是数据元素之间的逻辑关系,与使用的计算机无关。答案选择C选项。单选题17.数据结构主要研究的是数据的逻辑结构、数据的运算和()。A.数据的方法B.数据的存储结构C.数据的对象【).
12、数据的逻辑存储正确答案:B参考解析:数据结构是相互之间存在一种或多种特定关系的数据元素的集合,主要研究数据元素及其之间的相互关系和数据运算,包括:数据的逻辑结构;数据的存储结构:数据的运算。其中逻辑结构反映的是数据元素之间的逻辑关系,与使用的计算机无关(I答案选择B选项。单选题18.下列描述中,正确的是()。A.线性链表是线性表的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构D.只有根结点的.叉树是线性结构正确答案:A参考解析:区性结构是指如果一个非空的数据结构满足下列两个条件:有且只有一个根结点;每个结点最多有一个前件,也最多有一个后件。B项错误,栈和队列都是操作受限的线性表:
13、C项错误,双向链表是线性结构:D项错误,二叉树中的结点后继不唯一,属于非线性结构。答案选择A选项。单选题19.卜列关于线性表的叙述中,不正确的是()。A.线性表可以此空表B.线性表是一种线性结构C.线性式的所有结点有且仅有一个前件和后件D.线性表是由n个元素组成的一个有限序列正确答案:C参考解析:线性表是由n个元素组成的一种线性结构,当n=0时线性表为空表。C项错误,线性表中,第一个结点没有前件,最后一个结点没有后件。答案选择C选项。单选题20以下描述中,不是线性表顺序存储结构特征的是()。A.可随机访问B.需要连续的存储空间C.不便于插入和删除D.逻辑相邻的数据物理位置上不相邻正确答案:D参
14、考解析:在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素称为顺序存储,其中逻辑上相邻的元素在物理位置上也相邻。顺序存储结构中可以随机访问元素,但插入和删除需要移动大量数据,耗戕资源。答案选择D选项。单选题21.下列叙述中正确的是()。A.所有数据结构必须有根结点B.所有数据结构必须有终端结点(即叶子结点)C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构D没有根结点或没有叶子结点的数据结构一定是线性结构正确答案:D参考解析:D项正确,线性结构的特点是:集合中必存在“第一个元素”且推一;集合中必存在“最后一个元素”且惟一;除最后一个元素外,其他数据元素均有惟一的“后继”
15、:除第一个元素外,其他数据元素均有惟一的“前驱”。所以没有根结点或没有叶子结点的数据结构一定是非线性结构。AB两项错误,不是所有数据结构都必须有根结点和叶f结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。答案选择D选项。单选题22.设数据元素的集合DM1.,2,3,4.5,则满足下列关系R的数据结构中为线性结构的是()。A. R=(1.,2),(3,4),(5,1),(1,2)B. R=(1.,3),(4,1),(3,2),(5,4)C. R=(1,2),(2,3),(4,5),(2,3)D. R=(1.,3),(2,4),(3,5),(1,2)正确答案
16、:B参若解析:一个非空的数据结构如果满足以下两个条件:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件,称为线性结构。不同时满足以上两个条件的数据结构就称为非线性结构。A选项,5是1的前件,1是2的前件,3是4的前件,则关系R中含有两个结构,即34和中2,其中3和5均为根结点,故A项错误。B选项根结点为5,排列顺序为54132,B选项正确。C选项有两个根结点1和4,故错误。D选项有两个根结点1和2,故错误。答案选择B选项。单选题23.设数据集合为D=1.,3,5,7,9,D上的关系为R,下列数据结构B=(D.R)中为非线性结构的是()。A. R=(5,1),(7,9),(1,7)
17、,(9,3)B. R=(9,7),(1,3),(7,1),(3,5)C. R=(1.,9),(9,7),(7,5),(5.3)D. R=(1.,3),(3,5),(5,9),(7,3)正确答案:D参考解析:A项中,5为根结点,线性表为51793。B项中,9为根结点,线性表为97135。C项中,1为根结点,线性表为19753。D项中,结点1与7都是根结点,属于非线性结构,D项正确。答案选择D选项。单选题24.在线性表的顺序存储结构中,其存储空间连续,各个元素所占的字节数()。A.相同,元素的存储顺序与逻辑顺序一致B.相同,但其元素的存储顺序可以与逻辑顺序不一致C.不同,但元素的存储顺序与逻辑顺序
18、一致D.不同,且其元素的存储顺序可以与逻辑顺序不一致正确答案:A参考解析:在顺序表中,每个元素占有相同的存储单元。哌序表具有特征:线性表中所有元素所占的存储空间是连续的:线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。答案选择A选项。单选题25下列与栈结构有关联的是O。A.数组的定义域使用B.操作系统的进程调度C.函数的递归调用D.选择结构的执行正确答案:C参考解析:函数的递归调用是指函数调用函数本身,直到满足特定条件时终止,然后从最后被递归调用处返回。递归函数是通过栈来实现的,所以调用原则和栈的实现相一致.所以递归函数是通过栈来实现的。答案选择C选项。单选题26.卜列关于栈的叙述中,正
19、确的是OA.栈底元素一定是最后入栈的元素B.栈顶元素一定是最先入栈的元素C栈操作遵循先进后出的原则D.以上三种说法都不对正确答案:C参考解析:栈是一种“先进后出”的线性表,最先入栈的元素最后出栈,最后入栈的元素最先出栈,所以栈底元素一定是最先入栈最后出栈的元素,而栈顶元素一定是最后入校最先出栈的元素。答案选择C选项。单选题27.下列叙述中正确的是。A.循环队列是队列的一种顺序存储结构B.循环队列是队列的一种链式存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构正确答案:A参考解析:队列是一种“先进先出”的特殊线性表。循环队列是在顺序存储结构中将队列存储空间的最后一个位置绕到第一个位置,
20、形成逻辑上的环状空间,定义两个游标:指向队头的游标(front)、指向队尾的游标(rear)o答案选择A选项。单选题28.下列叙述中正确的是()A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈和队列都是非线性结构【).以上三种说法都不对正确答案:D参考解析:A项错误,栈是一种“先进后出”的特殊线性表;B项错误,队列则是一种“先进先出”的特殊线性表;C项错误,栈和队列都是线性结构。答案选择D选项。单选题29下列关于栈的叙述中正确的是00A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.以上三种说法都不对正确答案:A参考解析:栈是一种“先进后出”的线性
21、表,最先入栈的元素最后出栈,最后入栈的元素最先出栈,所以栈底元素一定是最先入栈最后出栈的元素,而栈顶元素一定是最后入栈最先出栈的元素。答案选择A选项。单选题30.卜列关于栈叙述正确的是0。A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先能被删除正确答案:A参考解析:栈是先进后出的数据结构,因此栈顶元素最后入栈却最先被删除,栈底元素最先入栈却最后被删除。答案选择A选项。单选题31.下列叙述中正确的是。A.在栈中,栈中的元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随
22、栈顶指针的变化而动态变化D.上述三种说法都不对正确答案:C参考解析:栈中元素遵循“先进后出”的原则。入栈和出栈都是对栈顶指针操作,因此,栈底指针不变,栈中元素随栈顶指针的变化而动态变化。答案选择C选项。单选题32下列叙述中正确的是。oA.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.在栈中,栈中元素不会随栈底指针与栈顶指针的变化而动态变化正确答案:C参考解析:栈中元素遵循“先进后出”的原则。入栈和出栈都是对栈顶指针操作,因此,栈底指针不变,栈中元素随栈顶指针的变化而
23、动态变化。答案选择C选项。单选题33.卜列数据结构中,能够按照“先进后出”原则存取数据的是0。A.循环队列B.栈C.队列D.二叉树正确答案:B参号解析:栈和队列都是操作受限的线性表:栈只能在栈顶插入和删除元素,按照“先进后出”的原则组织数据;队列只能在队头删除元素,在队尾插入元素,按照“先进先出”的原则组织数据。B项,栈,按照“先进后出”的原则组织数据A项,循环队列是队列的一种特殊形式,按照“先进先出”的原则组织数据;C项,队列,按照“先进先出”的原则组织数据。D项,二叉树属于非线性结构。答案选择B选项。单选题J34.对于循环队列,卜.列叙述中正确的是0。A.队头指针是固定不变的B.队头指针一
24、定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针正确答案:D参考解析:在循环队列中,用队尾指针(rear)指向队列中的队尾元素,用队头指针(front)指向队头元素的前一个位置。在循环队列中,一般情况下rearfront,当存储空间的最后一个位置被使用,而新元素要入队时,如果存储空间的第一个位置空闲,便可将元素插入到第一个位置,此时存储空间的第一个位置作为队尾,便有fron1.rear0所以答案选择D选项。单选题35.下列叙述中正确的是。A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构D.有序线性表既可以采用顺序存储结
25、构,也可以采用健式存储结构正确答案:D参考解析:有序的线性表既可采用顺序存储结构,也可以采用链式存储结构。A项错误,栈是“先进后出”的线性表:B项错误,队列是“先进先出”的线性表;C项错误,循环队列是线性结构的,有序的线性表既可采用顺序存储结构,也可采用链式存储结构。答案选择D选项。单选题36.支持了程序调用的数据结构是()。A.栈B.树C.队列D.二义树正确答案:A参考解析:在高级语言中,函数的调用是通过栈来实现的。在进行函数调用时,系统将所需的信息压入栈中,如函数的局部变量、返回值等。每个函数的状态是由函数中的局部变量、函数参数值、函数的返回值地址决定的,存储这些信息的数据区域称为活动记录
26、,或叫做栈帧,它是运行时系统栈上分配的空间。答案选择A选项。单选题37.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出的顺序是()。A.12345ABCDEB.EDCBA54321C.ABCDE12345D.5432IEDCBA正确答案:B参考解析:栈是按照“先进后出”的原则组织数据的,入栈的顺序为12345BCDE,则依次出栈的顺序应为其逆序,即EDCBA54321。答案选择B选项。单选题38下列叙述中正确的是()。A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化C
27、.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化【)循环队列中元素的个数由队头指针和队尾指针共同决定正确答案:D参考解析:诂环队列是顺序存储的线性结构,是队列常采用的形式,故A项错误。循环队列中的元素是动态变化的:每一次入队,队尾指针就进一;每一次出队,队头指针就进一,所以队头指针和队尾指针一起反映了队列中元素的动态变化情况,BC两项错误。从队头指针指向的后一个位置与队尾指针指向的位置之间的元素即为队列中所有的元素,答案选择D选项。单选题39.卜列关于栈的叙述正确的是O。A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据正确答案:B参考解析
28、:栈是只允许在栈顶进行插入和删除运算的线性表,按“先进后出”组织数据。答案选择B选项。单选题40.栈和队列的共同点是O。A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素D.没有共同点正确答案:C参考解析:栈和队列都是操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出”的线性表;而队列只允许在表的端进行插入操作,在另端进行删除操作,是一种“先进先出”的线性表。答案选择C选项。单选题41.下列关于队列的叙述中正确的是()A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D队列是先进后出的线性表
29、正确答案:C参考解析:队列是一种操作受限的线性表。它只允许在线性表的一端进行插入操作,另一端进行删除操作。其中,允许插入的一端称为队尾(rear),允许删除的一端称为队首(front)。队列必按“先进先出”的原则组织数据的。答案选择C选项。单选题42.下列关于栈和队列的描述中,正确的是()。A.栈是先进先出B.队列是先进后出C.队列允许在队尾删除元素D.栈在栈顶删除元素正确答案:D参考解析:线性表是由n个元素组成的一种线性结构,栈和队列都是操作受限的线性表:栈只能在栈顶插入和删除元素,按照“先进后出”的原则组织数据;队列是指允许在一端进行插入、而在另一端进行删除的线性表,按照“先进先出”的原则
30、组织数据。答案选择D选项。单选题M3.如果进栈序列为A,B,C,D,则可能的出栈序列是0.A.C,A,D,BB.B,D,C,C.C,D,A,BD.D,B,C,正确答案:B参考解析:栈按后进先出的原则组织数据。B项,当栈的操作顺序为“A进,B进,B山,C进,D进,D出,C出,A出”可以实现。A项,C首先出栈,栈中肯定有A和B,如果接下来A、H有元素要出栈,只能是B,故A选项错误;C项,C首先出栈,栈中肯定有A和B,D元素进栈,紧接着出栈,剩下的A、B有元素要出栈,只能是先B后A,故C选项错误;D项,D首先出栈,栈中肯定有A、B和C,如果接下来有元素要出栈,只能是C,故D选项错误。答案选择B选项。
31、单选题44.卜列关于栈的描述中,正确的是00A.在栈中只能插入元素B.在栈中只能删除元素C.只能在一端插入或删除元素D只能在一端插入元素,而在另端删除元素正确答案:C参考解析:栈是-一种操作受限的线性表:栈只能在栈顶插入和删除元素。答案选择C选项。单选题45.下列队列的描述中,正确的是0。A.队列属于非线性表B.队列在队尾删除数据C.队列按“先进后出”进行数据操作D.队列按“先进先出”进行数据操作正确答案:D参考解析:队列是操作受限的线性表:队列只能在队头删除元素,在队尾插入元素,按照“先进先出”的原则组织数据。答案选择D选项。单选题46.设栈的顺序存储空间为S(0:49),栈底指针botto
32、m=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为0。A. 30B. 29C. 20D. 19正确答案:C参考解析:栈是一种特殊的线性表,它所有的插入与删除操作都限定在表的同一端进行。入栈运算即在栈顶位置插入一个新元素,退栈运算即取出栈顶元素赋予指定变量。在内存中,栈的增大方向是地址递减,元素依次存储在单元30:49中,个数为:49-30+1=20个。答案选择C选项。单选题47设栈的顺序存储空间为S(1:m),初始状态为top=m+1.现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为0。.30B. 20C. m-19D. m-20正确答案:C参考解析:初始状态
33、为栈顶指针指向高地址,top=m+1.,每次入栈top-1.,那么当第X个元素入栈时,top=m+1.r=20,解得x=m+1.-20=mT9.答案选择C选项。单选题M8.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35o现经过一系列入队与退队运算后,front=15,rear=15,则循环队列的元素个数为0。.15B. 16C. 20D. 0或35正确答案:D参考解析:在循环队列中,front为队首指针,指向队首元素的前一个位置;rear为队尾指针,指向队尾元素。fron1.=rear=15时,循环队列可能为空,队首和队尾指针都指向空元素,此时循环队列的元素个数为0
34、;循环队列可能为满,此时循环队列的元素个数为35。答案选择D选项。单选题J49.设循环队列为Q(1:m),初始状态为front=rear=m.现经过一系列的入队与退队运算后,front=rear=1.,则该循环队列中的元素个数为0。A. 1B. 2C. InTD. 0或In正确答案:D参考解析:在循环队列中,front为队首指针,指向队首元素的前一个位置;rear为队尾指针,指向队尾元素。fron1.=rear=1.时,循环队列可能为空,队首和队尾指针都指向空元素,此时循环队列的元素个数为0:循环队列可能为满,此时循环队列的元素个数为m。答案选择D选项。单选题50.设循环队列为Q(1:m),其
35、初始状态为front=rcar=m0经过一系列入队与退队运算后,front=15,rcar=20.现要在该循环队列中寻找最大值的元素,最坏情况下需要比较的次数为()。A.4B.6C. m-5D. m-6正确答案:A参考解析:循环队列顺序存储结构队列。循环队列中,rear指向队列中的队尾元素,front指向队头元素的前一个位置,本题中,在front指向的后一个位置和rear指向的位置之间,所有的元素均为队列中的元素。队列初始状态为front=rear=m,当front=15,rear=20时,队列中共有20T5(尾指针一头指针)=5个元素,寻找其中最大值的最坏情况是逐项比较,所以需比较4次。答案
36、选择A选项。单选题51.设循环队列为Q(1:m),其初始状态为front=rear=m经过一系列入队与退队运算后,front=20,rear=15,要在该循环队列中寻找最小值的元素,最坏情况下需要比较的次数为0.A. 5B. 6C. m-5D. m-6正确答案:D参考解析:循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用队首指针指向队首元素的前一个位置,因此,从队首指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素,队列初始状态为front=rear=m,当front=20,rear=15时,队列中有m-20+15=m-5个元
37、素,最坏情况下需要比较次数为m-6次。答案选择D选项。单选题52.设循环队列为Q(1:m),其初始状态为front=rear=nk经过一系列入队与退队运算后,front=30,rear=10.现要在该循环队列中作顺序查找,最坏情况卜.需要比较的次数为().19B. 20C. m-19D. m-20正确答案:C参考解析:循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用队首指针指向队首元素的前一个位置,因此,从队首指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素,队列初始状态为front=rear=m,当front=30,rea
38、r=10时,队列中有m-30+10=m-20个元素,最坏情况下需要比较次数为m-19次。答案选择D选项。单选题53下列叙述中正确的是()。A.循环队列是顺序存储结构B.循环队列是链式存储结构C.循环队列是非线性结构D.循环队列的插入运算不会发生溢出现象正确答案:A参考解析:B项错误,循环队列是一种顺序存储结构的队列;C项错误,线性结构是一个非空序列:除第一个元素外,每个元素,有且只有一个前件:除最后一个元素外,每个元素有且只有个后件,所以循环队列是线性结构;D项错误,当循环队列的元素个数等于存储长度后,入队会发生溢出现象,稷盖前面的数据。答案选择A选项。单选题54一个栈的初始状态为空。现将元素
39、A,B,C,D,E依次入栈,然后依次退栈三次,并将退栈的三个元素依次入队(原队列为空),最后将队列中的元素全部退出。则元素退队的顺序为0。A. ABCB. CBAC. EDCD. CDE正确答案:C参考解析:栈具有先进后出的特点,要求插入和删除都只能在表的同一端进行;队列具有先进先出的特点,在表的端进行插入,另一端进行删除。元素入栈后为ABCDE,出栈并入队后,队中元素为EDC,因此出队顺序为EDG答案选择C选项。单选题55.设有栈S和队列Q,初始状态均为空。首先依次将A,B,C,D,E,F入栈,然后从栈中退出三个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所
40、有元素退出,则退队元素的顺序为0.a. defxyzbcb. fedzyxcbc. FedxyzcbaD.DEEZYXABC正确答案:B参考解析:栈是所有的插入与删除都在同i端进行的线性衣。队列是只允许在一端进行插入,而在另一端进行删除的线性表。将A,B,C,D,E,F入栈后,栈中元素为ABCDEF,退出三个元素入队,队列元素为FED,将X,Y,Z入栈后栈中元素为ABCXYZ,全部入队后,队列元素为FEDZYXCBA,队列的出队顺序与入队顺序一致。答案选择B选项。单选题56.在下列链表中,能够从任意一个结点出发遍历访问到所有结点的是OoA.单链表B.循环处表C.双向链表D.二叉链表正确答案:B
41、参芍解析:循环链表的最后一个结点的指针域指向表头结点,所有结点的指针构成了一个环状链,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结点。A项,线性单链表的每个结点只有一个指针域,由这个指针只能找到其后继结点,但不能找到其前驱结点。也就是说,只能顺着指针向链尾方向进行扫描,因此必须从头指针开始,才能访问到所有的结点;C项,双向链表中的每个结点设置有两个指针,一个指向其前驱,一个指向其后继,这样从任意一个结点开始,既可以向前查找,也可以向后查找。在结点的访问过程中一般从当前结点向链尾方向扫描,如果没有找到,则从链尾向头结点方向扫描。这样,部分结点就要被遍历两次:D项,二叉链表
42、是二叉树的一种链式存储结构,每个结点有两个指针域,分别指向左右子结点,可见,二叉维表只能由根结点向叶子结点的方向遍历,其他部分的结点无法访问。答案选择B选项。单选题57.下列链表中,其逻辑结构属于非线性结构的是()。A.二叉链表B.循环链表C.双向链表【).带链的栈正确答案:A参考解析:一个非空的数据结构为线性结构需要满足两个条件:有且只有一个根结点:每一个结点最多有一个前件,也最多有一个后件。不是线性结构的就是非线性结构。二叉链表是二叉树的存储结构,每个结点都可以有两个后继结点,是非线性结构。BCD三项均满足线性结构的要求。答案选择A选项。单选题58下列线性链表的叙述中,正确的是()。A.各
43、数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C进行插入与删除时,不需要移动表中的元素D.以上三种说法都不对正确答案:C参考解析:AB两项错误,在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。线性链表在插入与删除过程中不发生数据元素移动的现象,只需改变有关结点的指针,选项C正确。答案选择C选项。单选题59.下列叙述中正确的是O。A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式
44、存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性参考解3性结构常用存储结构为:顺序存储结构,物理上连续存储,空间位置隐含逻辑位置;链式存储结构,存储上不连续,通过指针相连。在链式存储方式中,每个结点包含存放数据的数据域和存放指针的指针域。所以链式存储结构所需的存储空间一般要多于顺序存储结构。答案选择B选项。单选题60下列叙述中正确的是()。A.顺序存储结构的存储空间一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结
45、构C.顺序存储结构能存储有序表,维式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间参考解书(A项正确,在顺序存储结构中,所有元素所占的存储空间是连续的,而在链式存储结构中,存储数据结构的存储空间可以不连续。BC两项错误,线性表在计算机中的存放可以采用顺序存储结构,也可采用链式存储结构,顺序存储结构和链式存储结构都是既可用于线性结构,也可以用于非线性结构;D项错误,顺序存储时元素间的关系隐藏在物理结构中,采用链式存储结构不仅要存储元素的值,元素间的逻辑关系还需要通过附设的指针字段来表示,因此,链式存储结构需要更多的存储空间。答案选择A选项。单选题J61.卜.列叙述中正确的是O。
46、A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空问一般要少于顺序存储结构D,线性表的链式存储结构所需要的存储空问与顺序存储结构没有任何关系正确答案:B参考解析:线性结构常用存储结构为:顺序存储结构,物理上连续存储,空间位置隐含逻辑位置;链式存储结构,存储上不连续,通过指针相连。在链式存储方式中,每个结点包含存放数据的数据域和存放指针的指针域。所以链式存储结构所需的存储空间一般要多于顺序存储结构。答案选择B选项。单选题62下列关于线性链表的叙述中,正确的是()。A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C进行插入与删除时,不需要移动表中的元素D.以上说法均不正确正确答案:C参考解析:线性表的链式存储结构称为线性链表。线性链表的存储空间可以不连续,其存储顺序和逻辑顺序也不一定一致。线性链表一般用结点描