暴力求解(brute force)
Brute force is a straightforward approach to solving a problem, usually directly based on the problem statement and definitions of the concepts involved.
暴力求解即根据问题的描述和定义直接求解,不使用一些特殊的算法.
排序问题的应用
选择排序
选择排序将数组分为排序与未排序两个部分,每次将从未排序部分取出最小的值,插入排序部分的最后,最终未排序部分消失,排序完成.冒泡排序
冒泡排序也是将数组分为排序与未排序两个部分,每次从未排序部分的第一个数开始,与后一个比较,如果大于它两两交换,否则从第二个开始继续与后一个比较.最终未排序部分的最后一个数即最大的数.循环n次即完成排序.
搜索问题的应用
线性搜索
简单粗暴,一个个比较.字符串匹配
同样道理,逐个比较.
几何问题
最近点问题
把所有两点距离求出来,然后选择最小值.凸包问题
用循序渐进的方式求取给定点集的凸包,首先把最初输入的3个不共线(Non-collinear)的点按 逆时针方向构成一个三角形,这就是这3点的凸包。接着便会考察第4点,看看这个点是否位于前述三 角形之内或三角形的边上。若是,则这第4点并非凸包上的点,前述三角形保持不变。若否,则把这前述的三角 形扩大为一个四边形,并把不适用的边擦去。这个四边形便是这首4点的凸包。接着程序又会考察第5点&#