数据结构与算法 第二章.ppt

--(完美WORD文档DOC格式,可在线免费浏览全文和下载)值得下载!

第二章 程序设计基本策略与方法 递归、逐步求精、分治是基本的算法(程序)设计策略与方法。许多复杂问题,使用它们都可迎刃而解。这几种策略与方法在后面要经常使用,这里先介绍它们的基本思想,进一步的例子将在后面的章节中见到。 2.1 算法的基本概念 2.1.1算法的概念 一、算法的概念 一个算法是规则的有穷序列,它为解决某一特定类型的问题规定了一个运算过程,并且具有下列特性: 有穷性:一个算法必须在执行有穷步之后结束。 确定性:算法的每一步必须是确切定义的,对于每种情况,有待执行的每种动作必须严格地和清楚地规定。 可行性:算法应该是可行的。 输入:一个算法有零个或多个输入,它们是在算法所需的初始量或被加工的对象的表示。 输出:一个算法有一个或多个输出,它们是与输入有特定关系的量 二 、什么是“好”的算法 通常,从下列几个方面衡量算法的优劣: 正确性。也称有效性,是指算法能满足具体问题的要求。 健壮性(鲁棒性)。是指对非法输入的抵抗能力。它强调的是,如果输入非法数据,算法应能加以识别并做出处理,而不是产生误动作或陷入瘫痪。 时间复杂度与空间复杂度。时间复杂度是指算法的运行的时间消耗,同一个问题,不同的算法可能有不同的时间复杂度。 2.1.2 算法时间复杂度与空间复杂度 简单地讲,算法的时间复杂度是指算法的运行的时间消耗的大小,但这里的“运行”,是指抽象的运行。一个算法在具

文档评论(0)

1亿VIP精品文档

相关文档