二级考试题-数据结构

合集下载

数据结构试题A

数据结构试题A

黑龙江大学信息科学与技术学院第二学历自学考试考试试卷数据结构与算法 课程(形式:闭卷)一、选择题(共20题,每题1分,共20分)1. 在关系R={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>,<04,10>}中,数据元素05,06的前驱是〖 〗。

A) 01 B) 02 C) 03 D) 042.下面用二元组表示的数据结构,属于何种结构〖 〗。

A={K,R}K={a,b,c,d,e,f}R={r}r={<a,b>,<a,c>,<a,d>,<a,e>,<a,f>,<f,e>,<f ,d>,<f,c>,<f,b>,<f,a>}A) 集合结构B) 线性结构 C) 树形结构 D) 图形结构3.在数据类型概念的定义中,数据类型是一种对数据的各方面的描述。

其中包括〖 〗。

A) 数据的来源 B) 数据的排列顺序C) 允许对数据施加的操作 D) 数据的应用4. 顺序存储的线性表L=(a 1,a 2,……,a n ),下列说法正确的是〖 〗。

A) 每个元素都有一个直接前驱和一个直接后继B) 线性表中至少要有一个元素C) 表中元素的排列顺序必须是由小到大或由大到小D) 元素的存储顺序与逻辑顺序相同5.计算一个算法的时间复杂度是指〖 〗。

A)统计一个算法执行时,实际占用的计算机时间B)计算一个算法中的循环步骤的次数C)统计算法中进行简单操作的次数D)一个算法运行时间的相对量度6.在一个长度为n的顺序表中,删除第i个元素(1≤i≤n+1)时,须向前移动的元素的个数是〖〗。

A) n-i B) n-i+1 C) n-i-1 D) i7.对顺序存储的线性表进行排序的有关叙述中,错误的是〖〗。

python二级考试试题3

python二级考试试题3

1.按照“后进先出”原则组织数据的数据结构是____栈双向链表二叉树队列正确答案:A2.以下选项的叙述中,正确的是在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况循环队列中元素的个数是由队头指针和队尾指针共同决定循环队列有队头和队尾两个指针,因此,循环队列是非线性结构正确答案:C3.关于数据的逻辑结构,以下选项中描述正确的是数据所占的存储空间量数据在计算机中的顺序存储方式数据的逻辑结构是反映数据元素之间逻辑关系的数据结构存储在外存中的数据正确答案:C4.以下选项中,不属于结构化程序设计方法的是逐步求精模块化可封装自顶向下正确答案:C5.以下选项中,不属于软件生命周期中开发阶段任务的是概要设计软件维护详细设计软件测试正确答案:B6.为了使模块尽可能独立,以下选项中描述正确的是模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强正确答案:A7.以下选项中叙述正确的是软件一旦交付就不需要再进行维护软件交付使用后其生命周期就结束软件维护指修复程序中被破坏的指令软件交付使用后还需要进行维护正确答案:D8.数据独立性是数据库技术的重要特点之一,关于数据独立性,以下选项中描述正确的是不同数据被存放在不同的文件中不同数据只能被对应的应用程序所使用以上三种说法都不对数据与程序独立存放正确答案:C9.以下选项中,数据库系统的核心是数据库管理系统数据库数据库管理员数据模型正确答案:A10.一间宿舍可以住多个学生,以下选项中描述了实体宿舍和学生之间联系的是一对多多对一多对多一对一正确答案:A11.以下选项中不是Python文件读操作方法的是readlinereadallreadtextread正确答案:C12.以下选项中说法不正确的是C语言是静态语言,Python语言是脚本语言编译是将源代码转换成目标代码的过程解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程静态语言采用解释方式执行,脚本语言采用编译方式执行正确答案:D13.以下选项中,不是Python语言特点的是变量声明:Python语言具有使用变量需要先定义后使用的特点平台无关:Python程序可以在任何安装了解释器的操作系统环境中执行黏性扩展:Python语言能够集成C、C++等语言编写的代码强制可读:Python语言通过强制缩进来体现语句间的逻辑关系正确答案:A14.拟在屏幕上打印输出“Hello World”,以下选项中正确的是print('Hello World')printf("Hello World")printf('Hello World')print(Hello World)正确答案:A15.IDLE环境的退出命令是esc()close()回车键exit()正确答案:D16.以下选项中,不符合Python语言变量命名规则的是keyword33_33_keyword_33keywordkeyword_33正确答案:B17.以下选项中,不是Python语言保留字的是whilecontinuegotofor正确答案:C18.以下选项中,Python语言中代码注释使用的符号是/*……*/!#关于Python语言的变量,以下选项中说法正确的是随时声明、随时使用、随时释放随时命名、随时赋值、随时使用随时声明、随时赋值、随时变换类型随时命名、随时赋值、随时变换类型正确答案:B20.Python语言提供的3个基本数字类型是整数类型、浮点数类型、复数类型整数类型、二进制类型、浮点数类型整数类型、二进制类型、复数类型整数类型、二进制类型、浮点数类型正确答案:A21.以下选项中,不属于IPO模式一部分的是Program (程序)Process (处理)Output (输出)Input (输入)正确答案:A22.以下选项中,属于Python语言中合法的二进制整数是0B10100B10190bC3F0b1708正确答案:A23.关于Python语言的浮点数类型,以下选项中描述错误的是浮点数类型表示带有小数的类型Python语言要求所有浮点数必须带有小数部分小数部分不可以为0浮点数类型与数学中实数的概念一致正确答案:C24.关于Python语言数值操作符,以下选项中描述错误的是x以下选项中,不是Python语言基本控制结构的是程序异常循环结构跳转结构顺序结构正确答案:C26.关于分支结构,以下选项中描述不正确的是if 语句中条件部分可以使用任何能够产生True和False的语句和函数二分支结构有一种紧凑形式,使用保留字if和elif实现多分支结构用于设置多个判断条件以及对应的多条执行路径if 语句中语句块执行与否依赖于条件判断正确答案:B27.关于Python函数,以下选项中描述错误的是函数是一段可重用的语句组函数通过函数名进行调用每次使用函数需要提供相同的参数作为输入函数是一段具有特定功能的语句组正确答案:C28.以下选项中,不是Python中用于开发用户界面的第三方库是PyQtwxPythonpygtkturtle正确答案:D29.以下选项中,不是Python中用于进行数据分析及可视化处理的第三方库是pandasmayavi2mxnetnumpy正确答案:C30.以下选项中,不是Python中用于进行Web开发的第三方库是Djangoscrapypyramidflask正确答案:B31.下面代码的执行结果是>>>+++8正确答案:D32.下面代码的执行结果是>>>s ="11+5in">>>eval(s[1:-2])611+5执行错误16正确答案:A33.下面代码的执行结果是>>>abs(-3+4j)执行错误正确答案:B34.下面代码的执行结果是>>>x =2>>>x *=3+5**21556819213正确答案:B35.下面代码的执行结果是ls=[[1,2,3],[[4,5],6],[7,8]]print(len(ls))3481正确答案:A36.下面代码的执行结果是a ="Python等级考试"b ="="c =">"print("{0:{1}{3}{2}}".format(a, b,25, c))Python等级考试===============>>>>>>>>>>>>>>>Python等级考试Python等级考试==============================Python等级考试正确答案:D37.下面代码的执行结果是:ls =["2020","","Python"](2020)([2020,"2020"])print(ls)['2020', '', 'Python', 2020]['2020', '', 'Python', 2020, [2020, '2020']]['2020', '', 'Python', 2020, ['2020']]['2020', '', 'Python', 2020, 2020, '2020']正确答案:B38.设文件内容如下:巴哈马,巴林,孟加拉国,巴巴多斯白俄罗斯,比利时,伯利兹下面代码的执行结果是:f = open("","r")ls =().split(",")()print(ls)['巴哈马', '巴林', '孟加拉国', '巴巴多斯\n白俄罗斯', '比利时', '伯利兹']['巴哈马,巴林,孟加拉国,巴巴多斯,白俄罗斯,比利时,伯利兹']['巴哈马', '巴林', '孟加拉国', '巴巴多斯', '\n', '白俄罗斯', '比利时', '伯利兹']['巴哈马', '巴林', '孟加拉国', '巴巴多斯', '白俄罗斯', '比利时', '伯利兹']正确答案:A39.下面代码的执行结果是:d ={}for i in range(26):d[chr(i+ord("a"))]= chr((i+13)%26+ ord("a"))for c in"Python":print(c, c), end="")CabuglPythonPabuglPlguba正确答案:D40.给出如下代码:while True:guess = eval(input())if guess ==0x452//2: break作为输入能够结束程序运行的是5530x452"0x452//2"break正确答案:A。

