1。 预备知识
随着计算机的迅速发展,计算机算法就成为计算机解决问题的首要选择,算法是一种统一的、机械的方法来解决一类问题,它经常被用于数据处理、计算和自动推理。 可以作为一个基本操作,并建立了一个完整的解决问题的步骤,或视为根据设计问题准确,有一个有限数量的步骤和计算序列,并且对于相同的问题可以用所得的步骤和计算序列来解决。来:自[优E尔L论W文W网www.youerw.com +QQ752018766-
算法是为了说明所解决的问题,设计出的完整而准确的解决方案,该算法求解描述问题用的是一种系统的方法。 换句话说,对于符合要求的输入,能够通过算法求解,在要求的时间内,得到最优的输出。 若在运行过程中发现所设计的算法有不足,或不适用于求解该问题,运行该算法将无法得到解决。不同的算法求解同一个问题可能会占用不同的时间、空间,拥有不同的效率。 对于一个算法好坏的衡量,可以用时间和空间复杂度来度量。
在现实生活中常用的算法有分治法、动态规划算法、回溯法、贪心算法等。
分治法是把一个大型的复杂的问题,划分成两个或者两个以上相同或者类似的子问题;如果子问题不能用所学的简单的优化方法进行求解,就把所得到的子问题再分解为更小的子问题,就这样逐步迭代下去,直到所得的子问题能够用所学的简单的优化方法进行求解为止;最后,再将求解所得的子问题的最优解进行合并,进而得到原问题的最优解。
在动态规划算法中,每一个决定都取决于当前状态的状态,每一个决定的结束,都会立即引起状态的转换。
回溯法类似于枚举法,是一种尝试搜索的过程,在搜索的过程中尝试寻找解决方案,如果在搜索过程中发现不满足约束条件,则“回溯”返回,尝试另一条途径。回溯法按照最优选择的条件搜索,选择最佳的搜索方法,最终得到目标。探索到一个步骤后,如果它被发现原来的选择不能达到最佳的或不能得到的目标,则返回一步,直到找到最佳的解决方案,
贪心算法所做的选择在当前看来是最好的选择,这是说贪心算法只考虑局部最优,并没有从全局最优来考虑。