0%

《算法导论》| 第一章 算法在计算中的作用

算法

问题与算法

现实中有很多需要解决的问题,一个问题可以看作是对{输入}期待某一种{输出}的过程。算法是用来解决一个良好定义的计算问题的工具,在现实中有着实际应用。正确的算法描述了{输入}{输出}的转换关系。

衡量算法效率的常用标准是算法处理输入到得到输出所花费的时间

NP完全问题

一个问题可能有多种候选的解决算法,但是寻找正确的算法是一件不容易的事情。有一些问题至今没有已知的有效算法,即NP完全问题,且至今也没有人能证明NP完全问题的有效算法是不存在的。

NP完全问题集有一个显著特点,如果该集合中的任何一个问题存在有效的算法,则该集合中的其他所有问题都存在有效算法。

许多NP完全问题在特定假设下存在着有效算法。

算法作为一种技术

有效的算法可以提升工程效率。计算时间是一种有限资源,好的算法可以节约时间和空间的资源。算法应当被看成一种技术,整个系统的性能不但依赖于选择快速的硬件,还依赖于选择有效的算法。