技术面试手写代码考题--二分查找
来源:互联网 发布:淘宝外卖怎么找不到了 编辑:程序博客网 时间:2024/06/04 19:46
考题1:二分查找(递归与非递归):
- 二分查找思想:
1.数组从小到大排序;
2.查找的key每次和中间数比较,如果key小于mid,查找mid左侧的数组部分;如果key大于mid,则查找mid右侧的数组部分;如果想等,则直接返回mid.
非递归
输入:排序数组-array,数组大小-asize,查找值-key
返回:返回数组中的相应位置,否则返回-1
int BinarySearch(int array[],int aSize,int key){ if(array == NULL||aSize == 0) return -1; int low = 0; int high = aSize - 1; int mid = 0; while(low <= high){ mid = (low + high)/2; if(array[mid] < key) low = mid + 1; else if(array[mid] > key) high = mid - 1; else return mid; } return -1;}
递归
int BinarySearchRecursive(int array[],int low,int high,int key){ if(low > high) return -1; int mid = ( low + high )/2; if(array[mid] == key) return mid; else if(array[mid] < key) return BinarySearchRecursive(array,mid+1,high,key); else return BinarySearchRecursive(array,low,mid-1,key);}
阅读全文
0 0
- 技术面试手写代码考题--二分查找
- 技术面试手写代码考题--快速排序
- 技术面试常被用来作为手写代码的考题汇总
- 手写二分查找
- 面试手写代码题目
- 面试手写代码的题目
- 面试基础 -- 二分查找
- 面试常见代码考题总结与详解
- 二分查找代码
- 二分查找C代码
- 二分查找c++代码
- 二分查找代码
- 二分查找 java代码
- <代码收藏>二分查找
- 二分查找代码
- 二分查找代码练习
- 标准二分查找代码
- 二分查找代码
- 网络性能测试
- ssh 使用 wangeditor3 富文本编辑器上传图片方法
- SpringBoot入门
- 送给自己的一些标准,期望越来越成为那个样子,那种状态
- hdoj no.2003
- 技术面试手写代码考题--二分查找
- 几大排序算法总结
- 气象要素空间插值分析
- 线程基础
- python pip安装各种包
- redis replication问题一解
- linux下机箱耳机孔没有声音
- 一个双网卡导致的网络故障
- CodeForces