全国计算机二级考试各种真题汇总

全国计算机二级考试各种真题汇总

真题好好做,绝对受用。

考前多做,考后必过。

加油!!(1)下列叙述中正确的是________。

A) 程序设计就是编制程序B) 程序的测试必须由程序员自己去完成C) 程序经调试改错后还应进行再测试D) 程序经调试改错后不必进行再测试(2)下列数据结构中,能用二分法进行查找的是________。

A) 顺序存储的有序线性表B) 线性链表C) 二叉链表D) 有序线性链表(3)下列关于栈的描述正确的是________。

A) 在栈中只能插入元素而不能删除元素B) 在栈中只能删除元素而不能插入元素C) 栈是特殊的线性表,只能在一端插入或删除元素D) 栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(4)下列叙述中正确的是________。

A) 一个逻辑数据结构只能有一种存储结构B) 数据的逻辑结构属于线性结构,存储结构属于非线性结构C) 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D) 一个逻辑数据结构可有多种存储结构,且各种存储结构影响数据处理的效率(5)下列描述中正确的是________。

A) 软件工程只是解决软件项目的管理问题B) 软件工程主要解决软件产品的生产率问题C) 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D) 软件工程只是解决软件开发中的技术问题(6)在软件设计中,不属于过程设计工具的是________。

A) PDL(过程设计语言)B) PAD图C) N-S图D) DFD图(7)下列叙述中正确的是________。

A) 软件交付使用后还需要再进行维护B) 软件工具交付使用就不需要再进行维护C) 软件交付使用后其生命周期就结束D) 软件维护是指修复程序中被破坏的指令(8)数据库设计的根本目标是要解决________。

A) 数据共享问题B) 数据安全问题C) 大量数据存储问题D) 简化数据维护(9)设有如下关系表:则下列操作中正确的是________。

全国计算机二级考试数据结构与算法

全国计算机二级考试数据结构与算法

