- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章自学辅助讲义1
2012
年
3
月全国二级
公共基础
内
部
教
程
(2012年 3 月打印版)
当前版本:2012-03-01
- 4 -
第
1
章 算法与数据结构
算法的基本概念
1、算法:是指解题方案的准确而完整的描述。
(1) 算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。程序也
可以作为算法的一种描述,但程序通常还要考虑程序运行时的环境限制等。
(2) 算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,是明确
的,此顺序将在有限的次数下终止。
2、算法的基本特征:
(1) 可行性,例如 10 +1-10 的问题
(2) 确定性,算法中每一步骤都必须有明确定义,不允许有模棱两可的解释,不允许有
多义性;例在特殊情况时,数学公式是正确的,但计算机就是无法操作。
(3) 有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合
理的执行时间的含义。例如 1/3 的无理数问题。
(4) 拥有足够的情报。所有的各种可能情况都要考虑到。
3、一个算法的优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改
进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。
(1) 算法的时间复杂度是指执行算法所需要的计算工作量,可以执行算法的过程中所需
要的基本运算的执行次数来度量。分析算法工作量的方法有:平均性态分析、最坏情况分
析。
(2) 算法的空间复杂度是指执行这个算法所需要的内存空间。主要包括:算法程序所占
的空间;输入的初始数据所占的空间;算法执行过程中所需要的额外空间。
真题分析
【真题 1】 算法的有穷性是指________。
A)算法程序的长度是有限的
B)算法只能被有限的用户使用
C)算法程序的运行时间是有限的
D)算法程序所处理的数据量是有限的
解析: 算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在
执行有限个步骤之后终止。
答案:C
【真题 2】 问题处理方案的正确而完整的描述称为__【5】__。 (2005 年 4 月)
解析: 算法是问题处理方案正确而完整的描述。
- 5 -
答案:算法
【真题 3】 算法的空间复杂度是指________。 (2009 年 9 月)
A)算法程序中的语句或指令条数
B)算法在执行过程中所需要的临时工作单元数
C)算法在执行过程中所需要的计算机内部存储空间
D)算法所处理的数据量
解析: 算法的空间复杂度是指执行这个算法所需要的计算机内部存储空间(简
称内存空间)。
答案:C
【真题 4】 下列叙述中正确的是________。 (2007 年 3 月)
A) 数据的逻辑结构与存储结构是一一对应的
B)算法的时间复杂度与空间复杂度一定相关
C)算法的效率只与问题的规模有关,而与数据的存储结构无关
D)算法的时间复杂度是指执行算法所需要的计算工作量
解析: 算法的时间复杂度是指执行算法所需要的计算工作量。算法的工作量用
算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模
的函数;算法的空间复杂度一般是指执行这个算法所需要的内存空间。算法的
时间复杂度与空间复杂度并不相关。数据的逻辑结构就是数据元素之间的逻辑
关系,它是从逻辑上描述数据元素之间的关系,是独立于计算机的;数据的存
储结构是研究数据元素和数据元素之间的关系如何在计算机中表示,它们并非
一一对应。算法的执行效率不仅与问题的规模有关,还与数据的存储结构有
关。
答案:D 【真题 5】 下列叙述中正确的是________。 (2006 年 9 月)
A)一个算法的时间复杂度大,则其空间复杂度必定小
B)三种说法都不对
C)一个算法的空间复杂度大,则其时间复杂度也必定大
D)一个算法的空间复杂度大,则其时间复杂度必定小
解析: 1、时间复杂度是指一个算法执行时间的相对度量;空间复杂度是指算
法在运行过程中临时占用所需存储空间大小的度量。
2、人们都希望选择一个既省存储空间、又节省执行时间的算法。然而,有时为
了加快算法的运行速度,不得不增加空间开销;有时为了能有效地存储算法和
数据,又不得不牺牲运行时间。时间和空间的效率往往是一对矛盾,很难做到
两全。但是,这不适用于所有的情况,也就是说时间复杂度和空间复杂度之间
虽然经常矛盾,但是二者不存在必然的联系。
答案:B
【真题 6】 算法复杂度主要包括时间复杂度和__【2】__复杂度。 (2005 年 9 月)
- 6 -
解析: 算法的复杂度主要包括时间复杂度和空间复杂度。所谓算法的时间复杂
度,是指执行算法所需要的计算工作量。一个算法的空间复杂度,一般是指执
行
文档评论(0)