1.1 算法
1.
算法:非形式的说,算法就是任何良定义的计算过程,该过程取某个值或值的集合作为输入并产生某个值或值的集合作为输出。
以排序问题为例:
输入:n个数的一个序列<a1,a2,…,an>。
输出:输入序列的一个排列<a1’,a2’,…,an’>,满足a1’≤a2’≤…≤an’。
给定输入序列<31,41,59,26,41,58>,这称为排序问题的一个实例。
一般来说,问题实例由计算该问题解所必需的(满足问题陈述中强加的各种约束)输入组成。
2.
对于给定应用,哪个算法最好依赖于以下因素:
将被排序的项数、这些项已被稍微排序的程度、关于项值的可能限制、计算机的体系结构,以及将使用的储存设备的种类(主存、磁盘或者磁带)。
3.
若对每个输入实例,算法都以正确的输出停机,则称该算法是正确的,并称正确的算法解决了给定的计算问题。
注:与人们期望的相反,不正确的算法只要其错误率可控有时可能是有用的。