全国计算机二级考试第一章数据结构与算法1.一个算法一般都可以用_____、_____ 、 _____三种控制结构组合完成;解析顺序、选择分支、循环重复一个算法通常由两种基本要素组成:一是对数据对象的运算和操作,二是________;解析算法的控制结构在一般的计算机系统中,有算术运算、逻辑运算、关系运算和________四类基本的操作和运算;解析数据传输2.常用于解决“是否存在”或“有多少种可能”等类型的问题例如求解不定方程的问题的算法涉及基本方法是A.列举法 B.归纳法 C.递归法 D.减半递推法解析列举就是列举出所有可能性,将所有可能性统统列举出来,然后解决问题的方法;所以A3.根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的,这是算法设计基本方法中的____;解析列举法4.通过列举少量的特殊情况,经过分析,最后找出一般的关系的算法设计思想是A.列举法 B.归纳法 C.递归法 D.减半递推法解析B5.在用二分法求解方程在一个闭区间的实根时,采用的算法设计技术是A.列举法 B.归纳法 C.递归法 D.减半递推法解析二分法就是从一半处比较,减半递推技术也称分治法,将问题减半;所以D6.将一个复杂的问题归结为若干个简单的问题,然后将这些较简单的问题再归结为更简单的问题,这个过程可以一直做下去,直到最简单的问题为止,这是算法设计基本方法中的___;如果一个算法P显式地调用自己则称为___;如果算法P调用另一个算法Q,而算法Q又调用算法P,则称为_____.解析递归法直接递归间接递归调用7.算法中各操作之间的执行顺序称为_____;描述算法的工具通常有_____、_____ 、 _____;解析控制结构传统流程图、N-S结构化流程图、算法描述语言8.从已知的初始条件出发,逐步推出所要求的各中间结果和最后结果,这是算法设计基本方法中的解析递推法9.将问题的规模减半,而问题的性质不变,再重复“减半”的过程,这是算法设计基本方法中的解析减半递推技术10.通过对问题的分析,找出一个解决问题的线索,然后沿着这个线索逐步试探,对于每一步的试探,若试探成功,就得到问题的解,若试探失败,就逐步回退,换别的路线再试探,这是算法设计基本方法中的解析回溯法1.下列叙述中正确的是A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间解析顺序存储结构中各数据元素在存储空间中是按照逻辑顺序依次连续存放的,在链式存储结构中元素之间的关系通过指针来连接,所以不要求存储空间一定是连续的;顺序存储结构或链式存储结构既可以针对线性结构,也可以针对非线性结构,但像栈、队列这样的线性结构一般采用顺序存储结构但也可以采取链式结构;树、二叉树这样的非线性结构一般采用链式存储结构但也可以采用顺序存储结构;链式存储结构既可以存储无序表,也可以存储有序表,注意,链式存储结构存储的即使是有序表,也不能进行二分查找;链式存储结构比顺序存储结构要多使用存储空间,由于链式存储结构中要用额外空间来保存指针;所以A顺序存储方式主要用于线性的数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现;而链式存储结构的存储空间不一定是连续的;2.数据的存储结构是指A.存储在外存中的数据 B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表现解析数据的逻辑结构是指数据元素之间的逻辑关系的数据结构;数据的存储结构则是数据的逻辑结构在计算机中的物理实现,有时也称作数据的物理结构;两者的区别是数据的逻辑结构只涉及到数据之间抽象的数学关系,存储结构则涉及到如何在计算机中通过对数据的物理存储进行组织来表达数据元素之间的逻辑关系;比如在线性表的顺序存储中是利用物理存储空间上的连续性来表达线性表中数据的前后件关系;在线性表的链式存储中是通过指针域构成的逻辑链条来表达数据的前后件关系;一般的,一种数据的逻辑机构对应的物理实现,即数据的存储结构不止一种;所以D3.在长度为n的顺序存储结构的线性表中,要在第i1≤i≤n个元素之前插入一个新元素,则需要移动表中的个元素,表的长度变为;若删除表中的第i1≤i≤n个元素,则需要移动表中的个元素,表的长度变为;解析n-i+1 ;n+1;n-i;n-14.一个栈的初始状态为空;现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是A.12345ABCDE解析栈是按照“先进后出FILO”或“后进先出LIFO”的原则组织数据的,栈职能在栈顶插入数据称为入栈和删除数据称为出栈;现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素的出栈顺序是EDCBA54321;所以B5.下列关于栈的描述中错误的是A.栈是先进后出的线性表 B.栈职能顺序存储C.栈具有记忆作用 D.对栈的插入与删除操作中,不需要改变栈底指针解析栈是一种先进后出的线性表;栈既可以顺序存储,也可以链式存储;栈可以用开保护断点信息,具有记忆作用;只允许在栈顶插入和删除元素,所以对栈的插入与删除操作,不要用改变栈底指针1. 线性表的存储结构主要分为顺序存储结构和链式存储结构;队列是一种特殊是线性表,循环队列是队列的_______存储结构;解析顺序2.数据结构分为线性结构和非线性结构,带链的队列属于______解析线性总结:常用的数据结构比如:线性表、栈、队列是线性结构不管是采用顺序存储还是链式存储结构;树、二叉树、图都是非线性结构不管是采用顺序存储结构还是链式存储结构3.已知元素的入栈顺序为abcde,则下列哪种出栈顺序是不可能的A.edcba解析abcde依次入栈,再再次出栈,得到出栈顺序edcba,所以选项A可能;选项B,第一个出栈的是C,可以肯定栈中有b、a,等待入栈的是d、e,此时出栈的可能是b或dd入栈马上出栈,不可能是a,所以选项B不可能;选项C,第一个出栈的是d,可以肯定栈中有c、b、a,等待入栈的是e,此时出栈的可能是c或e,若c、b、a依次出栈,e入栈马上出栈,刚好得到出栈顺序dcbae,因此选项C可能;选项D,第一个出栈的是b,可以肯定栈中有a,等待入栈的是c、d、e,c、d、e分别入栈又出栈得到出栈顺序bcde,最后a 出栈,行号得到出栈顺序bcdea,所以选项D可能;因此本题正确答案是B;4.假如刚开始时栈为空,依次有A、B、C、D四个元素入栈,此时栈底指针指向元素___,栈顶指针值为___假如每个元素的长度为1;执行四次出栈操作后把E、F、G压入栈,问此时栈底指针指向元素___,此时栈的长度为___.解析A;4;E;35. 下列叙述中正确的是A.循环队列有对头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要对头指针就能反应队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由对头指针和队尾指针共同决定解析所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用;在循环队列中,用队尾指针rear 指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置,因此,从排头指针front指向的后一个位置直到队尾指针real指向的位置之间所有的元素均为队列中的元素;求解队列中元素个数的方法是:若front >rear,队列中有n-front+rear个元素其中n为循环队列的容量;若front <rear,队列中有real-front个元素;若front=rear,队列中有n个或0个元素;循环队列是线性结构;所以D6. 在一个容量为15的循环队列中,若头指针front=6,尾指针rear=4,则该循环队列中共有_____个元素;若front=4,rear=6,则该循环队列中有_____个元素;若front=6,rear=6,则该循环队列中共有_____个元素;解析本题主要考查对循环队列的存储形式和入队运算、出队运算的理解;求解队列中元素个数的方法是:1.若front>rear,队列中有n-front+rear个元素其中n为循环队列的容量;2.若front<rear,队列中有real-front个元素;3.若front=rear,队列中有n个或0个元素;循环队列是线性结构;所以 13;2;0或151. 下列对于线性链表的描述中正确的是A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的解析线性链表是通过增加一个指针域来把相邻的数据元素链接成一个线性序列;线性链表的这种结构使得它存储数据的空间可以是离散的,并不像顺序表那样一定要求物理上的连续空间;所以 A2.在线性链表的插入算法中,若要把结点q插在结点p后面,下列操作正确的是A.使结点p指向结点q,再使结点q指向结点p的后件结点B.使结点q指向p的后件结点,再使结点p指向结点qC.使结点q指向结点P,再使结点P指向结点q的后件结点D.使结点p指向q的后件结点,再使结点q指向结点p解析在修改结点指针域的操作中,有一个操作顺序的问题;比较选项A和B 只是操作顺序颠倒了一下;A中先使结点p指向q后,q就称为p新的后件结点了,原先通过结点p指向的后件结点与结点p脱节了那么后面的一步操作没有任何意义的;使结点q指向p的后件结点即使结点q成为自己的后件结点;按照B指定的顺序操作就不会出现引用结点p的指针域之前已经把它的值修改了的情形;至于C和D是命题者设计的干扰项想让考生把p 和d的顺序搞混;总结,做这种类型的试题,最好画图;插入结点:若结点p的后面是结点s,要在p和s之间插入结点q,一般先将结点q指向结点s,再讲结点p指向q,顺序不能颠倒; 删除结点:若结点p的后面是结点q,结点q的后面是结点s,若要删除结点q,只需将结点p指向s即可;3.在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为A.63解析只要是顺序查找不管线性表是有序还是无序,都是从表头到表尾逐个比较,若相同则结束查找,否则一直继续比较下一个表中元素,指导整个表都遍历完;对于长度为64的线性表,平均要进行64/2=321次比较,在最坏的情况下要进行64次比较;若采用二分折半查找,则最坏情况下需要比较的次数为log264=6次,弹药注意采用二分折半查找的条件,必须是线性表采用顺序存储结构,而且线性表中的元素要有序,这两个条件缺一不可;若对线性链表进行查找,则不管线性链表中的元素是有序还是无序职能采用顺序查找;因此本题B.4.在一个n×m的二维线性表中顺序查找一个数据元素的算法时间复杂度是n+m n×m n2 m2解析在一维线性表中顺序查找一个数据元素的算法时间复杂度是On,其中n是线性表的长度,二维线性表的顺序查找方法和一维线性表相似,只不过是多了一维罢了;在二维表中进行顺序查找有两个方法:一是把二维线性表看成是n个长度为m的一维线性表,顺序查找就是对这n个一维线性表依次实施顺序查找,因此它的算法时间复杂度是On ×Om= On×m;二是直接把n×m的二维线性看成一个n×m的一维线性表,那么在它当中用顺序查找法查找一个元素的算法时间复杂度是On×m;5.. 下列叙述中正确的是A.线性链表是线性的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构 D. 只有根结点的二叉树是线性结构解析线性表的链式存储结构称为线性链表;栈、队列、双向链表都是线性结构;树、二叉树不管它有多少个结点都是非线性结构;所以A6.下列关于链表结构的叙述正确的是A.线性链表、带链的栈和带链的队列的结点的结构都是相同的B. 双向链表也就是循环链表C.线性链表与带链的结点的结构是不同的D. 在循环链表中通过任意一个结点可以找到链表中其他所有的结点,而在双向链表中做不到这一点解析A、C线性链表、带链的栈和带链的队列:结点表示数据元素=数据域数据元素的映像+指针域指示后继元素存储位置;B、D双向链表:也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分表指向直接后继和直接前驱;循环链表:循环链表是另一种形式的链式存储结构,它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环;1.一棵度数为4的树,它的4度结点有1个,3度结点有2个,2度结点有3个,1度结点4个,问它的叶子结点有多少个A.5解析如果注意观察树的结构,你会发现树中的结点数总是比树中的分支数多,其实也可以这么理解:如果在根结点前面加一条分支线,那么分支数和结点数就一样多了;在树的结点里,n度结点可以射出条分支,叶子结点是0度结点,因此它射出的分支数为0;此题中指导了1到4度结点的个数,就可以计算出树的总分支数:4×1+3×2+2×3+1×4=20.因此树的总结点数是21,减去其他读书的结点数10就得到0度结点叶子结点的个数11了;所以D2.在深度为7的满二叉树中,叶子结点的个数为A.32解析在满二叉树中每层的结点数都达到最大值,而且叶子结点全部出现在最底层;第1层根结点所在的层有20个结点,第2层有21个结点,……第n 层有2n-1个结点;在深度为7的满二叉树中,第7层有27-1=64个结点全部是叶子结点,在深度为7的满二叉树中,共有27-1=64个结点,本题为C3.某二叉树有5个度为2的结点,则该项树中的叶子结点数是A.10解析根据二叉树的性质,在任意二叉树中,度为0的结点即叶子结点数总是比度为2的结点数多一个;所以C4.某二叉树中有n个度为2的结点,则该二叉树中的叶子结点为A.n+1 2解析二叉树具有这样一个性质:在任意一棵二叉树中,度为0的结点叶子结点总是比度为2的结点多一个;所以某二叉树中共有n个度为2的结点,则该二叉树的叶子结点数为n+1;所以本题为A5.一科二叉树中共有70个叶子结点和80个度为1的结点,该二叉树的总结点数为A.219解析二叉树具有这样一个性质:在任意一棵二叉树中,度为0的结点叶子结点总是比度为2的结点多一个;本题告知,叶子结点有70个,那度为2的结点既有69个,度为1的结点有80个,这颗二叉树共有70+69+80=219个结点;所以A6.在深度为7的满二叉树中,度为2的结点个数为解析满二叉树的定义是除最后一层外,每一层的所有结点都有两个子结点即每一层上的结点数均达到最大值;第1层根结点在第1层拥有的结点数是20=1,第2层拥有的结点数是21=2,第3层拥有的结点数是22=4,……,第n层拥有的结点数是2n-1;在深度为7的满二叉树中,叶子结点全部在第7层,其余结点都是2度结点;在满二叉树中,第7层拥有的结点数是27-1=64;二叉树具有这样一个性质:在任意一棵二叉树中,度为0的结点即叶子结点总是比度为2的结点多一个,所以度为2的结点个数为64-1=63;7.具有8个结点的完全二叉树中编号为4的结点的右子结点的编号为A.8 C.无此结点或9解析设完全二叉树共有n个结点,如果从根结点开始,按层序每一层从左到右用自然数1,2,…,n给结点进行编号i=1,2,…,n,有以下结论:1.若i=1,则该结点为根结点,它没有父结点;若i>1,则该结点的父结点编号为i/2;其中i/2表示取i/2的整数部分;2.若2i>n,该结点无左子结点也无右子结点;若2i≤n,则编号为i的结点的左子结点编号为2i;3.若2i+1>n,该结点无右子结点;若2i+1≤n,则编号为i的结点的右子结点编号为2i+1;所以本题为C1.设一棵二叉树的中序遍历结果为DBEACF,前序遍历结果为ABDECF,则后续遍历结果为解析我们可以根据前序遍历的结果ABDECF,确定第一个元素A是根结点,再看中序遍历的结果DBEACF,A前面的DBE应该在左子树,A后面的FC应该在右子树;根据前序遍历的结果和中序遍历的结果,我们可以推导出:A是根结点,B是A的左结点,D是B的左结点,E是B的右结点,C是A的右结点,F 是C的右结点;画出二叉图,对后续遍历的结果为DEBFCA.2.树是一种简单的______结构,在树中,所有数据元素之间的关系具有明显的______特征;解析非线性;层次3.拥有奇数个结点的完全二叉树中有4个内部结点非叶子结点,请问它的叶子结点数是解析5 分析由于完全二叉树是自上而下、自左而右的从1开始连续编码的,因此完全二叉树要么不存在一度结点当结点个数为奇数个数时,要么存在一个一度结点,而且唯一的一个一度结点就是最后编号为nn 为偶数的叶子结点的父结点;而在二叉树中零度结点个数总比二度结点个数多1,因此拥有4个二度结点的二叉树的叶子结点个数是4+1=5.总结,设n 为完全二叉树的结点数,n 0为叶子结点数,n 1为度为1的结点数,n 2为度为2的结点数,则n=n 0+n 1+n 2,n 0=n 2+1;若n 为奇数,则n 1=0;若n为偶数,则n 1=1注意一定要是完全二叉树;4. 设一棵完全二叉树共有700个结点,则在该二叉树中有个叶子结点;解析完全二叉树的特点:如果结点总数是偶数则度为1的结点N 1=1;如果结点总数为奇数,则N 1=0;二叉树始终n 0=n 2+1,n 2= n 0-1,结点总数= n 0+n 1+n 2将n 2= n 0-1,n 1=1代入公式;则有700= n 0 +1+n 0-1,所以n 0=3505. 具有16个结点的完全二叉树的深度为解析5;二叉树的特点:具有n 个结点的完全二叉树的深度为log 2n+1,所以具有16个结点的完全二叉树的深度为log 216+1=56. 在长度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是A .On n 2 log 2n nlog 2n解析对于长度为n 的线性表进行顺序查找,平均要进行n/2次比较,在最坏情况下要进行n次比较;对于长度为n的线性表进行二分查找,在最坏的n次比较但二分查找要求线性表是顺序存储的有序表;情况下要进行log2因此本题答案为C7.请写出用二分查找法在有序顺序表{1,2,3,4,6,8,9,11}中查找3的比较序列解析4,2,3;可采用擦去法做这类二分法查找序列的题:每次从序列中找出中间元素,刚开始时是4,由于3比4小,只能存在在4之前的序列中,于是把4以后的序列擦去,只剩下序列{1,2,3},在重复以上过程直到查找元素或是序列为空;1.通过相邻数据元素的交换逐步使线性表变成有序的排序方法是A.冒泡排序法B.简单选择排序法C.简单插入排序法D.希尔排序法解析冒泡排序法是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线性表变成有序,每次只能消除一个逆序;简单插入排序法,是将无序序列中的元素插入有序的线性表中,并依次与前面的元素进行比较,直到大于前面的元素为止,最多需要比较nn-1/2次;希尔排序法是简单插入排序法的优化,每进行依次可以消除多个逆序;简单选择排序法是指扫描整个线性表,从中选出最小的元素,将它交换到表的最前面,然后对剩下的子表采用同样的方法,直到子表空为止;2.冒泡排序在最坏情况下的比较次数是n+1/2 n-1/2 2解析对于长度为n的线性表,在最坏的情况下,冒泡排序需要进行的比较次数是nn-1/2;本题答案为C2.快速排序法属于A.选择类排序法B.交换类排序法C.插入类排序法D.归并类排序法解析交换类排序法包括冒泡和快速排序法;插入类排序法包括简单插入和希尔排序法;选择类排序法包括简单选择和堆排序法;本题为B3.下列排序方法中,最坏情况下比较次数最少的是A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序解析冒泡排序、简单选择排序和直接插入排序法在最坏的情况下的比较次数为nn-1/2;而堆排序法在最坏情况下的比较次数为Onlogn,本题为D24. 长度为10的顺序表的首地址是1023开始的,顺序表中每个元素的长度为2,在第4个元素前面插入一个元素和删除第7个元素后,顺序表的总长度还是不变;问顺序表中第5个元素在执行插入和删除操作后在顺序表中的存储地址是解析由于问的是原来顺序表中的第5个元素,它在插入操作后变成了第6个元素因为插入的元素在它前面;由于删除的第7个元素在它后面,不会影响它在顺序表中的排位;因此在执行插入和删除操作后原先顺序表中的第5个元素变成了新的顺序表中的第6个元素;再按照线性表的随机存取地址的计算公式ADDai=ADDa1+i-1×k计算ADDa6=ADDa1+6-1×2=1023+5×2=1033,所以选D5. _____是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止;解析算法6.在最坏的情况下,冒泡排序的时间复杂度为______,简单插入排序的时间复杂度为______,希尔排序的时间复杂度为______,简单选择排序的时间复杂度为______,堆排序的时间复杂度为______;n;解析 Onn-1/2;Onn-1/2;O;Onn-1/2;Onlog27.以下排序技术中属于交换类排序法的有______,属于插入类排序法的有______,属于选择类排序法的有_____;A.简单插入排序B.冒泡排序C.希尔排序D.堆排序E.快速排序F.简单选择排序解析BE;AC;DF7.算法中各操作之间的执行顺序称为;描述算法的工具通常有、、解析算法的控制结构;传统的流程图;N-S结构化流程图、算法描述语言1.请写出冒泡排序法对序列{5,1,7,3,1,6,9,3,2,7,6}进行第一遍扫描后的排序结果是_______.解析{1,1,5,3,2,6,7,3,6,7,9}分析冒泡排序法的基本过程:首先,从表头开始往后扫描线性表,在扫描过程中逐次比较相邻两个元素的大小,若前面的元素大于后面的元素,则将他们交换,这样最大者交换到了表的最后面;然后,从后往前扫描剩下的线性表,同样,在扫描过程中逐次比较相邻两个元素的大小若后面的元素小于前面的元素,则将他们交换看,这样最小者交换到了表的最前面;从前往后和从后往前扫描一个来回称为一遍;对剩下的线性表重复上述过程,直到剩下的线性表变为空为止,这样线性表就变为有序了;现在我们来看看对线性表{5,1,7,3,1,6,9,3,2,7,6}从前往后进行扫描的过程:5>1,5和1交换位置得到{1,5,7,3,1,6,9,3,2,7,6}5<7不管,继续往后扫描,扫描到77>3,7和3交换位置得到{1,5,3,7,1,6,9,3,2,7,6}7>1,7和1交换位置得到{1,5,3,1,7,6,9,3,2,7,6}7>6,7和6交换位置得到{1,5,3,1,6,7,9,3,2,7,6}7<9不管,继续往后扫描,扫描到9。

