谈谈算法

186 阅读2分钟

那什么是算法呢?

算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 简单来说就是泡妞的技巧和方式

算法的五个特效

  1. 输入 算法具有零个或者多个输入
  2. 输出 算法是一定要输出的,输出的形式可以是打印,也可以是返回一个值或者多个值等
  3. 有穷性 指算法执行有限的步骤之后,自动结束而不会出现无限循环,并且每个步骤在可接受的时间内完成。
  4. 确定性 a. 算法的每个步骤都具有确定的含义,不会出现二义性 b. 算法在一定条件下,只有一条执行路径,相同的输入只能有唯一的输出结果 c. 算法的每个步骤都应该被精确定义而无歧义
  5. 可行性 算法的每一步都是必须执行的,也就是说,每一步都能够通过执行有限次数完成

算法的要求

  1. 正确性
    1. 算法的正确性是指至少应该具有输入、输出和加工处理无歧义性,能正确反应问题的需求,能够得到正确的答案
    2. 大体分为4个层次
      1. 算法程序没有语法错误
      2. 对于合法输入能够产生满足要求的输出
      3. 对于非法输入能够产生满足规格的说明
      4. 对于故意刁难的测试输入都有满足要求的输出结果
  2. 可读性 便于阅读、理解交流
  3. 健壮性 当输入数据不合法时,算法也能做出相关的处理,而不是产生异常、崩溃或者莫名其妙的结果
  4. 时间效率高和存储量低