二级基础复习.docx
- 文档编号:26881227
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:43
- 大小:54.62KB
二级基础复习.docx
《二级基础复习.docx》由会员分享,可在线阅读,更多相关《二级基础复习.docx(43页珍藏版)》请在冰豆网上搜索。
二级基础复习
第一章数据结构与算法
习题部分
一、选择题
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)以下数据结构中不属于线性数据结构的是______。
A.队列B.线性表C.二叉树D.栈
9)线性表L=(a1,a2,a3,```````ai,``````an),下列说法正确的是______。
A.每个元素都有一个直接前件和直接后件
B.线性且中至少要有一个元素
C)表中诸元素的排列顺序必须是由小到大或由大到小
D)除第一个和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件
10)下列叙述中正确的是______。
课后练习题
A.线性表是线性结构B.栈与队列是非线性结构
C.线性链表是非线性结构D.二叉树是线性结构
11)下列关于栈的叙述中正确的是______。
课后练习题
A.在栈中只能插入数据B.在栈中只能删除数据
C.栈是先进先出的线性表D.栈是先进后出的线性表
12)下列数据结构中,按先进后出原则组织数据的是_____。
A.线性链表B.栈C.循环链表D.顺序表
13)栈的插入和删除操作在_____进行。
A.栈顶B.栈底C.任意位置D.指定位置
14)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是______。
A.ABCEDB.DBCEAC.CDABED.DCBEA
15)如果进栈序列为e1,e2,e3,e4,假定进栈和出栈可以穿插进行,则可能的出栈序列是______。
A.e3,e1,e4,e2B.e2,e4,e3,e1C.e3,e4,e1,e2D.任意顺序
16)一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。
而实现递归调用中的存储分配通常用______。
A)栈B)堆C)数组D)链表
17)栈通常采用存储结构是______。
A)顺序存储结构和链表存储结构B)散列方式和索引方式
C)链表存储结构和数组D)线性存储结构和非线性存储结构
18)下列关于栈的描述正确的是______。
A)在栈中只能插入元素而不能删除元素
B)在栈中只能删除元素而不能插入元素
C)栈是特殊的线性表,只能在一端插入或删除元素
D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素
19)设一数列的顺序为1,2,3,4,5,6,通过队列操作可以得到______的输出序列。
A)3,2,5,6,4,1B)1,2,3,4,5,6
C)6,5,4,3,2,1D)4,5,3,2,6,1
20)下列关于队列的叙述中正确的是______。
课后练习题
A.在队列中只能插入数据B.在队列中只能删除数据
C.队列是先进先出的线性表D.队列是先进后出的线性表
21)栈和队列的共同点是______。
A.都是先进后出B.都是先进先出
C.只允许在端点处插入和删除元素D.没有共同点
22)串的长度是______。
A)串中不同字符的个数B)串中不同字母的个数
C)串中所含字符地的个数且字符个数大于零D)串中所含字符的个数
23)对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为____。
课后练习题
A.N+1B.NC.(N+1)/2D.N/2
24)数据的存储结构是指______。
课后练习题
A.数据所占的存储空间量B.数据的逻辑结构在计算机中的表示
C.数据在计算机中的顺序存储方式D.存储在外存中的数据
25)下列叙述中正确的是______。
A)一个逻辑数据结构只能有一种存储结构
B)数据的逻辑结构属于线性结构,存储结构属于非线性结构
C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
26)数据结构中,与所使用的计算机无关的是数据的______。
A.存储结构B.物理结构C.逻辑结构D.物理和存储结构
27)数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据通信结构进行的运算,以及______。
A)数据的存储结构B)计算方法
C)数据映象D)逻辑存储
28)线性表的顺序存储结构和线性表的链式存储结构分别是______。
A.顺序存取的存储结构、顺序存取的存储结构
B.随机存取的存储结构、顺序存取的存储结构
C.随机存取的存储结构、随机存取的存储结构
D.任意存取的存储结构、任意存取的存储结构
29)以下关于顺序存储结构的叙述中,______是不正确的。
A.存储密度大
B.逻辑上相邻的结点物理上不必相邻
C.可以通过计算机直接确定第i个结点的存储地址
D.插入、删除运算操作不方便
30)某线性表采用顺序存储结构,每个元素占4个存储单元,若第一个元素的地址为100,则第12个元素的存储地址为______。
A.144B.145C.147D.148
31)在单链表中,增加头结点的目的是______。
A.方便运算的实现B.使单链表至少有一个结点
C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现
32)用链表表示线性表的优点是______。
A.便于插入和删除操作B.数据元素的物理顺序与逻辑顺序相同
C.花费的存储空间较顺序存储少D.便于随机存取
33)链表不具有的特点是_________。
A)不必事先估计存储空间B)可随机访问任一元素
C)插入删除不需要移动元素D)所需空间与线性表长度成正比
34)循环链表的主要优点是_________。
A)不再需要头指针
B)从表中任一结点出发都能访问到整个链表
C)在进行插入、删除运算时,能更好的的保证链表不断开
D)已知某个结点的位置后,能够容易的找到它的直接前件
35)树最适合用来表示()
A.有序数据元素B.无序数据元素
C.元素之间具有分支层次关系的数据D.元素之间无联系的数据
36)树是结点的集合,它的根结点数目是________。
A)有且只有1B)1或多于1C)0或1D)至少2
37)有关二叉树的下列说法正确的是()
A)二叉树的度为2B)一棵二叉树的度可以小于2
C)二叉树中任何一个结点的度都为2D)任何一棵二叉树中至少有一个结点的度为2
38)具有3个结点的二叉树有________。
A)2种形态B)4种形态C)7种形态D)5种形态
39)在一棵二叉树上第5层的结点数最多是______。
A.8B.16C.32D.15
分析:
二叉树的性质:
第k层上最多有2k-1个结点。
40)在深度为5的满二叉树中,叶子结点的个数为______。
课后练习题
A.32B.31C.16D.15
分析:
满二叉树每一层结点都是最大值,叶子结点只在最底层,即第5层,个数为
2k-1个
41)深度为5的二叉树至多有______个结点。
课后练习题
A.32B.31C.16D.10
分析:
二叉树的性质:
深度为m的二叉树最多有2m-1个结点。
42)设树T的度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1.则T的叶子结点数为______.课后练习题
A.8B.7C.6D.5
43)设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______。
A.349B.350C.255D.351
44)一棵带编号的完全二叉树有100个结点(从根结点开始,根结点为1,按层次依次给结点进行编号),则编号为99的结点,它的父结点的编号是______。
A.49B.50C.98D.99
45)一棵带编号的完全二叉树有100个结点(从根结点开始,根结点为1,按层次依次给结点进行编号),则编号为48的结点,它的左子结点的编号是______。
A.49B.50C.96D.97
46)设有下列二叉树:
课后练习题
对此二叉树中序遍历的结果为______。
A.abcdefB.dbeafcC.abdecfD.debfca
注意:
写出前序遍历和后序遍历,前序:
abdfcf后序:
debfca
47)假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为_______。
A)log2nb)n2c)O(n1.5)d)n(n-1)/2
48)下列数据结构中,能用二分法进行查找的是_______。
A)顺序存储的有序线性表B)线性链表
C)二叉链表D)有序线性链表
49)最简单的交换排序方法是_______。
A)快速排序B)选择排序C)堆排序D)冒泡排序
50)希尔排序法属于哪一种类型的排序法______。
A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法
51)在下列几种排序方法中,要求内存量最大的是______。
A.插入排序B.选择排序C.快速排序D.归并排序
52)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是____。
A.堆排序B.直接插入排序C.快速排序D.直接选择排序
53) 下列叙述中正确的是 ____。
A) 算法的效率只与问题的规模有关,而与数据的存储结构无关
B) 算法的时间复杂度是指执行算法所需要的计算工作量
C) 数据的逻辑结构与存储结构是一一对应的
D) 算法的时间复杂度与空间复杂度一定相关
54)某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为
A)n+1 B)n-1 C)2n D)n/2
分析:
本题考察二叉树的性质,叶子节点即度为0的结点,根据性质3,在任意一颗二叉树中度为0的结点总是比度为2的结点多一个。
55)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为____。
A)219B)221C)229D)231
56)下列叙述中正确的是____。
A)数据的逻辑结构与存储结构必定是一一对应的
B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构
C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线线结构
D)以上三种说法都不对
57)下列叙述中正确的是____。
A)程序执行的效率与数据的存储结构密切相关
B)程序执行的效率只取决于程序的控制结构
C)程序执行的效率只取决于所处理的数据量
D)以上三种说法都不对
二、填空题
1)算法的复杂度主要包括时间复杂度和空间复杂度。
2)实现算法所需的存储单元多少和算法的工作量大小分别称为算法的空间复杂度和时间复杂度。
3)算法的基本特征是可行性、确定性、有穷性和拥有足够的情报。
4)数据结构包括数据的逻辑结构和数据的存储结构。
5)数据结构分为逻辑结构与存储结构,线性链表属于存储结构。
6)数据结构包括数据的逻辑结构、数据的存储结构以及对数据的操作运算。
7)数据的逻辑结构有线性结构和非线性结构两大类。
8)顺序存储方法是把逻辑上相邻的结点存储在物理位置相邻的存储单元中。
9)线性表的逻辑顺序与存储顺序总是一致的,这种说法是错误的(填正确或错误)。
10)在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有3个元素。
课后练习题
11)栈的基本运算有三种:
入栈、退栈和读出栈顶元素。
12)栈和认列通常采用的存储结构是顺序存储和链式存储。
13)当循环认列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。
这种情况称为是上溢。
14)对于顺序存储的栈,因为栈的空间是有限的,在进行入栈操作时,可能发生栈的上溢,在进行退栈操作时,可能发生栈的下溢。
15)在线性表的单链接存储结构中,每个结点都包含有两个域,一个域叫做数据域,另一个域叫做指针域。
16)在树形结构中,树根结点没有前件。
17)设一棵完全二叉树共有700个结点,则在该二*树中有350个叶子结点。
课后练习题
18)设一棵完全二叉树共有500个结点,则在该二叉树中有250个叶子结点。
19)在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:
前序遍历、中序遍历和后序遍历。
20)设一棵二*树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为DEBFCA。
课后练习题
21)设一棵完全二叉树共有n个结点,则该二叉树的深度为[log2n]+1。
22)排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、循环排序和选择排序等。
23)长度为N的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为N/2。
24)对长度为n的有序线性表中进行二分查找,需要的比较次数为log2n。
课后练习题
25)在最坏情况下,堆排序需要比较的次数为O(nlog2n)。
26)冒泡排序算法在最好的情况下的元素交换次数为0。
27)在最坏情况下,冒泡排序的时间复杂度为n(n-1)/2。
课后练习题
28)在深度为7的满二叉树中,度为2的结点个数为63。
29)线性表的存储结构主要分为顺序存储结构和链式存储结构.队列是一种特殊的线性表,循环队列是队列的顺序存储结构。
30)对下列二叉树进行中序遍历的结果为ACBDFEHGP。
第二章程序设计基础
习题部分
一、选择题
(1)下面描述中,符合结构化程序设计风格的是______。
A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B.模块只有一个入口,可以有多个出口
C.注重提高程序的执行效率D.不使用goto语句
(2)对建立良好的程序设计风格,下面描述正确的是______。
A.程序应简单、清晰、可读性好B.符号名的命名要符合语法
C.充分考虑程序的执行效率D.程序的注释可有可无
(3)在设计程序时,应采纳的原则之一是______。
A.程序结构应有助于读者理解B.不限制goto语句的使用
C.减少或取消注解行D.程序越短越好
(4)结构化程序设计主要强调的是______。
A.程序的规模B.程序的易读性
C.程序的执行效率D.程序的可移植性
(5)结构化程序流程图中一般包括三种基本结构,下述结构中哪一种不属于其基本结构?
A.顺序结构B.条件结构C.选择结构D.嵌套结构
(6)下列不属于结构化程序设计的主要原则的是___________
A.自顶向下B.模块化C.不使用GOTO语句D.逐步求精
(7)下面概念中,不属于面向对象方法的是______。
A.对象B.继承C.类D.过程调用
(8)对象是现实世界中一个实际存在的事物,它可以是有形的也可以是无形的,下面所列举的不是对象的是______。
A.桌子B.飞机C.狗D.苹果的颜色
(9)在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送______。
A.调用语句B.命令C.口令D.消息
10)面向对象的开发方法中,类与对象的关系是______。
A.具体与抽象B.抽象与具体C.整体与部分D.部分与整体
(11)信息隐蔽的概念与下述哪一种概念直接相关?
______。
A.软件结构定义B.模块独立性C.模块类型划分D.模块耦合度
(12)下面对对象概念描述错误的是______。
A.任何对象都必须有继承性B.对象是属性和方法的封装体
C.对象间的通讯靠消息传递D.操作是对象的动态性属性
(13)以下不属于对象的基本特点的是___。
A)分类性B)多态性C)继承性D)封装性
(14)面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是___。
A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念
C.使用现实世界的概念抽象地思考问题从而自然地解决问题
D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考
15)在面向对象的程序设计方法中,继承分为两类____
A.两重继承和多重继承B.单重继承和多重继承
C.传递性继承和可重用性继承D.父类继承和子类继承
二、填空题
(1)结构化程序设计的三种基本逻辑结构为顺序、选择和循环。
(2)结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化和限制使用goto语句。
(3)源程序文档化要求程序应加注释。
注释一般分为序言性注释和功能性注释。
(4)与结构化需求分析方法相对应的是结构性设计方法。
(5)面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个实例。
(6)在面向对象的方法出现以前,我们都是采用面向过程的程序设计方法。
(7)在面向对象方法中,信息隐蔽是通过对象的封装性来实现的。
(8)封装是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。
(9)在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求,称为消息。
(10)一个类可以从直接或间接的祖先中继承所有属性和方法。
采用这个方法提高了软件的可重用性。
(11)面向对象的模型中,最基本的概念是对象和类。
(12)类是一个支持集成的抽象数据类型,而对象是类的实例。
(13)在面向对象的程序设计中,类描述是具有相似性质的一组对象。
(14)在面向对象方法中,类之间共享属性和操作的机制称为继承。
(15)一个类只允许有一个父类,这样的继承称为单继承。
第三章软件工程基础
习题部分
一、选择题
(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)在软件生产过程中,需求信息的给出是______。
A)程序员B)项目管理者C)软件分析设计人员D)软件用户
(9)需求分析中,开发人员要从用户那里了解______。
A)软件做什么B)用户使用界面C)输入的信息D)软件的规模
(10)软件生命周期中所花费用最多的阶段是______。
A)详细设计B)软件编码C)软件测试D)软件维护
(11)软件需求分析阶段的工作,可以分为四个方面:
需求获取、需求分析、编写需求规格说明书以及______。
A.阶段性报告B.需求评审C.总结D.都不正确
(12)下面不属于软件工程的3个要素的是______。
A.工具B.过程C.方法D.环境
(13)下面不属于软件设计原则的是______。
A.抽象B.模块化C.自底向上D.信息隐蔽
(14)在结构化方法中,软件功能分解属于下列软件开发中的阶段是______。
A.详细设计B.需求分析C.总体设计D.编程调试
(15)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指______。
A.模块间的关系B.系统结构部件转换成软件的过程描述C.软件层次结构D.软件开发过程
(16)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为______。
A.PAD图B.N-S图C.结构图D.数据流图
(17)下列不属于结构化分析的常用工具的是______。
A.数据流图B.数据字典C.判定树D.PAD图
(18)下列叙述中,不属于软件需求规格说明书的作用的是______。
A.便于用户、开发人员进行理解和交流
B.反映出用户问题的结构,可以作为软件开发工作的基础和依据
C.作为确认测试和验收的依据D.便于开发人员进行需求分析
(19)在结构化方法的软件需求定义中,可采用分析工具来辅助完成。
下列工具中,常用的工具是______。
Ⅰ.数据流图Ⅱ.结构图Ⅲ.数据字典Ⅳ.判定表
A.Ⅰ和ⅢB.Ⅱ和ⅢC.Ⅰ,Ⅱ和ⅢD.Ⅰ,Ⅲ和Ⅳ
(20)在数据流图(DFD)中,带有名字的箭头表示__
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 基础 复习
![提示](https://static.bdocx.com/images/bang_tan.gif)