计算机二级考试真题及答案

计算机二级考试真题及答案

计算机二级考试真题1) 在下列选项中,哪个不是一个算法一般应该具有的基本特征 ______ 。

( )A. 确定性B. 可行性C. 无穷性D. 拥有足够的情报2) 下面叙述正确的是______ 。

( )A. 算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数(指的是算法所占用的空间)C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对3) 算法的空间复杂度是指______ 。

( )A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间4) 数据的存储结构是指______ 。

( )A. 数据所占的存储空间量B. 数据的逻辑结构在计算机中的表示C. 数据在计算机中的顺序存储方式D. 存储在外存中的数据5) 算法一般都可以用哪几种控制结构组合而成 ______ 。

( )A. 循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环6) 在计算机中,算法是指______ 。

( )A. 查询方法B. 加工方法C. 解题方案的准确而完整的描述D. 排序方法7) 算法分析的目的是______ 。

( )A. 找出数据结构的合理性B. 找出算法中输入和输出之间的关系C. 分析算法的易懂性和可靠性D. 分析算法的效率以求改进8) n 个顶点的强连通图的边数至少有 ______ 。

( )A. n-1B. n(n-1)C. nD. n+19) 数据结构中,与所使用的计算机无关的是数据的 ______ 。

( )A. 存储结构B. 物理结构C. 逻辑结构D. 物理和存储结构10)串的长度是______ 。

