启发式方法
一般来说,启发式方法是一种“经验法则”,或者说是在做决定时可以遵循的实用指南。在计算机科学中,启发式方法的含义类似,但特指算法。
在编写软件时,程序员的目标是创建最高效的算法,以完成各种任务。这些任务可能包括对数字进行排序等简单过程,也可能包括处理图像或视频剪辑等复杂功能。由于这些功能通常会接受范围很广的输入数据,一个算法可能在某些情况下表现良好,但在其他情况下表现不佳。
例如,GIF图像压缩算法适用于颜色较少的小型图像,但处理颜色较多的大型图像时,其效果不如JPEG压缩。如果你知道自己只需要处理颜色范围不大的小型图像,那么GIF压缩就足够了。你不必考虑大型彩色图像,因此没有必要针对这些图像优化算法。同样,程序员通常会使用在大多数情况下运行良好的算法,即使它们在少数情况下的效率可能不高。
因此,启发式过程可能包括运行测试,并通过反复试验获得结果。测试的样本数据越多,就越容易创建出能够处理类似数据的高效算法。如前所述,这些算法并不总是完美的,但大多数时候都能良好运行。启发式方法的目标是开发一个简单的过程,在可接受的时间内生成准确的结果。
测试你的知识