查找算法
来源:互联网 发布:知乎用户政治倾向 编辑:程序博客网 时间:2024/06/14 15:15
// 循环实现int binarySearch(int *a, int len, int x) { int low = 0; int high = len-1; int mid; while (low <= high) { mid = (low + high) / 2; if (a[mid] < x) low = mid + 1; else if (a[mid] > x) high = mid - 1; else { printf("found: a[%d]=%d\n", mid, a[mid]); return mid; } } printf("notfound\n"); return -1;}
// 递归实现int binarySearchRecursive(int *a, int x, int low, int high) { if (low > high) return -1; int mid = (low + high) / 2; if (a[mid] < x) return binarySearchRecursive(a, x, mid+1, high); else if (a[mid] > x) return binarySearchRecursive(a, x, low, mid-1); else return mid;}int binarySearchRecursive(int *a, int len, int x) { int ind = binarySearchRecursive(a, x, 0, len-1); if (ind == -1) printf("notfound\n"); else printf("found: a[%d]=%d\n", ind, a[ind]); return ind;}
此外查找的算法还有平衡二叉树、红黑树,hash等等
阅读全文
0 0
- 查找算法(静态查找)
- 查找算法 二分查找
- 查找算法:二分查找
- 查找算法 - 二分法查找
- 算法--查找--二分查找
- 算法--查找--差值查找
- 查找算法:二分法查找
- 查找算法---二分查找
- 查找算法
- 查找算法
- 查找算法
- 查找算法
- 查找算法
- 查找算法
- 查找算法
- 查找算法
- 查找算法
- 查找算法:
- 简单的正则表达式
- 条件随机场CRF
- 移动前端开发需要注意的20个要点
- 使用matlab绘画柱状图,且使用不同的图案填充
- 数据结构 插入排序
- 查找算法
- 字符串比较
- Vue2实时监听表单变化的方法
- SCAN AC mode 与 DC mode(待完成)
- ubuntu16.04+win10 双系统笔记
- 页面布局那些事
- 数据结构 希尔排序
- centos虚拟机搭建
- Linux centos7下安裝配置redis及Redis desktop Manager工具連接註意事項