( )A. 串中不同字符的个数B. 串中不同字母的个数C. 串中所含字符的个数且字符个数大于零D. 串中所含字符的个数11)下列叙述中,错误的是 ______ ( )A. 数据的存储结构与数据处理的效率密切相关B. 数据的存储结构与数据处理的效率无关C. 数据的存储结构在计算机中所占的空间不一定是连续的D. 一种数据的逻辑结构可以有多种存储结构12)下列叙述中正确的是 ______ 。

python二级考试试题213831

python二级考试试题213831

x,y = y,xa,b = a,a + b print(a,b)和a = bb = a + b print(a,b)eval 函数的定义为:eval(source, globals=None, locals=None, /)def fact(n):if n==0:return1else:return n*fact(n-1)num =eval(input("请输入一个整数:"))print(fact(abs(int(num))))正确答案: D21.执行如下代码:import time print(time.time())import sys print(sys.Version)import system print(system.version)import system print(system.Version)x=0b1010print(x)正确答案: D32.下面代码的输出结果是x=10y=-1+2j print(x+y)正确答案: D33.下面代码的输出结果是x=3.1415926print(round(x,2),round(x))正确答案: D34.下面代码的输出结果是for s in"HelloWorld": if s=="W":breakprint(s, end="")a =1000000b ="-"print("{0:{2}^{1},}\n{0:{2}>{1},}\n{0:{2}<{1},}".fo rmat(a,30,b))---------------------1,000,0001,000,000-------------------------------1,000,000--------------------------------1,000,0001,000,000---------------------正确答案: D37.下面代码的输出结果是s=["seashell","gold","pink","brown","purple","to mato"]print(s[4:])正确答案: D38.执行如下代码:import turtle as t def DrawCctCircle(n): t.penup()t.goto(0,-n)t.pendown()t.circle(n)for i in range(20,80,20):DrawCctCircle(i)t.done()正确答案: B给出如下代码:fname = input("请输入要打开的文件: ")fo = open(fname,"r")for line in fo.readlines(): print(line)fo.close()fname = input("请输入要打开的文件: ")fo = open(fname,"r")for line in fo.readlines(): print(line)fo.close()fo = open("price2016bj.csv","w") ls =['AAA','BBB','CCC','DDD'] fo.write(",".join(ls)+"\n")fo.close()fr = open("price2016.csv","w")ls =[]for line in fo:line = line.replace("\n","")ls.append(line.split(","))print(ls) fo.close()fo = open("price2016bj.csv","r")ls =['AAA','BBB','CCC','DDD']fo.write(",".join(ls)+"\n")fo.close()Dfname = input("请输入要写入的文件: ") fo = open(fname,"w+")ls =["AAA","BBB","CCC"]fo.writelines(ls)for line in fo:print(line)fo.close()正确答案: A。

