二分算法
什么是二分算法?
二分查找也叫折半查找,就是将所查询单调序从中间断开,通过目标值与序列中间值进行对比的方法,将查询范围缩小,直到找到目标值。
是一种高效的查找方法。它可以明显减少比较次数,提高查找效率。但是折半查找的先决条件是查找表中的数据元素必须有序。
首先确定整个查找区间的中间位置mid=(left+right)/2
用待查关键字值与中间位置的关键字值进行比较;若相等,则查找成功若大于,则在后(右)半个区域继续进行折半查找若小于,则在前(左)半个区域继续进行折半查找。
对确定的缩小区域在按折半公式,重复上述步骤 。最后,得到结果。
要么查找成功,要么查找失败。折半查找的存储结构采用一维数组存放。优点:ASL<=log2n(2n次方),即每经过一次比较,查找范围就缩小一半,经log2n次计较就可以完成查找过程。
优点:
有效减少查询次数,提高查找效率;
前提:所查找数列必须是单调数列;
存储结构必须是顺序表,不能为链表;
冒泡排序
一个数组int a【5】={8,0,6,7,5}
两个数进行相比如果第一个数比第二个b数大则做一个位置交换,然后继续比较直到数组的数全部变成正序从小到大的就可以了