第1页例1:在下列选项中,不是一个算法一般应该具有的基本特征的是____。(5-1)(A)确定性(B)可行性(C)无穷性(D)拥有足够的情报√√√例2:算法的时间复杂度是指____。(2-1)(A)执行算法程序所需的时间(B)算法程序的长度(C)算法执行过程中所需要的基本运算次数(D)算法程序中的指令条数例3:算法的空间复杂度是指____。(3-1)(A)算法程序的长度(B)算法程序中的指令条数(C)算法程序所占的存储空间(D)算法执行过程中所需要的存储空间第2页例4:下面叙述正确的是___。(1-1)(A)算法的执行效率与数据的存储结构无关(B)算法的空间复杂度是指算法程序中指令(或语句)的条数(C)算法的有穷性是指算法必须能在执行有限个步骤之后终止(D)算法的时间复杂度是指执行算法程序所需要的时间√√例5:在计算机中,算法是指____。(6-1)(A)查询方法(B)加工方法(C)解题方案的准确而完整的描述(D)排序方法例6:算法分析的目的是________。(8-1)(A)找出数据结构的合理性(B)找出算法中输入和输出之间的关系(C)分析算法的易懂性和可靠性(D)分析算法的效率以求改进√第3页(7)下列叙述中正确的是________。(069)A)一个算法的空间复杂度大,则其时间复杂度也必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间可复杂度必定小D)上述三种说法都不对√第4页例9:算法的基本特征是可行性、确定性、_______和拥有足够的情报。(7-1)例7:算法的复杂度主要包括时间复杂度和_____复杂度。(1-1)空间例8:实现算法所需的存储单元多少和算法的工作量大小分别称为算法的_____________________。(6-1)空间复杂度和时间复杂有穷性(5)问题处理方案的正确而完整的描述称为【5】。(054)算法第5页例:以下数据结构属于非线性数据结构的是____。(1-2)(A)队列(B)线性表(C)二叉树(D)栈√√√例:下列叙述中正确的是____。(2-2)(A)线形表是线形结构(B)栈与队列是非线形结构(C)线形链表是非线形结构(D)二叉树是线形结构例:下列关于栈的叙述中正确的是____。(3-2)(A)在栈中只能插入数据(B)在栈中只能删除数据(C)栈是先进先出的线性表(D)栈是先进后出的线性表√例:下列关于队列的叙述中正确的是____。(5-3)(A)在队列中只能插入数据(B)在队列中只能删除数据(C)队列是先进先出的线性表(D)队列是先进后出的线性表第6页√√例:栈和队列的共同点是____。(6-2)(A)都是先进后出(B)都是先进后出(C)只允许在端点处插入和删除元素(D)没有共同点例:栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是___。(7-2)(A)ABCED(B)DBCEA(C)CDABE(D)DCBEA例:用链表表示线性表的优点是______。(8-4)(A)便于插入和删除操作(B)数据元素的物理顺序与逻辑顺序相同(C)花费的存储空间较顺序存储少(D)便于随机存取√第7页例:线性表的顺序存储结构和线性表的链式存储结构分别是__。(7-3)(A)顺序存取的存储结构、顺序存取的存储结构(B)随机存取的存储结构、顺序存取的存储结构(C)随机存取的存储结构、随机存取的存储结构(D)任意存取的存储结构、任意存取的存储结构例:在单链表中,增加头结点的目的是____。(7-4)(A)方便运算的实现(B)使单链表至少有一个结点(C)标识表结点中首结点的位置(D)说明单链表是线性表的链式存储实现√√第8页例:数据的存储结构是指____。(4-2)(054)(A)数据所占的存储空间量(B)数据的逻辑结构在计算机中的表示(C)数据在计算机中的顺序存储方式(D)存储在外存中的数据例:数据结构中,与所使用的计算机无关的是数据的____。(7-1)(A)存储结构(B)物理结构(C)逻辑结构(D)物理和存储结构√√(2)下列关于栈的描述中错误的是______。(054)A)栈是先进后出的线性表B)栈只能顺序存储C)D)对栈的插入与删除操作中,不需要改变栈底指针√第9页例:在运算过程中,能够使空表与非空表的运算统一的结构是___________。(4-1)例:栈的基本运算有三种:入栈、退栈和__________。(5-1)读栈顶元素循环链表例:数据结构包括数据的逻辑结构、数据的_________以及对数据的操作运算。(6-2)例:顺序存储方法是把逻辑上相邻的结点存储在物理位置______存储单元。(7-2)存储结构相邻例:数据结构包括数据的逻辑结构、数据的__________以及对数据的操作运算。(6-2)存储结构第10页(5)数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为【5】。(064)逻辑独立性(4)下列叙述中正确的是(059)A)一个逻辑数据结构只能有一种存储结构B)数据的逻辑结构属于线性结构,存储结构属于非线性结构C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率√(4)按“先进后出”原则组织数据的数据结构是【4】。(069)栈(5)数据结构分为线性结构和非线性结构,带链的队列属于【5】(069)线性结构第11页例:在一棵二叉树上第8层的结点数最多的是____。(1-3)(A)8(B)16(C)128(D)256√例:在深度为5的满二叉树中,叶子结点的个数为___。(3-3)(A)32(B)31(C)16(D)15√√例:下面关于完全二叉树的叙述中,错误的是____。(2-3)(A)除了最后一层外,每一层的结点数均达到最大值(B)可能缺少若干个左右叶子结点(C)完全二叉树一般不是满二叉树(D)具有结点的完全二叉树的深度为[log2n]+1第12页例:对下列二叉树中中序遍历的结果是___。(4-3)BACDEF(A)ABCDEF(B)DBEAFC(C)ABDECF(D)DEBFCA√第13页(10)对下列二叉树进行中序遍历的结果是________。(069)A)ACBDFEGB)ACBDFGEC)ABDCGEFD)FCADBEG√第14页例:在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、_______遍历和后序遍历。(2-1)中序例:设一棵完全二叉树共有500个结点,则在该二叉树中有_____个叶子结点。(3-1)250第15页(4)按照“后进先出”原则组织数据的数据结构是(064)A)队列B)栈C)双向链表D)二叉树√(5)下列叙述中正确的是(064)A)线性链表是线性表的链式存储结构B)栈与队列是非线性结构C)双向链表是非线性结构D)只有根结点的二叉树是线性结构(6)对如下二叉树(064)进行后序遍历的结果为A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA(7)在深度为7的满二叉树中,叶子结点的个数为(064)A)32B)31C)64D)63√√√第16页例:希尔排序法属于哪一种类型的排序法___。(5-2)(A)交换类排序法(B)插入类排序法(C)选择类排序法(D)建堆排序法√例:在下列几种排序方法中,要求内存量最大的是__。(6-4)(A)插入排序(B)选择排序(C)快速排序(D)归并排序√例:在长度为N的线性表进行顺序查找,在最坏的情况下所需要的比较次数为___。(5-4)(054)(A)N+1(B)N(C)(N+1)/2(D)N/2√(8)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为___。(069)A)63B)64C)6D)7√第17页例:在最坏情况下,冒泡排序的时间复杂度为_________。(3-2)n(n-1)/2例:已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是____。(8-3)(A)堆排序(B)直接插入排序(C)快速排序(D)直接选择排序例:在最坏的情况下,堆排序需要比较的次数为________。(8-2)nlog2n√例:对于长度为N的线性表,在最坏的情况下,下列各排序所对应的比较次数为___。(5-4)(054)(A)冒泡排序为n/2(B)冒泡排序为n(C)快速排序为n(D)快速排序为n(n-1)/2√第18页(1)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为【1】。(064)45(2)下列数据结构中,能用二分法进行查找的是(059)A)顺序存储的有序线性表B)线性链表C)二叉链表D)有序线性链表√(3)下列关于栈的描述正确的是(059)A)在栈中只能插入元素而不能删除元素B)在栈中只能删除元素而不能插入元素C)栈是特殊的线性表,只能在一端插入或删除元素D)栈是特殊的线性表,只能在一端插入元素,而在另一√(4)一棵二叉树第六层(根结点为第一层)的结点数最多为【4】个。(059)32第19页1)某二叉树中度为2的结点有18个,则该二叉树中有【1】个叶子结点。(054)19(5)数据结构分为逻辑结构和存储结构,循环队列属于【5】结构。(059)存储结构(5)下列对于线性链表的描述中正确的是______。(054)A)存储空间不一定是连续,且各元素的存储顺序是任意的B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面C)存储空间必须连续,且前件元素一定存储在后件元素的前面D)存储空间必须连续,且各元素的存储顺序是任意的√第20页例:下面描述中,不符合结构化程序设计风格的是__。(1-4)(A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑(B)自顶向下(C)注重提高程序的执行效率(D)限制使用GOTO语句例:在设计程序时,应采纳的原则之一是_____。(6-5)(A)程序结构应有助于读者理解(B)不限制goto语句的使用(C)减少或取消注解行(D)程序越短越好例:结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、________和限制使用goto语句。(2-2)模块化√√第21页例:结构化程序设计主要强调的是____。(2-4)(A)程序的规模(B)程序的易读性(C)程序的执行效率(D)程序的可移植性例:算法一般都可以用哪几种控制结构组合而成__。(4-1)(A)循环、分支、递归(B)顺序、循环、嵌套(C)循环、递归、选择(D)顺序、选择、循环例:对建立良好的程序设计风格,下面描述正确的是__。(3-4)(A)程序应简单、清晰、可读性好(B)符号名的命名要符合语法(C)充分考虑程序的执行效率(D)程序的注释可有可无√√√第22页(1)下列选项中不属于结构化程序设计方法的是(064)A)自顶向下B)逐步求精C)模块化D)可复用√(1)下列叙述中正确的是(059)A)程序设计就是编制程序B)程序的测试必须由程序员自己去完成C)程序经调试改错后还应进行再测试D)程序经调试改错后不必进行再测试√(1)下列选项不符合良好程序设计风格的是____。(069)A)源程序要文档化B)数据说明的次序要规范化C)避免滥用goto语句D)模块设主次要保证高耦合、高内聚√第23页例:下面概念中,不属于面向对象方法的是___。(1-5)(A)对象、消息(B)继承、多态(C)类、封装(D)过程调用例:下面对对象概念描述错误的是___。(3-5)(A)任何对象都必须有继承性(B)对象是属性和方法的封装体(C)对象间的通讯靠消息传递(D)操作是对象的动态性属性例:在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送___。(4-4)(A)调用语句(B)命令(C)口令(D)消息例:面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。(3-3)√√√实体第24页例:面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是____。(5-6)(A)模拟现实世界中