算法思想:将要查找的值每次与中间值比较,大于中间值,则在右边进行相同的查找,小于中间值则在左边进行比较查找,找到返回索引值,没找到返回-1;
前提是这些数是有序的
代码如下所示:
第一种:
结果:
第二种:
结果:
总结:二分查找可以有两种方式,一种非递归,一种递归,一般来说:在数据量较少的时候用递归的方式,代码相对简洁一点;数据量较多的时候用非递归的方式,效率性能较递归来说高一些。
算法思想:将要查找的值每次与中间值比较,大于中间值,则在右边进行相同的查找,小于中间值则在左边进行比较查找,找到返回索引值,没找到返回-1;
前提是这些数是有序的
代码如下所示:
第一种:
结果:
第二种:
结果:
总结:二分查找可以有两种方式,一种非递归,一种递归,一般来说:在数据量较少的时候用递归的方式,代码相对简洁一点;数据量较多的时候用非递归的方式,效率性能较递归来说高一些。