1.算法是指解题方案的准确而完整的描述,在下列对算法的叙述中正确的是( )。
A.算法就是程序 B.算法设计时只考虑算法执行的效率
C.算法在实现时需要程序语言来描述 D.只要能得出正确结果,算法的时间是没有限制的
2.算法的基本特征之一有穷性是指( )。
A.算法所占用的内存空间是有限的 B.算法所使用的次数是有限的
C.算法程序的运行时间和步骤是有限的 D.算法程序所处理的数据量是有限的
A.算法的时间复杂度与使用的计算机系统无关
B.算法的时间复杂度与使用的程序设计语言无关
C.算法的时间复杂度与实现算法过程中的具体细节无关
D.对于各种特定的输入,算法的时间复杂度是固定不变的
4.对算法空间复杂度的描述,下列叙述中正确的是( )。
A.算法的空间复杂度是指算法所处理的数据量
B.算法的空间复杂度是指算法程序中的语句或指令数量
C.算法的空间复杂度是指算法在执行过程中所需要的计算机存储空间
D.算法的空间复杂度是指算法的控制结构的复杂程度
5.对于算法中时间复杂度和空间复杂度的关系,下列叙述中正确的是( )。
A.算法的时间复杂度与空间复杂度没有直接关系
B.一个算法的空间复杂度大,则其时间复杂度必定小
C.一个算法的时间复杂度大,则其空间复杂度必定小
D.一个算法的空间复杂度大,则其时间复杂度也必定大
6.对数据结构不同对象的描述中,下列叙述中错误的是( )。
A.非空数据结构可以没有根结点 B.数据结构中的数据元素不能是另一数据结构
C.非线性结构可以为空 D.向量是线性结构
7.设数据元素的集合D={1,2,3,4,5},则满足下列关系R的数据结构中为线性结构的是( )。
A.R={(1,2),(2,4),(4,5),(2,3)} B.R={(1,3),(4,1),(3,2),(5,4)}
C.R={(1,2),(3,2),(5,1),(4,5)} D.R={(1,3),(2,4),(3,5),(1,2)}
8.在数据结构中,对于存储结构的描述,下列错误的是( )。
A.线性结构也能采用链式存储结构 B.线性结构一定能采用顺序存储结构
C.有的非线性结构也能采用顺序存储结构 D.非线性结构不能采用顺序存储结构
9.在线性结构队列中,下面哪一项与队列结构有关联( )。
A.数组元素的引用 B.多重循环的执行
C.函数的递归调用 D.先到先服务的作业调度
10.栈是一种特殊的线性表,对栈的描述中正确的是( )。
A.栈只能采用顺序存储结构
B.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
C.栈是非线性结构
D.栈是“先进先出”表
11.程序调用是结构化程序设计的一种结构,下面支持子程序调用的数据结构是( )。
A.栈 B.树 C.队列 D.二叉树
12.设栈与队列初始状态为空。首先A,B,C,D,E依次入栈,再F,G,H,I,J依次入队;然后依次出栈至栈空,再依次出队至队空。则输出序列为( )。
A.E,D,C,B,A,F,G,H,I,J B.F,G,H,I,J,E,D,C,B,A
C.E,D,C,B,A,J,I,H,G,F D.F,G,H,I,J,A,B,C,D,E
13.设栈的存储空间为S(1∶N),初始状态为top=N+1。经过一系列入栈与退栈操作后,top=N。现又在栈中退出一个元素后,栈顶指针top值为( )。
A.N-1 B.N+1 C.0 D.产生栈空错误
14.设栈的顺序存储空间为S(1∶N),初始状态为top=0。现经过一系列正常的入栈与退栈操作后,top=N+1,则栈中的元素个数为( )。
A.不可能 B.N+1 C.0 D.N
15.对于线性结构循环队列的描述,下列正确的是( )。
A.循环队列是队列的一种链式存储结构
B.循环队列是队列的一种顺序存储结构
C.循环队列中的队尾指针一定大于队头指针
D.循环队列的插入运算不会出现溢出现象
16.对于线性结构循环队列的描述,下列正确的是( )。
A.循环队列有队头和队尾两个指针,所以循环队列是非线性结构
B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D.循环队列中元素的个数是由队头指针和队尾指针共同决定
17.队列的顺序存储结构一般采用循环队列的形式。那么如果一个循环队列的存储空间为Q(1∶100),初始状态为front=rear=100。经过一系列正常的入队与退队操作后,front=rear=1,则循环队列中的元素个数为( )。(www.xing528.com)
A.0或100 B.1 C.99 D.2
18. 循环队列是队列的一种顺序存储结构,假设循环队列的存储空间为Q(1∶100),初始状态为front=rear=100。经过一系列正常的入队与退队操作后,front=rear=50,此后又插入一个元素,则循环队列中的元素个数为( )。
A.1或100且产生上溢错误 B.2
C.56 D.101
19.在以下各种链接结构中,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结点的链表结构是( )。
A.循环链表 B.双向链表 C.二叉链表 D.单向链表
20.在线性链表的存储结构中,其特点是存储空间一般是不连续的,并且( )。
A.前件结点的存储序号大于后件结点的存储序号
B.前件结点的存储序号小于后件结点的存储序号
C.前件结点的存储序号可以小于也可以大于后件结点的存储序号
D.以上答案均不正确
21.对于线性表链式存储结构的描述中,下列正确的是( )。
A.线性表链式存储结构与顺序存储结构的存储空间都是连续的
B.线性表链式存储结构的存储空间一般要少于顺序存储结构
C.线性表链式存储结构的存储空间必须是不连续的
D.线性表链式存储结构的存储空间一般要多于顺序存储结构
22.对于线性链表的特征描述中,正确的是( )。
A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C.进行插入与删除时,不需要移动表中的元素
D.以上说法均不正确
23.栈是线性表,也可以采用链式存储结构,假设一个带链栈的初始状态为top=bottom=NULL,经过一系列正常的入栈与出栈操作后,top=100,bottom=150,该栈中的元素个数为( )。
A.100 B.101 C.150 D.不确定
24.对于循环链表的特点,下列叙述中错误的是( )。
A.循环链表的表头指针与最后一个结点的指针均指向表头结点
B.循环链表的存储空间是连续的
C.循环链表实现了空表与非空表运算的统一
D.循环链表中既能找到它的直接后继,也能找到它的直接前驱
25.树属于非线性结构,假设一棵树的度为4,其中度为1、2、3、4 的结点个数分别为2、2、3、3,则该树中的叶子结点数为( )。
A.16 B.17 C.18 D.19
26.二叉树是一种典型的非线性结构,假设一个二叉树有7个度为2的结点,则该二叉树中的叶子结点数是( )。
A.10 B.9 C.8 D.7
27.二叉树是一种典型的非线性结构,假设一棵二叉树共有30个结点,其中7个是叶子结点,则度为1的结点数为( )。
A.17 B.16 C.13 D.6
28.二叉树的遍历是指不重复地访问二叉树的所有结点。假设一个二叉树的前序遍历序列为ABCDE,中序遍历序列为CBADE,则后序遍历序列为( )。
A.EDABC B.EDCBA C.CBEDA D.CBADE
29.二叉树的遍历是指不重复地访问二叉树的所有结点。假设一个二叉树的后序遍历为GHDEBIJFCA,中序遍历为GDHBEACIFJ。则前序遍历为( )。
A.GHDEBACFIJ B.ABDGHECFIJ
C.ABCDEFGHIJ D.GHDEBCFIJA
30.设非空二叉树的所有子树中,其左子树上的结点值均小于根结点值,而右子树上的结点值均不小于根结点值,则称该二叉树为排序二叉树。对排序二叉树的遍历结果为有序序列的是( )。
A.中序序列 B.后序序列
C.前序序列 D.前序序列或后序序列
31.堆排序属于选择类的排序方法,那么堆排序在最坏情况下的时间复杂度为( )。
32.设顺序表的长度为100,对该表进行冒泡排序。在最坏情况下对该表需要的比较次数为( )。
A.100 B.4950 C.10001 D.50
33.顺序表的长度为101,现在需要在其中查找一个存在的元素,假设元素出现在表中每个位置上的可能性是相同的,则在平均情况下需要比较的次数为( )。
A.51 B.25 C.75 D.101
34.在计算机的算法结构中,排序有多种方法,下面哪一种属于每经过一次元素的交换会产生新的逆序的算法( )。
A.快速排序 B.简单选择排序 C.冒泡排序 D.简单插入排序
35.如果一个顺序表的长度为20,现在对该表进行简单插入排序。在最坏情况下需要的比较次数为( )。
A.20 B.40 C.400 D.190
36.希尔排序属于插入类排序,该算法每经过一次数据交换后( )。
A.只能消除一个逆序 B.不会产生新的逆序
C.能消除多个逆序 D.消除的逆序个数一定比新产生的逆序个数多
37.排序是数据处理的重要内容,对于各种排序算法,下列叙述中正确的是( )。
A.堆排序适用于非线性结构 B.对分查找也适用于有序链表
C.快速排序适用于链式存储的线性表 D.快速排序法适用于顺序存储的线性表
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。