回家翻了翻之前做的C语言基础笔记,发现居然还穿插了几个算法,本着一步一个脚印的原则,今天就针对笔记里面的第一个查找算法,折半查找(也叫二分查找),通过自己的实验,网络资料等,进行了学习和研究,同时也顺便学习了下什么是时间复杂度和空间复杂度。
下面是迭代实现的折半查找算法:
//折半查找算法(迭代版)时间复杂度O(log2n),空间复杂度是O(1)。
int binSearch(int s[] , int low , int high , int key){
int mid;
while(low <= high){
mid = (low + high) / 2;