Algorithm

---

Introduce

image-20210329184907254

What is Algorithm?

---算法是求解问题的步骤---

image-20210329185033475

算法的特性

  • 有穷性:一个算法必须在有穷步后结束,每一步必须在有穷时间内完成

    ---算法有穷而程序无穷---

  • 确定性:每条指令不能有歧义,即无论运行多少次,相同的输入总能得到相同的输出

  • 可行性:算法中描述的操作都可以通过已经实现的基本运算执行有限次实现

  • 输入

  • 输出

    ---回到上面的例子---

    step3中,由于并没有规定年龄相同的对象间的排列顺序,导致算法的确定性遭到破坏,因此,严格意义上其并不是一个算法

再看一个简单的类比,对于数学式 :
$$
y=f(x)
$$
其中:x其实就是输入,y则表示输出,而f()就是一个算法

一个好的算法应该具备哪些特性?

  • 正确性
  • 可读性
  • 健壮性:面对非法数据仍然具有反应和处理能力
  • 高效率与低存储要求:高效率对应时间复杂度低,低存储对应空间复杂度

知识回顾

image-20210329221441105

原文地址:https://www.cnblogs.com/potofsalt/p/14594666.html