1.蛮力法
蛮力法的设计思想:遍历,也就是说依次遍历集中的所有元素直到找到符合要求的元素。比如说,要用蛮力法在数组中寻找值为x的元素,那么就需要从数组的第一个元素开始,依次遍历数组中的元素直到找到值为x的元素或遍历完整个数组为止。
2.分治法
分治法的设计思想:分而治之,也就是说将一个比较复杂的大的问题分解成一些规模较小的子问题,然后分别求解各个子问题,最后再合并子问题的解得到原问题的解。归并排序和快速排序是分治法的经典应用。归并排序是按照元素在序列中位置进行划分,首先将序列分成左子序列和右子序列,随后左右子序列进行相同的划分直到划分成N个大小为1的有序子序列,最后进行两两合并,从而得到一个长度为N的有序序列。快速排序则是按照元素在序列中的值进行划分,首先选定一个元素作为轴值,并且以轴值为基准将序列划分为左子序列和右子序列,随后左右子序列进行相同的划分,最后就能得到一个长度为N的有序序列。
3.减治法
减治法的设计思想:减治法的设计思想与分治法类似,都是将一个规模较大的问题划分为一些规模较小的子问题。不同的是,减治法不需要分别求解各个子问题,只需要求解其中的一个子问题,从而也不需要将子问题的解进行合并。因此,减治法可以看作是退化了的分治法。二分查找是减治法的经典应用。二分查找首先按照中位数将有序序列分为左子有序序列和右子有序序列,随后将中位数元素的值与待查找的值K进行对比。如果K的值大于中位数元素的值