全国计算机等级考试二级Java语言程序设计真题精选5(含答案)

全国计算机等级考试二级Java语言程序设计真题精选5一、单项选择题1.下列数据结构中,属于非线性结构的是()。

A.双向链表B.循环链表C.二叉链表√D.循环队列解析:线性结构是指除了第一个和最后一个结点外,所有的元素都是首尾相连的,每一个结点只有一个前驱结点和一个后继结点。

线性表、栈、队列都是线性结构,循环链表和双向链表是线性表的链式存储结构;二叉链表是二叉树的存储结构,而二叉树是非线性结构,因为二叉树有些结点有两个后继结点,不符合线性结构的定义。

2.在下列链表中,能够从任意一个结点出发直接访问到所有结点的是()。

A.单链表B.循环链表√C.双向链表D.二叉链表解析:由于线性单链表的每个结点只有一个指针域,由这个指针只能找到其后继结点,但不能找到其前驱结点。

循环链表的最后一个结点的指针域指向表头结点,所有结点的指针构成了一个环状链,只要指出表中任何一个结点的位置就可以从它出发访问到表中其他所有的结点。

双向链表中的每个结点设置有两个指针,一个指向其前驱,一个指向其后继,这样从任意一个结点开始,既可以向前查找,也可以向后查找,在结点的访问过程中一般从当前结点向链尾方向扫描,如果没有找到,则从链尾向头结点方向扫描,这样部分结点就要被遍历两次,因此不符合题意。

二叉链表是二叉树的一种链式存储结构,每个结点有两个指针域,分别指向左右子结点,可见,二叉链表只能由根结点向叶子结点的方向遍历。

3.下列与栈结构有关联的是()。

A.数组的定义域使用B.操作系统的进程调度C.函数的递归调用√D.选择结构的执行解析:递归调用就是在当前的函数中调用自身并传给相应的参数,这一动作是层层进行的,直到满足一般情况的时才停止递归调用,开始从最后一个递归调用返回,函数调用是通过栈实现的。

4.下面对软件特点描述不正确的是()。

A.软件是一种逻辑实体,具有抽象性B.软件开发、运行对计算机系统具有依赖性C.软件开发涉及软件知识产权、法律及心理等社会因素D.软件运行存在磨损和老化问题√解析:软件具有以下特点:①软件具有抽象性,是一种逻辑实体;②软件没有明显的制作过程;③软件在使用期间不存在磨损、老化问题;④对硬件和环境具有依赖性;⑤软件复杂性高,成本昂贵;⑥软件开发涉及诸多的社会因素。

