所谓算法就是一系列计算步骤,用来将输入数据转换成输出结果。
排序问题的形式化定义:
输入:n 个数构成的一个序列<a1, a2, ..., an>
输出:对输入序列的一个重排列<a1' a2', ..., an'>,使得a1' <= a2' <= ... <=an'
如果一个算法对其每一个输入实例,都能给出正确的结果并停止,则称它是正确的。
自行设计算法、证明其正确性和理解其效率。
NP 完全问题是否存在有效算法是未知的。但是存在这样的算法,该算法可以给出比较好的,但不一定是最佳结果。
注:有效算法,既多项式算法,其运行时间随着规模的扩大增长不大,因此叫做有效算法。
与对输入规模n 的依赖相比,常量因子对运行时间的影响要小得多。