上QQ阅读APP看书,第一时间看更新
1.3 算法的分类
算法是一门古老而又庞大的学科,随着历史的发展,演化出多种多样的算法。按照不同的应用和特性,算法可以分为不同的类别。
1.按照应用来分类
按照算法的应用领域,也就是解决的问题,算法可以分为基本算法、数据结构相关的算法、几何算法、图论算法、规划算法、数值分析算法、加密/解密算法、排序算法、查找算法、并行算法和数论算法等。
2.按照确定性来分类
按照算法结果的确定性来分类,可以分为确定性算法和非确定性算法。
确定性算法:这类算法在有限的时间内完成计算,且得到的结果是唯一的,经常取决于输入值。
非确定性算法:这类算法在有限的时间内完成计算,但是得到的结果往往不是唯一的,也就是存在多值性。
3.按照算法的思路来分类
按照算法的思路来分类,算法可以分为递推算法、递归算法、穷举算法、贪婪算法、分治算法、动态规划算法和迭代算法等。