算法在计算中的作用
在决定学习算法导论之前,需要首先明确几个问题:
- 什么是算法?
- 为什么算法值得研究?
- 在计算机领域算法对于其他技术的作用是什么?
先问问自己是否清楚这些问题,是否对这些问题有求知欲,是否想深入研究,如果是请继续往下看,或许你能从中找到答案!
1.1 算法
非正式地说算法就是任何良定义的计算过程,换言之,涉及计算的皆可以称之为算法。
同时我们也可以把算法理解为一种工具,可以用于求解计算问题的工具。
OK,既然是求解工具,那么就会有输入和输出,他们又是如何定义的。
书本中给出了关于排序问题的形式定义:
如输入Lin = < 1, 2, 3, 4, 5, 6>,输出Lout = <6, 5, 4, 3, 2, 1>,可以看到算法对输入序列做了一个降序排列。那么形如Lin的序列可称为排序问题的一个实例。
在现实中有很多的算法问题,有共有的两个特征:
- 存在许多候选解,但大多数候选解没有解决手头的问题。寻找真正的解或最优解是个很大的挑战。
- 能解决实际应用的问题,如最短路径算法,在某些情况下可以解决快速、经济地出行。