首页> FAQ> 当前页

问:什么是计算机算法?

答:要使计算机工作,您就必须编写计算机程序。要编写计算机程序,您就必须一步步地告诉计算机,您究竟想让它干什么。然后,计算机按照每个步骤来机械地“执行”程序,以实现最终目标。 在您告诉计算机要做什么的时候,还必须选择要它怎样去做——这就是计算机算法的由来。算法是完成工作的基本技术。下面这个示例可以帮助我们理解算法的概念。 假设您的朋友到达了机场,现在需要从机场前往您的住所。以下是您可能向朋友提供的四种来您家的算法:<UL><LI>出租车算法:<OL><LI>前往出租车站。<LI>进入出租车。<LI>把我的地址给司机。</LI></OL><LI>给我打电话算法:<OL><LI>飞机到达后,拨打我的移动电话。<LI>和我在行李领取处外碰面。</LI></OL><LI>租车算法:<OL><LI>乘坐班车前往汽车租赁行。<LI>租一辆汽车。<LI>按照路线到达我家。</LI></OL><LI>公共汽车算法:<OL><LI>在行李领取处外,坐70路公共汽车。<LI>在缅街站换乘14路公共汽车。<LI>在榆树街站下车。<LI>向北走两个街区就可以到我家。</LI></OL></LI></UL>所有这四种算法都能正确实现同一个目标,但每种算法都有截然不同的完成方式。此外,每种算法的成本和所用时间也不尽相同。例如,坐出租车也许是最快的方法,但也是最贵的。乘坐公共汽车绝对便宜,但也会慢很多。您可以根据实际情况来选择算法。 在计算机编程中,通常有多种不同的方法(算法),可以用来完成任何给定的任务。在不同的情况下,每种算法都有自己的优缺点。许多研究都是通过排序来完成的,因为计算机的大量时间都用在了列表排序上。以下是排序中使用的五种不同算法:<UL><LI>箱排序<LI>归并排序<LI>冒泡排序<LI>希尔排序<LI>快速排序</LI></UL>如果您有一百万个1到10之间的整数值需要排序,则应使用箱排序算法。如果您有一百万个书籍标题,那么快速排序可能是最佳算法。知道不同算法的优缺点后,您就可以为手上的任务挑选出最佳算法了。