算法学习之暴力求解

暴力求解(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点&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值