1.什么是算法
算法定义是一个有穷规则的集合,其规则确定一个解决某一个特定类型问题的操作序列。我的理解就是。算法是指我们通过一些的计算步骤,对同一个问题给出了一个相同的答案。为什么是要特别说明是同一个问题给出了相同的答案了。如果是同一个问题通过你的计算给出了不同的答案,那么就不是一个算法。因为结果不确定性。
算法的特性:
有穷性:指计算的时间步骤是有限的,不是无限的执行下去。
确定性:就是针对同一个问题,给出的结果是相同的。
可行性:我的感觉是算法是能够通过一些基本的操作方式。来实现对不同的输入进行计算。
从而得出结果
有输入:理解就是有参数来给算法进行计算
有输出:输入的参数有计算的结果进行输出。
算法的目标:
正确性:就是说设计的算法能够满足相关的需求。要如饭店里面,客人要麻婆豆腐,而你不能上一份家常豆腐一样。
健壮性:就是算法要有容错性。不能因为输入的参数的一场就导致算法出现不能有结果输出异常等问题。
高时间效率:就是时间执行越快越好。
高空间效率:就是使用的计算占用的空间越小越好。但是空间和时间有是是矛盾的。所以以时间效率为第一标准。
所以算法我们往往要考虑算法的时间复杂度。