全国计算机等级考试二级Python真题及解析(3)

全国计算机等级考试二级Python真题及解析(3)一、选择题1. 按照“后进先出”原则组织数据的数据结构是____A栈B双向链表C二叉树D队列正确答案: A2. 以下选项的叙述中,正确的是A在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况B在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况C循环队列中元素的个数是由队头指针和队尾指针共同决定D循环队列有队头和队尾两个指针,因此,循环队列是非线性结构正确答案: C3. 关于数据的逻辑结构,以下选项中描述正确的是A数据所占的存储空间量B数据在计算机中的顺序存储方式C数据的逻辑结构是反映数据元素之间逻辑关系的数据结构D存储在外存中的数据正确答案: C4. 以下选项中,不属于结构化程序设计方法的是A逐步求精B模块化C可封装D自顶向下正确答案: C5. 以下选项中,不属于软件生命周期中开发阶段任务的是A概要设计B软件维护C详细设计D软件测试正确答案: B6. 为了使模块尽可能独立,以下选项中描述正确的是A模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱B模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱C模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强D模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强正确答案: A7. 以下选项中叙述正确的是A软件一旦交付就不需要再进行维护B软件交付使用后其生命周期就结束C软件维护指修复程序中被破坏的指令D软件交付使用后还需要进行维护正确答案: D8. 数据独立性是数据库技术的重要特点之一,关于数据独立性,以下选项中描述正确的是A不同数据被存放在不同的文件中B不同数据只能被对应的应用程序所使用C以上三种说法都不对D数据与程序独立存放正确答案: C9. 以下选项中,数据库系统的核心是A数据库管理系统B数据库C数据库管理员D数据模型正确答案: A10. 一间宿舍可以住多个学生,以下选项中描述了实体宿舍和学生之间联系的是A一对多B多对一C多对多D一对一正确答案: A11. 以下选项中不是Python文件读操作方法的是A readlineB readallC readtextD read正确答案: C12. 以下选项中说法不正确的是A C语言是静态语言,Python语言是脚本语言B 编译是将源代码转换成目标代码的过程C 解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程D 静态语言采用解释方式执行,脚本语言采用编译方式执行正确答案: D13. 以下选项中,不是Python语言特点的是。

python二级考试试题2

x,y = y,xa,b = a,a + b print(a,b)和a = bb = a + b print(a,b)eval 函数的定义为:eval(source, globals=None, locals=None, /)def fact(n):if n==0:return1else:return n*fact(n-1)num =eval(input("请输入一个整数:"))print(fact(abs(int(num))))正确答案: D21.执行如下代码:import time print(time.time())import sys print(sys.Version)import system print(system.version)import system print(system.Version)x=0b1010print(x)正确答案: D32.下面代码的输出结果是x=10y=-1+2j print(x+y)正确答案: D33.下面代码的输出结果是x=3.1415926print(round(x,2),round(x))正确答案: D34.下面代码的输出结果是for s in"HelloWorld": if s=="W":breakprint(s, end="")a =1000000b ="-"print("{0:{2}^{1},}\n{0:{2}>{1},}\n{0:{2}<{1},}".fo rmat(a,30,b))---------------------1,000,0001,000,000-------------------------------1,000,000--------------------------------1,000,0001,000,000---------------------正确答案: D37.下面代码的输出结果是s=["seashell","gold","pink","brown","purple","to mato"]print(s[4:])正确答案: D38.执行如下代码:import turtle as t def DrawCctCircle(n): t.penup()t.goto(0,-n)t.pendown()t.circle(n)for i in range(20,80,20):DrawCctCircle(i)t.done()正确答案: B给出如下代码:fname = input("请输入要打开的文件: ")fo = open(fname,"r")for line in fo.readlines(): print(line)fo.close()fname = input("请输入要打开的文件: ")fo = open(fname,"r")for line in fo.readlines(): print(line)fo.close()fo = open("price2016bj.csv","w") ls =['AAA','BBB','CCC','DDD'] fo.write(",".join(ls)+"\n")fo.close()fr = open("price2016.csv","w")ls =[]for line in fo:line = line.replace("\n","")ls.append(line.split(","))print(ls) fo.close()fo = open("price2016bj.csv","r")ls =['AAA','BBB','CCC','DDD']fo.write(",".join(ls)+"\n")fo.close()fname = input("请输入要写入的文件: ") fo = open(fname,"w+")ls =["AAA","BBB","CCC"]fo.writelines(ls)for line in fo:print(line)fo.close()正确答案: A。

国家计算机二级考试C语言公共基础最新题库—数据结构与运算

1.算法的有穷性是指()。

A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用本题答案为:A题目解析:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。

有穷性是指算法程序的运行时间是有限的。

2.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是(). A)快速排序B)冒泡排序C)直接插入排序D)堆排序本题答案为:D题目解析:在最坏的情况下,堆排序需要比较的次数为O(nlog2n),所以选择D)。

3.下列关于栈的叙述正确的是()。

答案:BA)栈按"先进先出"组织数据B)栈按"先进后出"组织数据C)只能在栈底插入数据D)不能删除数据本题答案为:B题目解析:栈是按照"先进后出"的原则组织数据的,只能在栈顶插入或删除数据,所以选择B)。

4.一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。

A)12345ABCDE B)EDCBA54321C)ABCDE12345 D)54321EDCBA本题答案为:B题目解析:栈是先进后出的原则组织数据,所以入栈最早的最后出栈,所以选择B)。

5.下列叙述中正确的是()。

A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定本题答案为:D题目解析:循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A)错误;在循环队列中只需要队头指针与队尾两个指针来共同反映队列中元素的动态变化情况,所以B)与C)错误。

