(一) 单选题1. 若已知一个栈的入栈序列是,其输出序列为,若,则为()。
(A)(B)(C)(D) 不确定参考答案:(C)2. 程序段如下:其中n为正整数,则最后一行的语句频度在最坏情况下是()。
(A)(B)(C)(D)参考答案:(D)3. 一个栈的入栈序列是,则栈的不可能的输出序列是()。
(A) adcba(B) decba(C) dceab(D) abcde参考答案:(C)4. 从一个长度为n的顺序表中删除第i个元素时,需向前移动的元素的个数是()。
(A)(B)(C)(D)参考答案:(A)5. 栈和队列的共同点是()。
(A) 都是先进先出(B) 都是先进后出(C) 只允许在端点处插入和删除元素(D) 没有共同点参考答案:(C)6. 与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。
(A) 存储结构(B) 逻辑结构(C) 算法(D) 操作参考答案:(B)7. 设广义表,则L的长度和深度分别为()。
(A) 1和3 (B) 1和1 (C) 1和2 (D) 2和3参考答案:(C)8. 顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素e进栈操作的主要语句为()。
(A)(B)(C)(D)参考答案:(D)9. 在下面的程序段中,对x的赋值语句的频度为()。
(A)(B)(C)(D)参考答案:(C)10. 一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来看,通常递归过程比非递归过程()。
(A) 较快(B) 较慢(C) 相同(D) 不定参考答案:(B)11. 求循环链表中当前结点的后继和前驱的时间复杂度分别是()。
(A) 和(B) 和(C) 和(D) 和参考答案:(C)12. 数据的基本单位是()。
(A) 数据项(B) 数据类型(C) 数据元素(D) 数据变量参考答案:(A)13. 从逻辑上可以把数据结构分为()两大类。
(A) 动态结构、静态结构(B) 顺序结构、链式结构(C) 线性结构、非线性结构(D) 初等结构、构造型结构参考答案:(C)14. 若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则最节省运算时间的存储方式是()。
(A) 单链表(B) 仅有头指针的单循环链表(C) 双链表(D) 仅有尾指针的单循环链表参考答案:(D)15. 线性表采用链式存储时,节点的存储的地址()。
(A) 必须是不连续的(B) 连续与否均可(C) 必须是连续的(D) 和头节点的存储地址相连续参考答案:(B)16. 下述程序段中语句的频度是()。
(A)(B)(C)(D)参考答案:(C)17. 下列程序的时间复杂度为()。
;;(A)(B) O()(C) O(D) O参考答案:(A)18. 非空的单循环链表的头指针为head,尾指针为rear,则下列条件成立的是()。
(A) rear-参考答案:(A)19. 程序段for for if其中n为正整数,则最后一行的语句频度在最坏情况下是()。
(A)(B)(C)(D)参考答案:(D)20. 若不带头结点的单链表的头指针为head,则该链表为空的判定条件是()。
(A)(B)(C)(D)参考答案:(A)21. 对于栈操作数据的原则是()。
(A) 先进先出(B) 后进先出(C) 后进后出(D) 不分顺序参考答案:(B)22. 对广义表执行操作的结果是()。
(A)(B)(C)(D) (e)参考答案:(B)23. 二维数组采用列优先的存储方法,若每个元素各占3个存储单元,且地址为150,则元素的地址为()。
(A) 429 (B) 432 (C) 435 (D) 438参考答案:(A)24. 若允许表达式内多种括号混合嵌套,则为检查表达式中括号是否正确配对的算法,通常选用的辅助结构是()。
(A) 栈(B) 线性表(C) 队列(D) 二叉排序树参考答案:(A)25. 下列叙述中正确的是()。
(A) 一个逻辑数据结构只能有一种存储结构(B) 数据的逻辑结构属于线性结构,存储结构属于非线性结构(C) 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率(D) 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率参考答案:(D)26. 设以数组存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为()。
(A)(B)(C)(D)参考答案:(A)27. 用链表表示线性表的优点是()。
(A) 便于随机存取(B) 花费的存储空间比顺序表少(C) 数据元素的物理顺序与逻辑顺序相同(D) 便于插入与删除参考答案:(D)28. 对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B中,则在B中确定的位置k的关系为()。
(A)(B)(C)(D)参考答案:(B)29. 算法指的是()。
(A) 计算机程序(B) 解决问题的计算方法(C) 排序算法(D) 解决问题的有限运算序列。
参考答案:(D)30. 下列程序段的渐进时间复杂度为()。
;(A)(B)(C)(D)参考答案:(C)(二) 多选题1. 算法描述可以有多种表达方法,下面哪些方法可以描述的算法()。
(A) 自然语言(B) 流程图(C) 伪代码(D) 程序设计语言参考答案:(ABCD)2. 在链队列中,若删除一个元素,则()。
(A) 必须修改尾指针(B) 必须修改头指针(C) 有时需修改尾指针(D) 不必修改头指针参考答案:(BC)3. 一个栈的入栈序列是,则栈的不可能的输出序列是()。
(A) 54321 (B) 12345 (C) 45231 (D) 32514 (E) 14325参考答案:(CD)4. 对线性表、栈、队叙述正确的是()。
(A) 它们逻辑结构相同,都是线性的(B) 都可以用顺序存储或链表存储(C) 栈和队列是两种特殊的线性表,即受限的线性表(D) 栈是只允许在一端进行插入和删除运算,因而是后进先出表LIFO(E) 队列是只允许在一端进行插入、另一端进行删除运算,因而是先进先出表FIFO参考答案:(ABCDE)5. 下列数据结构中,()是线性结构。
(A) 线性表(B) 栈(C) 队列(D) 树(E) 图参考答案:(ABC)6. 串与线性表叙述正确的是()。
(A) 串的逻辑结构和线性表极为相似(B) 区别仅在于串的数据对象约束为字符集(C) 串的基本操作和线性表有很大差别(D) 在线性表的基本操作中,大多以作为操作对象(E) 在串的基本操作中,通常以作为操作对象参考答案:(ABCDE)7. 下列叙述错误的是()。
(A) 算法的执行效率与数据的存储结构无关(B) 算法的空间复杂度是指算法程序中指令(或语句)的条数(C) 算法的有穷性是指算法必须能在执行有限个步骤之后终止(D) 算法的时间复杂度是指执行算法程序所需要的时间性能参考答案:(AB)8. 线性表的两种存储结构叙述正确的是()。
(A) 线性表顺序存储结构可以随机存取表中任一元素(B) 线性表链式存储结构只能顺序存取表中任一元素(C) 线性表顺序存储结构在插入或删除某一元素时,需要移动大量元素(D) 线性表链式存储结构在插入或删除某一元素时,不需要移动大量元素(E) 当一个线性表经常进行插入删除操作,而很少进行存取操作时,适宜采用顺序存储结构参考答案:(ABCD)9. 一个链式队列中,假设f和r分别为队首和队尾指针,则插入s所指结点的运算序列是()。
(A)(B)(C)(D)(E)参考答案:(AB)(三) 判断题1. 如果一个串中的所有字符均在另一串中出现,则说前者是后者的子串。
(A) 对(B) 错参考答案:(B)2. 在顺序存储结构中,有时也存储数据结构中元素之间的关系。
(A) 对(B) 错参考答案:(B)3. 算法可以用不同的语言描述,如果用C语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。
参考答案:(B)4. 顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。
(A) 对(B) 错参考答案:(B)5. 若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列1,5,4,6,2,3。
(A) 对(B) 错参考答案:(B)6. 在链队列中,即使不设置尾指针也能进行入队操作。
(A) 对(B) 错参考答案:(A)7. 两个栈共用静态存储空间,对头使用也存在空间溢出问题。
(A) 对(B) 错参考答案:(A)8. 循环链表不是线性表。
(A) 对(B) 错参考答案:(B)9. 取线性表的第i个元素的时间同i的大小有关。
(A) 对(B) 错参考答案:(B)10. 健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
(A) 对(B) 错参考答案:(A)11. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
(A) 对(B) 错参考答案:(B)12. 为了很方便的插入和删除数据,可以使用双向链表存放数据。
(A) 对(B) 错参考答案:(A)13. 链表中的头结点仅起到标识的作用。
(A) 对(B) 错参考答案:(B)14. 在数据结构中,空串和空格串的概念是一样的。
参考答案:(B)15. 数据的物理结构是指数据在计算机内的实际存储形式。
(A) 对(B) 错参考答案:(A)16. 数据的逻辑结构是指数据的各数据项之间的逻辑关系。
(A) 对(B) 错参考答案:(B)17. 数据元素是数据的最小单位。
(A) 对(B) 错参考答案:(B)18. 单链表从任何一个结点出发,都能访问到所有结点。
(A) 对(B) 错参考答案:(B)19. 在执行简单的串匹配算法时,最坏的情况为每次匹配比较不等的字符出现的位置均为模式串的最末字符。
(A) 对(B) 错参考答案:(A)20. 在单链表中,指针p指向元素为x的结点,实现的语句是。
(A) 对(B) 错参考答案:(A)21. 线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。
(A) 对(B) 错参考答案:(A)22. 队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。
(A) 对(B) 错参考答案:(B)(一) 单选题1. 设图的邻接链表如图所示,则该图的边的数目是()。
(A) 4 (B) 5 (C) 10 (D) 20参考答案:(B)2. 在一个非空二叉树的中序遍历序列中,根结点的右边()。
(A) 只有右子树上的所有结点(B) 只有右子树上的部分结点(C) 只有左子树的上的部分结点(D) 只有左子树上的所有结点参考答案:(A)3. 设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为()。
(A) 2h(B) 2h-1(C) -2h-1(D) h+1参考答案:(B)4. 用邻接表表示图进行深度优先遍历时,通常是采用()来实现算法的。