第一章 数据结构与算法
一、选择题:
1、栈和队列的共同特点是()
A、都是先进先出 B、都是后进先出
C、只允许在端点处插入和删除数据 D、没有共同点
2、已知二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是()
A、acbed B、decab C、debac D、cedba
3、下面叙述正确的是()
A、算法的执行效率与数据的存储结构无关。
B、算法的空间复杂度是指算法程序中指令(或语句)的条数。
C、算法的有穷性是指算法必须能在执行有限个步骤之后终止。
D、算法的时间复杂度是指执行算法程序所需要的时间。
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、在一棵二叉树上第八层的结点数最多是()
A、8 B、16 C、128 D、256
10、若一棵二叉树中只有叶结点和左右子树皆非空的结点,设叶结点的个数为k,则左右子树皆非空的结点个数是()
A、2k B、k-1 C、2k-1 D、2k-1
11、设无向树T有7片树叶,其余顶点数均为3,则T中3度顶点的个数为()
A、3 B、4 C、5 D、6
12、已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH 和DBGEACHF,则该二叉树的后序遍历为()
A、GEDHFBCA B、DGEBFCA C、ABCDEFGH D、ACBFEDHG
13、树是结点的集合,它的根结点数目是()
A、有且只有1个 B、1个或多于1个 C、0个或1个 D、至少2个
14、下列叙述中正确的是()
A\线性表是线性结构 B、栈和队列是非线性结构
C、线性链表是非线性结构 D、二叉树是线性结构
15、堆栈存储器存取数据的方式是()
A、先进先出 B、随机存取 C\先进后出 D、不同于前三种方式
16、如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是()
A、e3,e1,e4,e2 B、e4,e3,e2,e1 C、e3,e4,e1,e2 D、任意顺序
17、在设计程序时应采用的原则之一是()
A、不限制goto语句的使用 B、减少或取消注释行
C、程序越短越好 D、程序结构应助于读者理解
18、下面关于完全二叉树的叙述中,错误的是()
A、除了最后一层外,每一层上的结点数均达到最大值
B、可能缺少若干个左右叶子结点
C、完全二叉树一般不是满二叉树
D、具有几个结点的完全二叉树的深度为log2n+1
19、下列关于栈的叙述中正确的是()
A、在栈中只能插入数据 B、在栈中只能删除数据
C、栈是先进先出的线性别 D、栈是先进后出的线性表
20、在深度为5的满二叉树中,叶子结点的个数为()
A、32 B、31 C、16 D、15
21、一个算法应该具有“确定性”等五个特性,下面对另外四个特性的描述中错误的是()
A、有零个或多个输入 B、有零个或多个输出
C、有穷形 D、可行性
22、若想将数据序列使用插入排序算法由小到大排序,则每次放到有序子列合适位置上的元素,应从无序序列中选择()
A、固定位置的 B、最小的 C、任意的 D、最大的
23、算法的空间复杂度是指()
A、算法程序的长度 B、算法程序中的指令条数
C、算法程序所占的存储空间 D、执行过程中所需要的存储空间
24、用链表表示线性表的优点是()
A、便于随机存取 B、花费的存储空间较顺序存储少
C、便于插入和删除操作 D、数据元素的物理顺序与逻辑顺序相同
25、链表不具备的特点是()
A、可随机访问任意一个结点 B、插入和删除不需要移动任何元素
C、不必事先估计存储空间 D、所需空间与其长度成正比
26、数据结构中,与所使用的计算机无关的是数据的()
A、存储结构 B、物理结构 C、逻辑结构 D、物理与逻辑结构
27、希尔排序法属于()类型的排序法。
A、交换 B、插入 C、选择 D、建堆
28、下列关于栈的叙述正确的是().
A、栈是非线性结构 B、栈是一种树状结构
C、栈具有先进先出的特征 D、栈具有后进先出的特征
29、下列关于队列的叙述中正确的是()
A、在队列中只能插入数据 B、在队列中只能删除数据
C、队列是先进先出的线性表 D、队列具有后进先出的特征
30、对长度为N的线性表进行顺序查找,在最坏情况下所需的比较次数为()
A、N+1 B、N C、(N+1)/2 D、N/2
31、一些重要的程序语言(若C语言和Pascal语言)允许过程的递归调用,而实现递归调用中的存储分配通常用()。
A、栈 B、堆 C、数组 D、链表
32、数据处理的最小单位是()
A、数据 B、数据元素 C、数据项 D、数据结构
33、数据结构作为计算机科学的一门学科,主要研究数据的逻辑结构,对各种数据结构进行的运算,以及()。
A、数据的存储结构 B、计算方法 C、数据映像 D、逻辑结构
34、串的长度是()
A、串中不同字符的个数 B、串中不同字母的个数
C、串中所含字符的个数且字符个数大于零 D、串中所含字符的个数
35、在下列几种排序方法中,要求内存量最大的是()
A、插入排序 B、选择排序 C、快速排序 D、归并排序
36、在数据结构中,从逻辑上可以把数据结构分成()
A、动态结构和静态结构 B、线性结构和非线性结构
C、树形结构与图状结构 D、集合结构与非集合结构
37、在计算机中,算法是指()
A、加工方法 B、解题方案的准确而完整的描述
C、排序方法 D、查询方法
38、下列叙述中,错误的是()
A、线性表是由n个数据元素组成的一个有限序列。
B、线性表是一种线性结构,数据元素之间的相对位置是线性的。
C、线性表的所有结点有且只有一个前驱和一个后继。
D、线性表可以是空表。
39、下列数据结构具有记忆功能的是()
A、队列 B、循环队列 C、栈 D、顺序表
40、假设线性表的长度为n,则在最坏的情况下,冒泡排序需要的比较次数为()。
A、log2n B、n2 C、O(n1.5) D、n(n-1)/2
41、算法分析的目的是()
A、找出数据结构的合理性 B、找出算法中输入和输出之间的关系
C、分析算法的易懂性和可靠性 D、分析算法的效率以求改进
42、线性表的顺序存储结构和线性表的链式存储结构分别是()
A、顺序存取的存储结构、随机存取的存储结构
B、随机存取的存储结构、顺序存取的存储结构
C、随机存取的存储结构、随机存取的存储结构
D、顺序存取的存储结构、顺序存取的存储结构
43、线性表L=(a1,a2,a3,…,ai,…,an),下列说法正确的是()
A、每个元素都有一个直接前驱和一个直接后继。
B、线性表中至少要有一个元素。
C、表中诸元素的排列顺序必须由小到大或由大到小。
D、除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前驱和一个直接后继
44、在单链表中,增加头结点的目的是()
A、方便运算的实现 B、使单链表至少有一个结点
C、标志表表结点中首结点的位置 D、说明单链表是线性表的链式存储实现
45、下列叙述中,正确的是()
A、线性链表中的各元素在存储空间中的位置必须是连续的
B、线性链表中的表头元素一定存储在其他元素的前面
C、线性表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在元素的前面。
D、线性链表中的各元素在存储空间中的位置不一定连续,且各元素的存储顺序也是任意的。
46、非空的循环单链表head的尾结点(由p所指向),满足()
A、p->next==NULL B、p==NULL C、p->next=head D、p=head
47、n个顶点的强连通图的边数至少有()
A、n-1 B、n(n-1) C、n D、n+1
48、已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是()
A、堆排序 B、直接插入排序 C、快速排序 D、直接选择排序
49、NULL是指()
A、空值 B、空格 C、未知的值或无任何值 D、空字符
50、算法能正确地实现预定功能的特性称为算法的()
A、确定性 B、易读性 C、健壮性 D、高效性
51、数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为()
A、存储结构 B、逻辑结构 C、顺序存储结构 D、链式存储结构
52、下列关于栈的描述中错误的是()
A、栈是先进后出的线性表 B、栈只能顺序存储
C、栈具有记忆作用 D、对栈的插入与删除操作中,不需要改变栈底指针
53、对于长度为n的线性表,在最