6.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题(1) 下面叙述正确的是(C)A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对(2) 以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈(3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得A. 8B. 16C. 32D. 15(4) 下面描述中,符合结构化程序设计风格的是(A)A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率D. 不使用goto语句(11) 算法的时间复杂度是指(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数(12) 算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间(13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出A. 349B. 350C. 255D. 351(21) 下列叙述中正确的是(A)A. 线性表是线性结构B. 栈与队列是非线性结构C. 线性链表是非线性结构D. 二叉树是线性结构(22) 下列关于栈的叙述中正确的是(D)A. 在栈中只能插入数据B. 在栈中只能删除数据C. 栈是先进先出的线性表D. 栈是先进后出的线性表(23) 下列关于队列的叙述中正确的是(C)A. 在队列中只能插入数据B. 在队列中只能删除数据C. 队列是先进先出的线性表D. 队列是先进后出的线性表(24) 对建立良好的程序设计风格,下面描述正确的是(A) 注:P48A. 程序应简单、清晰、可读性好B. 符号名的命名要符合语法C. 充分考虑程序的执行效率D. 程序的注释可有可无(31) 算法一般都可以用哪几种控制结构组合而成(D) 注:P3A. 循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环(32) 数据的存储结构是指(B) 注:P13,要牢记A. 数据所占的存储空间量B. 数据的逻辑结构在计算机中的表示C. 数据在计算机中的顺序存储方式D. 存储在外存中的数据(33) 设有下列二叉树:图见书P46对此二叉树中序遍历的结果为(B)A. ABCDEFB. DBEAFCC. ABDECFD. DEBFCA(41) 在下列选项中,哪个不是一个算法一般应该具有的基本特征(C)A. 确定性B. 可行性C. 无穷性D. 拥有足够的情报(42) 希尔排序法属于哪一种类型的排序法(B)A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法(43) 在深度为5的满二叉树中,叶子结点的个数为(C)A. 32B. 31C. 16D. 15(44) 对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记A. N+1B. NC. (N+1)/2D. N/2(45) 信息隐蔽的概念与下述哪一种概念直接相关(B) 注:P74(51) 在计算机中,算法是指(C)A. 查询方法B. 加工方法C. 解题方案的准确而完整的描述D. 排序方法(52) 栈和队列的共同点是(C) 注:这一共同点和线性表不一样A. 都是先进后出B. 都是先进先出C. 只允许在端点处插入和删除元素D. 没有共同点(53) 已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是(A) 注:P38,前提要掌握三种遍历的方法A. cedbaB. acbedC. decabD. deabc(54) 在下列几种排序方法中,要求内存量最大的是(D) 注:要牢记,书中没有提到。

A. 插入排序B. 选择排序C. 快速排序D. 归并排序(55) 在设计程序时,应采纳的原则之一是(A) 注:和设计风格有关A. 程序结构应有助于读者理解B. 不限制goto语句的使用C. 减少或取消注解行D. 程序越短越好(61) 数据结构中,与所使用的计算机无关的是数据的(C)A. 存储结构B. 物理结构C. 逻辑结构D. 物理和存储结构(62) 栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是(D)A. ABCEDB. DBCEAC. CDABED. DCBEA(63) 线性表的顺序存储结构和线性表的链式存储结构分别是(B)A. 顺序存取的存储结构、顺序存取的存储结构B. 随机存取的存储结构、顺序存取的存储结构C. 随机存取的存储结构、随机存取的存储结构D. 任意存取的存储结构、任意存取的存储结构(64) 在单链表中,增加头结点的目的是(A)A. 方便运算的实现B. 使单链表至少有一个结点C. 标识表结点中首结点的位置D. 说明单链表是线性表的链式存储实现(66) 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为(B) 注:P82A. PAD图B. N-S图C. 结构图D. 数据流图(67) 数据处理的最小单位是(C) 注:数据项不可再分割A. 数据B. 数据元素C. 数据项D. 数据结构(71) 算法分析的目的是(D) 注:书中没有总结,但要牢记A. 找出数据结构的合理性B. 找出算法中输入和输出之间的关系C. 分析算法的易懂性和可靠性D. 分析算法的效率以求改进(72)链表不具有的特点是(B)A.不必事先估计存储空间B.可随机访问任一元素C.插入删除不需要移动元素D.所需空间与线性表长度成正比(73) 已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是(B)A. 堆排序B. 直接插入排序C. 快速排序D. 直接选择排序(74) 用链表表示线性表的优点是(A) 注:因为不需要移动元素A. 便于插入和删除操作B. 数据元素的物理顺序与逻辑顺序相同C. 花费的存储空间较顺序存储少D. 便于随机存取(81)根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成(C)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构(82)下列叙述中,错误的是(B)A.数据的存储结构与数据处理的效率密切相关B.数据的存储结构与数据处理的效率无关C.数据的存储结构在计算机中所占的空间不一定是连续的D.一种数据的逻辑结构可以有多种存储结构(83)线性表L=(a1,a2,a3,...ai,...an),下列说法正确的是(D)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件(84)线性表若采用链式存储结构时,要求内存中可用存储单元的地址(D)A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续不连续都可以(85)栈通常采用的两种存储结构是(A)A.顺序存储结构和链式存储结构B.散列方式和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构(86)下列数据结构中,按先进后出原则组织数据的是(B)A.线性链表B.栈C.循环链表D.顺序表(87)树是结点的集合,它的根结点数目是(C)A.有且只有1B.1或多于1C.0或1D.至少2(88)具有3个结点的二叉树有(D)A.2种形态B.4种形态C.7种形态D. 5种形态(89)设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为(B)A. 12B. 13C.14D. 15二、填空题(1) 算法的复杂度主要包括______复杂度和空间复杂度。

答:时间(2) 数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。

答:存储结构#物理结构(6) 在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、______遍历和后序遍历。

答:中序(11) 设一棵完全二叉树共有500个结点,则在该二叉树中有______个叶子结点。

答:250(12) 在最坏情况下,冒泡排序的时间复杂度为______。

答:n(n-1)/2#n*(n-1)/2#O(n(n-1)/2)#O(n*(n-1)/2)(16) 数据结构包括数据的______结构和数据的存储结构。

答:逻辑(21) 栈的基本运算有三种:入栈、退栈和______。

答:读栈顶元素#读栈顶的元素#读出栈顶元素(26) 实现算法所需的存储单元多少和算法的工作量大小分别称为算法的 _。

答:空间复杂度和时间复杂度(27) 数据结构包括数据的逻辑结构、数据的 ______以及对数据的操作运算。

答:存储结构(31) 算法的基本特征是可行性、确定性、______和拥有足够的情报。

答:有穷性(32) 顺序存储方法是把逻辑上相邻的结点存储在物理位置______的存储单元中。

答:相邻(37) 在最坏情况下,堆排序需要比较的次数为______。

答:O(nlog2n)(38) 若串s="Program",则其子串的数目是______。

答:29(41)数据的逻辑结构有线性结构和_______两大类。

答非线性结构(42)数据结构分为逻辑结构与存储结构,线性链表属于_______。

答:存储结构(43)数据的基本单位是_______。

答:元素(44)长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为______。

答:n/2(45)当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。

这种情况称为______。

答:上溢。

相关文档
最新文档