资源描述
河南中启教诲培训中心
全国计算机二级考试
选取题集锦解析
中启教诲教研室
计算机二级考试选取题题库
(1)算法有穷性是指
A、算法程序运营时间是有限
B、算法程序所解决数据量是有限
C、算法程序长度是有限
D、算法只能被有限顾客使用
答案:A
解析:算法有穷性,是指算法必要能在有限时间内做完,即算法必要能在执行有限个环节之后终结。
(2)下列论述中对的是
A、算法就是程序
B、设计算法时只需要考虑数据构造设计
C、设计算法时只需要考虑成果可靠性
D、以上三种说法都不对
答案:D
解析:所谓算法是指解题方案精确而完整描述。是一组严谨地定义运算顺序规则,并且每一种规则都是有效,且是明确,此顺序将在有限次数下终结。算法不等于程序,也不等于计算办法。设计算法时不但要考虑对数据对象运算和操作,还要考虑算法控制构造。
(3)算法空间复杂度是指
A、算法在执行过程中所需要计算机存储空间
B、算法所解决数据量
C、算法程序中语句或指令条数
D、算法在执行过程中所需要暂时工作单元数
答案:A
解析:算法空间复杂度是指执行这个算法所需要内存空间。这个内存空间涉及算法程序所占空间,输入初始数据所占存储空间以及算法执行过程中所需要额外空间。
(4)算法时间复杂度是指
A、算法执行时间
B、算法所解决数据量
C、算法程序中语句或指令条数
D、算法在执行过程中所需要基本运算次数
答案:D
解析:算法时间复杂度,是指执行算法所需要计算工作量。算法工作量可以用算法在执行过程中所需基本运算执行次数来度量。
(5)下列论述中对的是
A、算法效率只与问题规模关于,而与数据存储构造无关
B、算法时间复杂度是指执行算法所需要计算工作量
C、数据逻辑构造与存储构造是一一相应
D、算法时间复杂度与空间复杂度一定有关
答案:B
解析:算法时间复杂度是指执行算法所需要计算工作量。算法工作量用算法所执行基本运算次数来度量,而算法所执行基本运算次数是问题规模函数;算法空间复杂度普通是指执行这个算法所需要内存空间。算法时间复杂度与空间复杂度并不有关。数据逻辑构造就是数据元素之间逻辑关系,它是从逻辑上描述数据元素之间关系,是独立于计算机;数据存储构造是研究数据元素和数据元素之间关系如何在计算机中表达,它们并非一一相应。算法执行效率不但与问题规模关于,还与数据存储构造关于。
(6)下列论述中对的是
A、一种算法空间复杂度大,则其时间复杂度也必然大
B、一种算法空间复杂度大,则其时间复杂度必然小
C、一种算法时间复杂度大,则其空间复杂度必然小
D、算法时间复杂度与空间复杂度没有直接关系
答案:D
解析:算法复杂度重要涉及时间复杂度和空间复杂度。算法时间复杂度是指执行算法所需要计算工作量,算法工作量用算法所执行基本运算次数来度量,而算法所执行基本运算次数是问题规模函数,即算法工作量=f(n),其中n是问题规模;算法空间复杂度,普通是指执行这个算法所需要内存空间。一种算法所占用存储空间涉及算法程序所占用空间、输入初始数据所占存储空间以及算法执行过程中所需要额外空间。依照各自定义可知,算法时间复杂度与空间复杂度并不有关。
(7)数据存储构造是指
A、存储在外存中数据
B、数据所占存储空间量
C、数据在计算机中顺序存储方式
D、数据逻辑构造在计算机中表达
答案:D
解析:在对数据进行解决时,各数据元素在计算机中存储关系,即为数据存储构造。
(8)下列描述中对的是
A、一种逻辑数据构造只能有一种存储构造
B、数据逻辑构造属于线性构造,存储构造属于非线性构造
C、一种逻辑数据构造可以有各种存储构造,且各种存储构造不影响数据解决效率
D、一种逻辑数据构造可以有各种存储构造,且各种存储构造影响数据解决效率
答案:D
解析:数据逻辑构造是指数据集合中各数据元素之间所固有逻辑关系;数据存储构造是在对数据进行解决时,各数据元素在计算机中存储关系。数据存储构造是指数据逻辑构造在计算机中表达,一种逻辑构造可以表达到各种存储构造;而采用不同存储构造,其数据解决效率是不同。
(9)下列描述中对的是
A、数据逻辑构造与存储构造必然是一一相应
B、由于计算机存储空间是向量式存储构造,因而,数据存储构造一定是线性构造
C、程序设计语言中数据普通是顺序存储构造,因而,运用数组只能解决线性构造
D、以上三种说法都不对
答案:D
解析:数据逻辑构造是指反映数据元素之间逻辑关系数据构造。数据逻辑构造在计算机存储空间中存储形式称为数据存储构造(也称数据物理构造)。普通来说,一种数据逻辑构造依照需要可以表达到各种存储构造,惯用存储构造有顺序、链接、索引等。
(10)下列论述中对的是
A、有一种以上根结点数据构造不一定是非线性构造
B、只有一种根结点数据构造不一定是线性构造
C、循环链表是非线性构造
D、双向链表是非线性构造
答案:B
解析:在数据构造中,树此类数据构造只有一种根结点,但它不是线性构造。
(11)下列数据构造中,属于非线性构造是
A、循环队列
B、带链队列
C、二叉树
D、带链栈
答案:C
解析:依照数据构造中各数据元素之间先后件关系复杂限度,普通将数据构造分为两大类:线性构造和非线性构造。循环队列、带链队列和带链栈都是线性构造,而二叉树是非线性构造。
(12)下列描述中对的是
A、线性链表是线性表链式存储构造
B、栈与队列是非线性构造
C、双向链表是非线性构造
D、只有根结点二叉树是线性构造
答案:A
解析:线性表链式存储构造称为线性链表。线性表链式存储构造基本单位称为存储结点,每个存储结点涉及数据域和指针域两个构成某些。各数据元素之间先后件关系是由各结点指针域来批示,指向线性表中第一结点指针HEAD称为头指针,当HEAD=NULL时称为空表。栈、队列和双向链表是线性构造,树是一种简朴非线性构造。在树这种数据构造中,所有数据元素关系具备明显层次特性。二叉树是非线性构造。线性构造和非线性构造是从数据逻辑构造角度来讲,与该数据构造中有多少个元素没关于系,虽然是空二叉树也是非线性构造。
(13)下面论述中对的是
A、线性表是线性构造
B、栈与队列是非线性构造
C、线性链表是非线性构造
D、二叉树是线性构造
答案:A
解析:线性表是最简朴、最惯用一种线性构造。所谓线性链表指是采用链式存储构造线性表。栈和队列其实是一种特殊线性表。树是一种简朴非线性构造,二叉树是树一种。
(14)下列关于栈论述对的是
A、栈按“先进先出”组织数据
B、栈按“先进后出”组织数据
C、只能在栈底插入数据
D、不能删除数据
答案:B
解析:栈是限定在一端进行插入和删除线性表,容许进行插入和删除元素一端称为栈顶,另一端称为栈底。栈是按照“先进后出”原则组织数据。
(15)支持子程序调用数据构造是
A、栈
B、树
C、队列
D、二叉树
答案:A
解析:栈是一种限定在一端进行插入与删除线性表。在主函数调用子函数时,要一方面保存主函数当前状态,然后转去执行子函数,把子函数运营成果返回到主函数调用子函数时位置,主函数再接着往下执行,这种过程符合栈特点。因此普通采用栈式存储方式。
(16)下列数据构造中,可以按照“先进后出”原则存取数据是
A、循环队列
B、栈
C、队列
D、二叉树
答案:B
解析:栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据;队列是“先进先出”(FIFO)或“后进后出”(LILO)线性表。
(17)下列关于栈论述对的是
A、栈顶元素能最先被删除
B、栈顶元素最后才干被删除
C、栈底元素永远不能被删除
D、以上三种说法都不对
答案:A
解析:栈是先进后出线性表,栈顶元素最先被删除,栈底元素最后被删除。
(18)下列关于栈论述中,对的是
A、栈底元素一定是最后入栈元素
B、栈顶元素一定是最先入栈元素
C、栈操作遵循先进后出原则
D、以上三种说法都不对
答案:C
解析:栈是限定只能在表一端进行插入和删除操作线性表,必要按“后进先出”规则操作元素。
(19)下列论述中对的是
A、在栈中,栈中元素随栈底指针与栈顶指针变化而动态变化
B、在栈中,栈顶指针不变,栈中元素随栈底指针变化而动态变化
C、在栈中,栈底指针不变,栈中元素随栈顶指针变化而动态变化
D、上述三种说法都不对
答案:C
解析:在栈中,容许插入与删除一端称为栈顶,而不容许插入与删除另一端称为栈底。栈跟队列不同,元素只能在栈顶压入或弹出,栈底指针不变,栈中元素随栈顶指针变化而动态变化,遵循后进先出规则。
(20)一种栈初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈顺序是
A、12345ABCDE
B、EDCBA54321
C、ABCDE12345
D、54321EDCBA
答案:B
解析:栈是按照“先进后出”或“后进先出”原则组织数据。因此出栈顺序是EDCBA54321。
(21)一种栈初始状态为空。现将元素1,2,3,A,B,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
答案:C
解析:栈是按照“先进后出”或“后进先出”原则组织数据。因此出栈顺序是CBA321。
(22)下列关于栈描述中错误是
A、栈是先进后出线性表
B、栈只能顺序存储
C、栈具备记忆作用
D、对栈插入与删除操作中,不需要变化栈底指针
答案:B
解析:栈是限定在一端进行插入与删除线性表。栈顶(top):插入数据(即入栈)一端;栈底(bottom):不能入栈也不能出栈一端。栈存储数据原则:“先进后出”或“后进先出”。栈特性是具备记忆作用。
(23)按照“后进先出”原则组织数据数据构造是
A、队列
B、栈
C、双向链表
D、二叉树
答案:B
解析:栈是限定在一端进行插入与删除线性表。在栈中,容许插入与删除一端称为栈顶,不容许插入与删除另一端称为栈底。栈顶元素总是最后被插入元素,也是最先被删除元素;栈底元素总是最先被插入元素,也是最后才干被删除元素。即栈是按照“后进先出”(Last In First Out,简称LIFO)或“先进后出”(First In Last Out,简称FILO)原则组织数据。因而,栈也称为“后进先出表”或“先进后出”表。
(24)下列对队列描述中对的是
A、队列属于非线性表
B、队列按“先进后出”原则组织数据
C、队列在队尾删除数据
D、队列按“先进先出”原则组织数据
答案:D
解析:队列(queue)是指容许在一端进行插入、而在另一端进行删除线性表。容许插入一端称为队尾;容许删除一端称为队头。在队列这种数据构造中,最先插入元素将最先可以被删除;反之,最后插入元素将最后才干被删除。因而,队列又称“先进先出”或“后进后出”线性表。
(25)下列论述中对的是
A、栈是一种先进先出线性表
B、队列是一种后进先出线性表
C、栈与队列都是非线性构造
D、以上三种说法都不对
答案:D
解析:栈是先进后出线性表,队列是先进先出线性表,两者均为线性构造。
(26)下列论述中对的是
A、栈是“先进先出”线性表
B、队列是“先进后出”线性表
C、循环队列是非线性构造
D、D)有序线性表既可以采用顺序存储构造,也可以采用链式存储构造
答案:D
解析:本题重要考查了栈、队列、循环队列概念,栈是先进后出线性表,队列是先进先出线性表。依照数据构造中各数据元素之间先后件关系复杂限度,普通将数据构造分为两大类型:线性构造与非线性构造。有序线性表既可以采用顺序存储构造,又可以采用链式存储构造。
(27)下列关于栈描述中对的是
A、在栈中只能插入元素而不能删除元素
B、在栈中只能删除元素而不能插入元素
C、栈是特殊线性表,只能在一端插入或删除元素
D、栈是特殊线性表,只能在一端插入元素,而在另一端删除元素
答案:C
解析:栈是限定在一端进行插入与删除线性表,在栈中,容许插入与删除一端称为栈顶,不容许插入与删除另一端称为栈底。
(28)下列论述中对的是
A、循环队列有队头和队尾两个指针,因而,循环队列是非线性构造
B、在循环队列中,只需要队头指针就能反映队列中元素动态变化状况
C、在循环队列中,只需要队尾指针就能反映队列中元素动态变化状况
D、循环队列中元素个数是由队头指针和队尾指针共同决定
答案:D
解析:循环队列中元素个数是由队头指针和队尾指针共同决定,元素动态变化也是通过队头指针和队尾指针来反映。
(29)对于循环队列,下列论述中对的是
A、队头指针是固定不变
B、队头指针一定不不大于队尾指针
C、队头指针一定不大于队尾指针
D、队头指针可以不不大于队尾指针,也可以不大于队尾指针
答案:D
解析:所谓循环队列,就是将队列存储空间最后一种位置绕到第一种位置,形成逻辑上环状空间,供队列循环使用。在循环队列中,用队尾指针rear指向队列中队尾元素,用队头指针front指向队头元素前一种位置。循环队列重要操作是:入队运算和退队运算。每进行一次入队运算,队尾指针就进一。每进行一次退队运算,队头指针就进一。当rear或front等于队列长度加1时,就把rear或front值置为1。因此在循环队列中,队头指针可以不不大于队尾指针,也可以不大于队尾指针。
(30)下列论述中对的是
A、循环队列是队列一种链式存储构造
B、循环队列是队列一种顺序存储构造
C、循环队列是非线性构造
D、循环队列是一种逻辑构造
答案:B
解析:本题重要考查循环队列概念,循环队列作为队列一种也应当是线性构造。队列是一种逻辑构造,而循环队列是一种顺序存储构造队列。
(31)设循环队列存储空间为Q(1:35),初始状态为front=rear=35。现通过一系列入队与退队运算后,front=15,rear=15,则循环队列中元素个数为
A、15
B、16
C、20
D、0或35
答案:D
解析:循环队列队头指针和尾指针都等于15,此循环队列中元素个数有两种状况,第一种状况是队头指针和尾指针都是第一次到达15,此时元素个数为0;第二种状况是队头指针第一次到达15,而尾指针第二次到达15,此时元素个数为35。
(32)在一种容量为15循环队列中,若头指针front=6,尾指针rear=9,则循环队列中元素个数为
A、2
B、3
C、4
D、5
答案:B
解析:循环队列中,rear表达尾指针,front表达头指针,当有元素入队时,rear=rear+1,而元素出队时候,front=front+1,当rear值不不大于front值时,队列中元素个数为rear-front,当rear值不大于front时,列队中元素个数为rear-front+m(m表达队列容量)。
(33)下列论述中对的是
A、栈是一种先进先出线性表
B、队列是一种后进先出线性表
C、栈与队列都是非线性构造
D、栈与队列都是线性构造
答案:D
解析:栈是先进后出,队列是先进先出。栈和队列都是一种线性表,属于线性构造。
(34)下列论述中对的是
A、栈是“先进先出”线性表
B、队列是“先进后出”线性表
C、循环队列是非线性构造
D、有序线性表既可以采用顺序存储构造,也可以采用链式存储构造
答案:D
解析:栈是“先进后出”,队列“是先进先出”。栈和队列都是一种线性表,属于线性构造。有序线性表既可以采用顺序存储构造,也可以采用链式存储构造。采用链式存储构造线性表称之为线性链表。
(35)下列与队列构造关于联是
A、函数递归调用
B、数组元素引用
C、多重循环执行
D、先到先服务作业调度
答案:D
解析:队列中最先插入元素将最先被删除,最后插入元素将最后被删除。
(36)下列论述中对的是
A、循环队列中元素个数随队头指针与队尾指针变化而动态变化
B、循环队列中元素个数随队头指针变化而动态变化
C、循环队列中元素个数随队尾指针变化而动态变化
D、循环队列中元素个数不会变化
答案:A
解析:所谓循环构造就是将队列存储空间最后一种位置绕到第一种位置上,形成逻辑上环状空间,循环使用。在循环队列中,用队尾指针rear指向队列中队尾元素,用队头指针front指向队头元素前一种位置,因而,队列中元素数等于从队头指针front指向后一种位置与队尾指针rear指向位置之间元素数量。
(37)下列关于线性链表论述中,对的是
A、各数据结点存储空间可以不持续,但它们存储顺序与逻辑顺序必要一致
B、各数据结点存储顺序与逻辑顺序可以不一致,但它们存储空间必要持续
C、进行插入与删除时,不需要移动表中元素
D、以上都不对的
答案:C
解析:线性表链式存储构造称为线性链表。在链式存储构造中,存储数据构造存储空间可以不持续,各数据结点存储顺序与数据元素之间逻辑关系可以不一致,而数据元素之间逻辑关系是由指针域来拟定。
(38)下列论述中对的是
A、线性表链式存储构造存储空间普通要少于顺序存储构造
B、线性表链式存储构造与顺序存储构造存储空间都是持续
C、线性表链式存储构造存储空间可以是持续,也可以是不持续
D、以上都不对的
答案:C
解析:线性表存储分为顺序存储和链式存储。在顺序存储中,所有元素所占存储空间是持续。而在链式存储方式中,将存储空间每一种存储结点分为两某些,一某些用于存储数据元素值,称为数据域;另一某些用于存储下一种元素存储序号,称为指针域。因此线性表链式存储方式比顺序存储方式存储空间要大某些。
(39)下列论述中对的是
A、线性表链式存储构造与顺序存储构造所需要存储空间是相似
B、线性表链式存储构造所需要存储空间普通要多于顺序存储构造
C、线性表链式存储构造所需要存储空间普通要少于顺序存储构造
D、以上都不对的
答案:B
解析:线性表存储分为顺序存储和链式存储。在顺序存储中,所有元素所占存储空间是持续。而在链式存储方式中,将存储空间每一种存储结点分为两某些,一某些用于存储数据元素值,称为数据域;另一某些用于存储下一种元素存储序号,称为指针域。因此线性表链式存储方式比顺序存储方式存储空间要大某些。
(40)下列论述中对的是
A、线性表链式存储构造与顺序存储构造所需要存储空间是相似
B、线性表链式存储构造所需要存储空间普通要多于顺序存储构造
C、线性表链式存储构造所需要存储空间普通要少于顺序存储构造
D、上述三种说法都不对
答案:B
解析:线性表存储分为顺序存储和链式存储。在顺序存储中,所有元素所占存储空间是持续,各数据元素在存储空间中是按逻辑顺序依次存储。因此每个元素只存储其值就可以了,而在链式存储方式中,将存储空间每一种存储结点分为两某些,一某些用于存储数据元素值,称为数据域;另一某些用于存储下一种元素存储序号,称为指针域。因此线性表链式存储方式比顺序存储方式存储空间要大某些。
(41)下列对于线性链表描述中对的是
A、存储空间不一定持续,且各元素存储顺序是任意
B、存储空间不一定持续,且前件元素一定存储在后件元素前面
C、存储空间必要持续,且前件元素一定存储在后件元素前面
D、存储空间必要持续,且各元素存储顺序是任意
答案:A
解析:普通来说,在线性表链式存储构造中,各数据结点存储序号是不持续,并且各结点在存储空间中位置关系与逻辑关系也不一致。在线性链表中,各数据元素之间先后件关系是由各结点指针域来批示,指向线性表中第一种结点指针head称为头指针,当head=NULL(或0)时称为空表。
(42)下列论述中对的是
A、顺序存储构造存储一定是持续,链式存储构造存储空间不一定是持续
B、顺序存储构造只针对线性构造,链式存储构造只针对非线性构造
C、顺序存储构造能存储有序表,链式存储构造不能存储有序表
D、链式存储构造比顺序存储构造节约存储空间
答案:A
解析:顺序存储方式重要用于线性数据构造,它把逻辑上相邻数据元素存储在物理上相邻存储单元里,结点之间关系由存储单元邻接关系来体现。而链式存储构造存储空间不一定是持续。
(43)下列链表中,其逻辑构造属于非线性构造是
A、二叉链表
B、循环链表
C、双向链表
D、带链栈
答案:A
解析:二叉链表作为树存储构造。链表中结点两个链域分别指向该结点第一种孩子结点和下一种兄弟结点。
(44)下列论述中对的是
A、有一种以上根结点数据构造不一定是非线性构造
B、只有一种根结点数据构造不一定是线性构造
C、循环链表是非线性构造
D、双向链表是非线性构造
答案:B
解析:在数据构造中,树此类数据构造只有一种根结点,但它不是线性构造。
(45)某系统总体构造图如下图所示:
该系统总体构造图深度是
A、7
B、6
C、3
D、2
答案:C
解析:这个系统总体构造图是一棵树构造,在树构造中,根结点在第1层,同一层上所有子结点都在下一层,由系统总体构造图可知,这棵树共3层。在树构造中,树最大层次称为树深度。因此这棵树深度为3。
(46)下列关于二叉树论述中,对的是
A、叶子结点总是比度为2结点少一种
B、叶子结点总是比度为2结点多一种
C、叶子结点数是度为2结点数两倍
D、度为2结点数是度为1结点数两倍
答案:B
解析:由二叉树性质可以懂得在二叉树中叶子结点总是比度为2结点多一种。
(47)某二叉树中有n个度为2结点,则该二叉树中叶子结点数为
A、n+1
B、n-1
C、2n
D、n/2
答案:A
解析:在任意一棵二叉树中,度为0结点(即叶子结点)总是比度为2结点多一种。因此该二叉树叶子结点数等于n+1。
(48)某二叉树有5个度为2结点,则该二叉树中叶子结点数是
A、10
B、8
C、6
D、4
答案:C
解析:依照二叉树性质,在任意二叉树中,度为0结点(即叶子结点)总是比度为2结点多一种。
(49)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1结点数为
A、16
B、10
C、6
D、4
答案:A
解析:依照二叉树性质,在任意二叉树中,度为0结点(即叶子结点)总是比度为2结点多一种,故此度为1结点个数=总结点数-叶子节点数-度为2节点数=25-5-4=16。
(50)一棵二叉树中共有80个叶子结点与70个度为1结点,则该二叉树中总结点数为
A、219
B、229
C、230
D、231
答案:B
解析:依照二叉树性质,在任意二叉树中,度为0结点(即叶子结点)总是比度为2结点多一种,故总结点数=叶子节点数+度为2节点数+度为1节点数=80+79+70=229。
(51)一棵二叉树中共有70个叶子结点与80个度为1结点,则该二叉树中总结点数为
A、219
B、221
C、229
D、231
答案:A
解析:在二叉树中,叶子结点个数为n0,则度为2结点数n2= n0-1。本题中叶子结点个数为70,因此度为2结点个数为69,因而总结点数=叶子结点数+度为1结点数+度为2 结点数=70+80+69=219。
(52)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树深度为(假设根结点在第1层)
A、3
B、4
C、6
D、7
答案:D
解析:依照二叉树性质,度为0结点(即叶子结点)总是比度为2结点多一种。题目中二叉树叶子结点为1,因而度为2结点数目为0,故该二叉树为7层,每层只有一种结点。
(53)某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树深度为(根结点在第1层)
A、3
B、6
C、8
D、12
答案:D
解析:依照二叉树性质,度为0结点(即叶子结点)总是比度为2结点多一种。题目中二叉树叶子结点为1,因而度为2结点数目为0,故该二叉树为12层,每层只有一种结点。
(54)设树T深度为4,其中度为1,2,3,4结点个数分别为4,2,1,1。则T中叶子结点数为
A、8
B、7
C、6
D、5
答案:B
解析:深度为m二叉树其总结点数为2m-1=24-1=15。总结点数减去度为1,2,3,4结点个数就是叶子结点数。15-4-2-1-1=7。
(55)设一棵完全二叉树共有700个结点,则此二叉树中叶子结点数为
A、85
B、120
C、250
D、350
答案:D
解析:① 具备n个结点完全二叉树深度为[long2n]+1,计算出该完全二叉树深度为10。
② 设度为0结点(即叶子结点)为n0,度为1结点为n1,度为2结点为n2,总结点数为n,深度为k。n=n1+n2+n0,由于n0=n2+1则n2=n0-1,故n=n1+n0-1+n0=n1+2n0-1。由于完全二叉树中度为1结点数只有两种也许:0或1。
③ 假设度为1结点数为0即满二叉树,依照满二叉树定义,其2m-1个结点,依照以上计算所得深度10来计算,应有210-1=1024-1=1023个结点,显然与题目中700个结点不符。因而,度为1结点数必然为1。
故n=n1+2n0-1=1+2n0-1=2n0,则n0=n/2=700/2=350。
(56)在深度为7满二叉树中,叶子结点个数为
A、32
B、31
C、64
D、63
答案:C
解析:所谓满二叉树是指这样一种二叉树:除最后一层外,每一层上所有结点均有两个子结点。也就是在满二叉树中,每一层上结点数都是最大结点数,即在满二叉树第k层上有2k-1个结点,且深度为m满二叉树有2m-1个结点。对于深度为7满二叉树,叶子结点所在是第7层,一共有27-1=64个叶子结点。所有结点共27-1=127个。
(57)对下列二叉树
进行前序遍历成果是
A、DYBEAFCZX
B、YDEBFZXCA
C、ABDYECFXZ
D、ABCDEFXYZ
答案:C
解析:二叉树前序遍历简朴描述:若二叉树为空,则结束返回;否则:①访问根结点;②前序遍历左子树;③前序遍历右子树。可见,前序遍历二叉树过程是一种递归过程。依照题目中给出二叉树构造可知前序遍历成果是ABDYECFXZ。
(58)对如下二叉树
进行后序遍历成果为
A、ABCDEF
B、DBEAFC
C、ABDECF
D、DEBFCA
答案:D
解析:所谓后序遍历是指在访问依照结点、遍历左子树与遍历右子树这三者中,一方面遍历左子树,然后遍历右子树,最后访问根结点,并且,在遍历左、右子树时,依然先遍历左子树,然后遍历右子树,最后访问根点。因而,后序遍历二叉树过程也是一种递归过程。其简朴描述为:若二叉树为空,则结束返回;否则,先后序遍历左子树,然后后序遍历右子树,最后访问根结点。对于后序遍历,第一种访问结点一定是最左下结点,最后一种访问结点一定是根结点,因此选项D)为对的答案。
(59)对长度为n线性表进行顺序查找,在最坏状况下所需要比较次数为
A、log2n
B、n/2
C、n
D、n+1
答案:C
解析:在进行顺序查找过程中,如果被查元素是线性表中最后一种元素,或者被查元素主线不在线性表中,则为了查找这个元素需要与线性表中所有元素进行比较,这是顺序查找最坏状况,需要比较次数为n次。
(60)在长度为64有序线性表中进行顺序查找,最坏状况下需要比较次数为
A、63
B、64
C、6
D、7
答案:B
解析:顺序查找又称顺序搜索。顺序查找普通是指在线性表中查找指定元素,其基本办法是:从线性表第一元素开始,依次将线性表中元素与被查找元素进行比较,若相等则表达找到(即查找成功),若线性表中所有元素都与被查元素进行了比较但都不相等,则表达线性表中没有要找元素(即查找失败)。如果线性表中第一种元素就是要查找元素,则只需要做一次比较就查找成功;但如果要查找元素是线性表中最后一种元素,或者要查找元素不在线性表中,则需要与线性表中所有元素进行比较,这是顺序查找最坏状况,比较次数为线性表长度。
(61)下列论述中对的是
A、对长度为n有序链表进行查找,最坏状况下需要比较次数为n
B、对长度为n有序链表进行对分查找,最坏状况下需要比较次数为(n/2)
C、对长度为n有序链表进行对分查找,最坏状况下需要比较次数为(log2n)
D、对长度为n有序链表进行对分查找,最坏状况下需要比较次数为(nlog2n)
答案:A
解析:本题重要考查知识点为查找技术。顺序查找使用状况:①线性表为无序表;②表采用链式存储构造。二分法查找只合用于顺序存储有序表,并不合用于线性链表。
(62)在长度为n有序线性表中进行二分查找,最坏状况下需要比较次数是
A、O(n)
B、O(n2)
C、O(log2n)
D、O(nlog2n)
答案:C
解析:对于长度为n有序线性表,在最坏状况下,二分法查找只需比较log2n次,而顺序查找需要比较n次。
(63)下列数据构造中,能用二分法进行查找是
A、顺序存储有序线性表
B、线性链表
C、二叉链表
D、有序线性链表
答案:A
解析:二分法查找只适应于顺序存储有序表。有序表是指线性表中元素按值非递减排序(即从小到大,但容许相邻元素值相等)表。
(64)冒泡排序在最坏状况下比较次数是
A、n(n+1)/2
B、nlog2n
C、n(n-1)/2
D、n/2
答案:C
解析:对n个结点线性表采用冒泡排序,在最坏状况下,冒泡排序需要通过 n/2遍从前去后扫描和n/2遍从后往前扫描,需要比较次数为n(n-1)/2。
(65)对长度为10线性表进行冒泡排序,最坏状况下需要比较次数为
A、9
B、10
C、45
D、90
答案:C
解析:线性表长度为n,最坏状况下冒泡排序需要比较次数为n(n-1)/2。
(66)对于长度为n线性表,在最坏状况下,下列各排序法所相应比较次数中对的是
A、冒泡排序为n/2
B、冒泡排序为n
C、迅速排序为n
D、迅速排序为n(n-1)/2
答案:D
解析:假设线性表长度为n,则在最坏状况下,冒泡排序需要通过n/2遍从前去后扫描和n/2遍从后往前扫描,需要比较次数为n(n-1)/2。迅速排序法也是一种互换类排序办法,但由于它比冒泡排序法速度快,因而,称为迅速排序法。
(67)对长度为n线性表作迅速排序,在最坏状况下,比较次数为
A、n
B、n-1
C、n(n-1)
D、n(n-1)/2
答案:D
解析:假设线性表长度为n,则在最坏状况下,冒泡排序需要通过n/2遍从前去后扫描和n/2遍从后往前扫描,需要比较次数为n(n-1)/2。迅速排序法也是一种互换类排序办法,但由于它比冒泡排序法速度快,因而,称为迅速排序法。
(68)对长度为n线性表排序,在最坏状况下,比较次数不是n(n-1)/2排序办法是
A、迅速排序
B、冒泡排序
C、直接插入排序
D、堆排序
答案:D
解析:各种排序办法中最坏状况下需要比较次数分别为:冒泡排序n(n-1)/2、迅速排序n(n-1)/2、简朴插入排序n(n-1)/2、希尔排序O(n1.5)、简朴选取排序n(n-1)/2、堆排序O(nlog2n)。
(69)下列排序办法中,最坏状况下比较次数至少是
A、冒泡排序
B、简朴选取排序
C、直接插入排序
D、堆排序
答案:D
解析:冒泡排序、简朴选取排序和直接插入排序法在最坏状况下比较次数为:n(n-1)/2。而堆排序法在最坏状况下需要比较次数为O(nlog2n)。其中堆排序比较次数至少。
(70)下列论述中对的是
A、程序执行效率与数据存储构造密切有关
B、程序执行效率只取决于程序控制构造
C、程序执行效率只取决于所解决数据量
D、以上都不对的
答案:A
解析:影响程序执行效率因素有诸多,如数据存储构造、程序解决数据量、程序算法等。顺序存储构造和链式存储构造在数据插入和删除操作上效率就存在差别。其中,链式存储构造效率要高某些。
(71)下列描述中,不符合良好程序设计风格规定是
A、程序效率第一,清晰第二
B、程序可读性好
C、程序中要有必要注释
D、输入数据前要有提示信息
答案:A
解析:普通来讲,程序设计风格是指编写程序时所体现出特点、习惯和逻辑思路。程序设计风格总体而言应当强调简朴和清晰,程序必要是可以理解。知名“清晰第一,效率第二”论点已成为当今主导程序设计风格。
(72)构造化程序所规定基本构造不涉及
A、顺序构造
B、GOTO跳转
C、选取(分支)构造
D、重复(循环)构造
答案:B
解析:构造化程序基本构造有:顺序构造、选取构造和循环构造,没有GOTO跳转构造。
(73)下列选项中不属于构造化程序设计原则是
A、可封装
B、自顶向下
C、模块化
D、逐渐求精
答案:A
解析:构造化设计办法重要原则可以概括为自顶向下、逐渐求精、模块化、限制使用goto语句。
(74)构造化程序设计基本原则不涉及
A、多元性
B、自顶向下
C、模块化
D、逐渐求精
答案:A
解析:构造化程序设计办法重要原则可以概括为:自顶向下,逐渐求精,模块化和限制使用GOTO语句,其中不涉及多态性。
(75)下列选项中不属于构造化程序设计办法是
A、自顶向下
B、逐渐求精
C、模块化
D、可复用
答案:D
解析:构造化程序设计办法重要原则可以概括为:自顶向下,逐渐求精,模块化,限制使用goto语句。自顶向下是指程序设计时应先考虑总体,后考虑细节;先考虑全局目的,后考虑局部目的。逐渐求精是指对复杂问题应设计某些子目的过渡,逐渐细化。模块化是把程序要解决总目的先分解成分目的,再进一步分解成详细小目的,把每个小目的称为一种模块。可复用性是指软件元素不加修改成稍加修改便可在不同软件开发过程中重复使用性质。软件可复用性是软件工程追求目的之一,是提高软件生产效率最重要办法,不属于构造化程序设计办法。
(76)构造化程序设计中,下面对goto语句使用描述对的是
A、禁止使用goto语句
B、使用goto语句程序效率高
C、应避免滥用goto语句
D、goto语句的确一无是处
答案:C
解析:滥用goto语句的确有害,应尽量避免;完全避免使用goto语句并非是明智办法,有些地方使用goto语句会使程序流程更清晰、效率更高;争论焦点不应当放在与否取消goto语句,而应当放在用在什么程序构造上。
(77)下列选项中不符合良好程序设计风格是
A、源程序要文档化
B、数据阐明顺序要规范化
C、避免滥用goto语句
D、模块设计要保证高耦合、高内聚
答案:D
解析:普通来讲,程序设计风格是指编写程序时所体现出特点、习惯和逻辑思路。程序设计风格总体而言应当强调简朴和清晰,程序必要是可以理解。可以以为,知名“清晰第一、效率第二”论点已成为当今主导程序设计风格。良好程序设计风格重要应注重和考虑下列几种因素:①源程序文档化,涉及下列三个方面:A)符号命名应具备一定含义;B)对的注释可以协助读者理
展开阅读全文