常见的算法
2019-08-20 本文已影响0人
codenow_zkc
冒泡排序算法
冒泡排序作为一种最为常见的排序算法,很多企业的笔试当中经常出现,通常要求你手写冒泡排序,因此,作为一个初级程序猿,必须非常熟悉它,那么,它是如何实现的呢?
双重循环,依次比较相邻两个数的大小,如果后面的数小于前面的数,就交换两个数。废话不多说,直接贴上代码:
二分法查找
二分法查找(binary search)又称折半查找,二分法查找的基本思想是设数组中的元素从小到大有序地存放在数组(array)中,首先将给定值key与数组中间位置上元素的关键码(key)比较,如果相等,则检索成功;否则,若key小,则在数组前半部分中继续进行二分法检索;若key大,则在数组后半部分中继续进行二分法检索。
这样,经过一次比较就缩小一半的检索区间,如此进行下去,直到检索成功或检索失败。
二分法检索是一种效率较高的检索方法。
总之,要使用二分法查找,前提是这个数组已经排好序之后,利用要查找的目标数字与数组的中间数比较,如果小于数组的中间数,则利用同样的方式往数组的前半部分查找,否则,往数组的后半部分查找,直到找到与目标数字相同的数为止,如果当数组的长度已经剩下一个还是没找到,则返回false,代码如下: