算法在计算中的作用

   算法是任何一段定义好的步骤,它把一些值或者值域作为输入,处理后把某个值或者值域作为输出,而算法就是把输入转换成输出的一系列计算步骤。

  我们也可把算法看成解决具体计算问题的工具。通常描述问题的语句指定需要的输入/输出之间的关系。而算法描述了具体的计算步骤来构建输入/输出之间的关系。

   举个例子,我们需要把一系列数字以非递减的顺序排列。该问题在实际中频繁出现,成为许多标准设计技巧和分析工具的肥沃土壤。以下是排序问题的正式定义:

.输入:n个数列:a1,a2,...,an.

.输出:序列(a1',a2',...,an'),且a1'≤a2'≤...≤an'.

   排序问题是计算机科学中的基本操作(许多程序把它作为一个中间的步骤),因此程序员开发出了大量的优秀排序算法。哪一种算法最适合给定的应用取决于参加排序的项的数目,项已经排序的程度,项值的可能限制,所使用的存储设备的种类:主存,磁盘,或磁带。

   对于每一个输入实例,算法都以正确的输出结束,我们就称该算法是正确的。我们说一个正确的算法解决了给定的计算问题。而一个不正确的算法对于某些输入实例根本终止不了,或者终止了但是结果不是所期待的。与我们所期望的相反,如果不正确算法的错误率可控制的话,有时候它有用处。一般地,我们仅仅关注正确的算法。

    算法可用英语指定为一段程序,或者指定为一个硬件设计。唯一的条件是所遵循的规范必须提供计算过程的一个准确描述。

    

posted @ 2014-05-08 09:49  williamcai  阅读(729)  评论(0编辑  收藏  举报