数据结构与算法
1.算法的有穷性是指()。答案:A A)算法程序的运行时间是有限的 B)算法程序所处理的数据量是有限的 C)算法程序的长度是有限的 D)算法只能被有限的用户使用
2.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是()。答案:D
A)快速排序 B)冒泡排序 C)直接插入排序 D)堆排序 3.下列关于栈的叙述正确的是()。答案:B A)栈按\先进先出\组织数据 B)栈按\先进后出\组织数据 C)只能在栈底插入数据 D)不能删除数据
4.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。答案:B A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA 5.下列叙述中正确的是()。答案:D
A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D)循环队列中元素的个数是由队头指针和队尾指针共同决定
6.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。答案:C A)O(n)
B)
C)
D)
7.下列叙述中正确的是()。答案:A
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 D)链式存储结构比顺序存储结构节省存储空间
8.在数据管理技术发展的三个阶段中,数据共享最好的是()。答案:C A)人工管理阶段 B)文件系统阶段 C)数据库系统阶段 D)三个阶段相同 9.下列叙述中正确的是()。答案:D A)栈是“先进先出”的线性表 B)队列是“先进后出”的线性表 C)循环队列是非线性结构
D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 10.支持子程序调用的数据结构是()。答案:A A)栈 B)树 C)队列 D)二叉树
11.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是()。答案:C A)10 B)8 C)6 D)4 12.下列排序方法中,最坏情况下比较次数最少的是()。答案:D A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序 13.下列数据结构中,属于非线性结构的是()。答案:C A)循环队列 B)带链队列 C)二叉树 D)带链栈
14.下列数据结构中,能够按照“先进后出”原则存取数据的是()。答案:B A)循环队列 B)栈 C)队列 D)二叉树 15.对于循环队列,下列叙述中正确的是()。答案:D A)队头指针是固定不变的 B)队头指针一定大于队尾指针 C)队头指针一定小于队尾指针 D)队头指针可以大于队尾指针,也可以小于队尾指针 16.算法的空间复杂度是指()。答案:A
A)算法在执行过程中所需要的计算机存储空间 B)算法所处理的数据量
C)算法程序中的语句或指令条数
D)算法在执行过程中所需要的临时工作单元数 17.下列叙述中正确的是()。答案:B
A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D)线性表的链式存储结构所需要的存储空间与顺序存储结构没有任何关系 18.下列叙述中正确的是()。答案:D A)栈是一种先进先出的线性表 B)队列是一种后进先出的线性表 C)栈与队列都是非线性结构 D)栈与队列都是线性结构 19.下列叙述中正确的是()。答案:C
A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 D)在栈中,栈中元素不会随栈底指针与栈顶指针的变化而动态变化
20.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)()。答案:D A)3 B)4 C)6 D)7 21.下列叙述中正确的是()。答案:D A)算法就是程序 B)设计算法时只需要考虑数据结构的设计 C)设计算法时只需要考虑结果的可靠性 D)以上三种说法都不对 22.下列叙述中正确的是()。答案:B
A)有一个以上根结点的数据结构不一定是非线性结构 B)只有一个根结点的数据结构不一定是线性结构 C)循环链表是非线性结构 D)双向链表是非线性结构 23.下列关于二叉树的叙述中,正确的是()。答案:B A)叶子结点总是比度为2的结点少一个 B)叶子结点总是比度为2的结点多一个 C)叶子结点数是度为2的结点数的两倍 D)度为2的结点数是度为1的结点数的两倍
24.()。答案:C
A)7 B)6 C)3 D)2 25.下列叙述中正确的是()。答案:B A)循环队列是队列的一种链式存储结构 B)循环队列是队列的一种顺序存储结构 C)循环队列是非线性结构 D)循环队列是一种逻辑结构 26.下列关于线性链表的叙述中,正确的是()。答案:C
A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致 B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续 C)进行插入与删除时,不需要移动表中的元素
D)各数据结点的存储顺序与逻辑顺序可以不一致,它们的存储空间也可以不一致 27.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为()。答案:A A)16 B)10 C)6 D)4 28.在满足实体完整性约束的条件下()。答案:A A)一个关系中应该有一个或多个候选关键字 B)一个关系中只能有一个候选关键字 C)一个关系中必须有多个候选关键字 D)一个关系中可以没有候选关键字 29.下列链表中,其逻辑结构属于非线性结构的是()。答案:A A)二叉链表 B)循环链表 C)双向链表 D)带链的栈 30.设循环队列的存储空间为Q(1: 35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为()。答案:D A)15 B)16 C)20 D)0或35 31.下列关于栈的叙述中,正确的是()。答案:C A)栈底元素一定是最后入栈的元素 B)栈顶元素一定是最先入栈的元素 C)栈操作遵循先进后出的原则 D)以上三种说法都不对 32.下列叙述中正确的是()。答案:A
A)程序执行的效率与数据的存储结构密切相关 B)程序执行的效率只取决于程序的控制结构 C)程序执行的效率只取决于所处理的数据量 D)以上三种说法都不对
33.下列与队列结构有关联的是()。答案:D A)函数的递归调用 B)数组元素的引用 C)多重循环的执行 D)先到先服务的作业调度
34.()。答案:C
A)DYBEAFCZX B)YDEBFZXCA C)ABDYECFXZ D)ABCDEFXYZ
35.一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是()。答案:C A)1,2,3,A,B,C B)C,B,A,1,2,3 C)C,B,A,3,2,1 D)1,2,3,C,B,A 36.下列叙述中正确的是()。答案:D
A)一个算法的空间复杂度大,则其时间复杂度也必定大 B)一个算法的空间复杂度大,则其时间复杂度必定小 C)一个算法的时间复杂度大,则其空间复杂度必定小 D)算法的时间复杂度与空间复杂度没有直接关系 37.下列叙述中正确的是()。答案:A
A)循环队列中的元素个数随队头指针与队尾指针的变化而动态变化 B)循环队列中的元素个数随队头指针的变化而动态变化 C)循环队列中的元素个数随队尾指针的变化而动态变化 D)以上说法都不对
38.一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为()。答案:B A)219 B)229 C)230 D)231
39.对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为()。答案:C A)9 B)10 C)45 D)90 40.下列叙述中正确的是()。答案:B
A)算法的效率只与问题的规模有关,而与数据的存储结构无关 B)算法的时间复杂度是指执行算法所需要的计算工作量 C)数据的逻辑结构与存储结构是一一对应的 D)算法的时间复杂度与空间复杂度一定相关 41.下列叙述中正确的是()。答案:C
A)线性表链式存储结构的存储空间一般要少于顺序存储结构 B)线性表链式存储结构与顺序存储结构的存储空间都是连续的
C)线性表链式存储结构的存储空间可以是连续的,也可以是不连续的 D)以上说法都不对
42.某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)()。答案:D A)3 B)6 C)8 D)12
43.对长度为n的线性表作快速排序,在最坏情况下,比较次数为()。答案:D A)n B)n-1 C)n(n-1) D)n(n-1)/2
程序设计基础
1.结构化程序设计的基本原则不包括()。答案:A A)多态性 B)自顶向下 C)模块化 D)逐步求精 2.在面向对象方法中,不属于“对象”基本特点的是()。答案:A A)一致性 B)分类性 C)多态性 D)标识唯一性 3.下列选项中不属于结构化程序设计原则的是()。答案:A A)可封装 B)自顶向下 C)模块化 D)逐步求精 4.数据库管理系统是()。答案:B
A)操作系统的一部分 B)在操作系统支持下的系统软件 C)一种编译系统 D)一种操作系统 5.面向对象方法中,继承是指()。答案:D A)一组对象所具有的相似性质 B)一个对象具有另一个对象的性质 C)各对象之间的共同性质 D)类之间共享属性和操作的机制 6.结构化程序所要求的基本结构不包括()。答案:B A)顺序结构 B)GOTO跳转 C)选择(分支)结构 D)重复(循环)结构 7.定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。答案:B A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5} 8.下列选项中属于面向对象设计方法主要特征的是()。答案:A A)继承 B)自顶向下 C)模块化 D)逐步求精 9.下面对对象概念描述正确的是()。答案:A A)对象间的通信靠消息传递 B)对象是名字和方法的封装体 C)任何对象必须有继承性 D)对象的多态性是指一个对象有多个操作 10.结构化程序设计中,下面对goto语句使用描述正确的是()。答案:C A)禁止使用goto语句 B)使用goto语句程序效率高 C)应避免滥用goto语句 D)以上说法都不对
软件工程基础
1.程序流程图中带有箭头的线段表示的是()。答案:C A)图元关系 B)数据流 C)控制流 D)调用关系 2.软件设计中模块划分应遵循的准则是()。答案:B A)低内聚低耦合 B)高内聚低耦合 C)低内聚高耦合 D)高内聚高耦合 3.在软件开发中,需求分析阶段产生的主要文档是()。答案:B A)可行性分析报告 B)软件需求规格说明书 C)概要设计说明书 D)集成测试计划 4.数据流图中带有箭头的线段表示的是()。答案:D A)控制流 B)事件驱动 C)模块调用 D)数据流 5.在软件开发中,需求分析阶段可以使用的工具是()。答案:B A)N-S图 B)DFD图 C)PAD图 D)程序流程图
6.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是()。答案:C A)编译程序 B)操作系统 C)教务管理系统 D)汇编程序 7.下面叙述中错误的是()。答案:A
A)软件测试的目的是发现错误并改正错误
B)对被调试的程序进行“错误定位”是程序调试的必要步骤 C)程序调试通常也称为Debug
D)软件测试应严格执行测试计划,排除测试的随意性
8.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是()。答案:B A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性
C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度 D)内聚性是指模块间互相连接的紧密程度