按照不同的应用和特性,算法被分为不同的类别。
1、按照应用领域分类
按照算法的应用领域,即解决的问题领域,算法可以分为基本算法、数据结构相关的算法、几何算法、图论算法、规划算法、数值分析算法、加密/解密算法、排序算法、查找算法、并行算法和数论算法等等。
2、按照确定性分类
按照算法结果的确定性分类,算法可以分为确定性算法和非确定性算法。
-
确定性算法
在有限的时间内完成计算,得到的结果是唯一的,且取决于输入值。 -
非确定性算法
在有限的时间内完成计算,但得到的结果往往是不唯一的,即存在多值。
3、按照算法的思想分类
按照算法的思想分类,可以被分为穷举算法、递推算法、递归算法、贪婪算法、分治算法、动态规划算法和迭代算法和概率算法等。