算法的定义
算法的定义是指解题方案的准确而完整的描述。
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。
如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间,空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。一个状态到另一个状态的转移不一定是确定的。
随机化算法在内的一些算法,包含了一些随机输入。同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。
应用
经典的算法有很多,如欧几里德算法,割圆术,秦九韶算法。随着计算机的发展,算法在计算机方面已有广泛的发展及应用,如用随机森林算法来进行头部姿势的估计。
用遗传算法来解决弹药装载问题,使用信息加密算法进行网络传输,使用并行算法进行数据挖掘,以及协同过滤算法在个性化推荐中的应用等。