算法定义与特性

算法是指解决问题的步骤描述,在计算机中表现为有限的指令序列。

算法具有五个基本特性:

  1. 输入:一个算法必须有零个或以上的输入。
  2. 输出:一个算法必须有一个或以上的输出,输出量是算法计算的结果。
  3. 明确性:算法的每个步骤都具有确定的含义,不会出现二义性。
  4. 有穷性:算法在执行有限的步骤之后会自动结束而不会出现无限循环,并且每一个步骤在可接受的时间内完成。。
  5. 可行性:算法的每一步都是可行的,也就是说,每一步都能够通过执行有限次数完成。

设计一个好的算法需要符合以下几点:

  • 正确性:算法至少应该具有输入、输出和加工处理无歧义性、能正确反映问题的需求、能够得到问题的正确答案。
  • 可读性:算法设计的另一目的是为了全球阅读、理解和交流。可读性高有助于人们理解算法,晦涩难懂的算法往往隐含错误,不易被发现且难于调试和修改。
  • 健壮性:当输入数据不合法时,算法也能做出相关的处理,不是产生异常或是莫名其妙的结果。
  • 时间效率高和存储量低:设计算法应尽量满足时间效率高和存储量低的需求。

算法复杂度


用于衡量算法的效率,包括时间复杂度与空间复杂度。

时间复杂度(Time Complexity):

  • 无标签