就像宝剑不是撬棍一样,科学也很少使用蛮力。
——爱德华.利顿
蛮力法的简单描述:它是一种简单直接的解决问题的方法,常常直接基于问题的描述和所涉及的概念定义。
这里的“力”指的是计算机的计算能力,一般来说,蛮力策略也是最容易应用的方法。虽然巧妙和高效的算法很少来自于蛮力法,但是不应该忽略它作为一种更重要的算法策略的地位。
- 和其他策略不同,我们可以应用蛮力法解决广阔领域的各种问题。
- 对于一些重要的问题,例如,排序,查找,字符串匹配,蛮力法可以产生一些合理的算法,而且不必限制实例的规模。
- 如果要解决的问题实例不多,而且蛮力法可以用一种可以接受的速度对实例进行求解。
- 即使效率很低,但是还是可以使用蛮力法解决一些小规模的问题实例。
- 蛮力算法可以为研究或者教学目的的服务。
蛮力法实例
最基础排序方法—选择排序和冒泡排序