2011年计算机二级考试公共基础知识冲刺复习笔记(1)
文章作者 100test 发表时间 2011:03:10 16:04:37
来源 100Test.Com百考试题网
第1天:全部的基本概念
Point1:算法的基本概念
-5-考点精讲
1、算法:是指解题方案的准确而完整的描述。
(1)算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。程序也可以作为算法的一种描述,但程序通常还要考虑程序运行时的环境限制等。
(2)算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
2、算法的基本特征:
(1)可行性,例如1012 1-1012的问题
(2)确定性,算法中每一步骤都必须有明确定义,不允许有模棱两可的解释,不允许有多义性;例在特殊情况时,数学公式是正确的,但计算机就是无法操作。
(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义。例如1/3的无理数问题。
(4)拥有足够的情报。所有的各种可能情况都要考虑到。
3、一个算法的优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。
(1)算法的时间复杂度是指执行算法所需要的计算工作量,可以执行算法的过程中所需要的基本运算的执行次数来度量。分析算法工作量的方法有:平均性态分析、最坏情况分析。
(2)算法的空间复杂度是指执行这个算法所需要的内存空间。主要包括:算法程序所占的空间;输入的初始数据所占的空间;算法执行过程中所需要的额外空间。
真题分析
【真题1】算法的有穷性是指________。(2008年4月)
A)算法程序的长度是有限的
B)算法只能被有限的用户使用
C)算法程序的运行时间是有限的
D)算法程序所处理的数据量是有限的
解析:算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。
答案:C
【真题2】问题处理方案的正确而完整的描述称为__【5】__。(2005年4月)
解析:算法是问题处理方案正确而完整的描述。
答案:算法
【真题3】算法的空间复杂度是指________。(2009年9月)
A)算法程序中的语句或指令条数
B)算法在执行过程中所需要的临时工作单元数
C)算法在执行过程中所需要的计算机内部存储空间
D)算法所处理的数据量
-6-解析:算法的空间复杂度是指执行这个算法所需要的计算机内部存储空间(简称内存空间)。
答案:C
【真题4】下列叙述中正确的是________。(2007年3月)
A)数据的逻辑结构与存储结构是一一对应的
B)算法的时间复杂度与空间复杂度一定相关
C)算法的效率只与问题的规模有关,而与数据的存储结构无关
D)算法的时间复杂度是指执行算法所需要的计算工作量
解析:
1、算法的时间复杂度是指执行算法所需要的计算工作量。算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数;算法的空间复杂度一般是指执行这个算法所需要的内存空间。
2、算法的时间复杂度与空间复杂度并不相关。
3、数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间的关系,是独立于计算机的;数据的存储结构是研究数据元素和数据元素之间的关系如何在计算机中表示,它们并非一一对应。
4、算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。
答案:D
【真题5】下列叙述中正确的是________。(2006年9月)
A)一个算法的时间复杂度大,则其空间复杂度必定小
B)三种说法都不对
C)一个算法的空间复杂度大,则其时间复杂度也必定大
D)一个算法的空间复杂度大,则其时间复杂度必定小
解析:
1、时间复杂度是指一个算法执行时间的相对度量;空间复杂度是指算法在运行过程中临时占用所需存储空间大小的度量。
2、人们都希望选择一个既省存储空间、又节省执行时间的算法。然而,有时为了加快算法的运行速度,不得不增加空间开销;有时为了能有效地存储算法和数据,又不得不牺牲运行时间。时间和空间的效率往往是一对矛盾,很难做到两全。但是,这不适用于所有的情况,也就是说时间复杂度和空间复杂度之间虽然经常矛盾,但是二者不存在必然的联系。
答案:B
【真题6】算法复杂度主要包括时间复杂度和__【2】__复杂度。(2005年9月)
解析:算法的复杂度主要包括时间复杂度和空间复杂度。所谓算法的时间复杂度,是指执行算法所需要的计算工作量。一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间规模。
答案:空间
【真题7】算法的时间复杂度是指________。(2010年3月)
A)算法程序中的语句或指令条数-7-
B)算法在执行过程中所需要的基本运算次数
C)算法的执行时间
D)算法所处理的数据量
解析:算法复杂度包括时间复杂度和空间复杂度,是衡量一个算法好坏的度量。算法的时间复杂度主要是基本运算次数。
答案:B
#ff0000>