设计理论网站,建设网站费用评估,劳务公司注册流程和费用,ps做图游戏下载网站有哪些内容一.举例 二.算法时间复杂度 假设一共有n个元素 第一次折半元素个数变为n/2; 第二次折半元素个数变为n/4; 第三次折半元素个数变为n/8#xff1b; 。。。。。 第k次折半元素个数变为n/2^k; 。。。。。 假设k次找到#xff0c;即为n/2^k1#xff1b; klog2(n); 三.函数实现
…一.举例 二.算法时间复杂度 假设一共有n个元素 第一次折半元素个数变为n/2; 第二次折半元素个数变为n/4; 第三次折半元素个数变为n/8 。。。。。 第k次折半元素个数变为n/2^k; 。。。。。 假设k次找到即为n/2^k1 klog2(n); 三.函数实现
#define _CRT_SECURE_NO_WARNINGS 1
#includestdio.h
int binsearch(int a[], int x, int n)
{int high n - 1;int low 0;while (low high){int mid (high low) / 2;if (a[mid] x){return mid;}else if (a[mid] x){low mid 1;}else{high mid - 1;}}if (low high)printf(抱歉我没有找到\n);return -1; //下标为-1表示没有找到
}
int main()
{int a[10] { 1,2,3,4,5,6,7,8,9,10 };int x 0;int n 0;printf(请输入要在数组中查找的数\n);scanf(%d, x);n sizeof(a) / sizeof(a[0]);int index 0;index binsearch(a, x, n);printf(下标为%d\n, index);return 0;
}四.语句循环流程图