二分查找
2015-06-27 14:21
363 查看
对排序序列进行查找,可以进行二分查找,时间复杂度为O(log(n)).
原理很简单,但是能正确无误的写出其代码,也并不容易。
主要需要注意的是:循环条件的判断和右端标记的下次迭代。
当left<=right; right=middle-1;
当left
版本二:
原理很简单,但是能正确无误的写出其代码,也并不容易。
主要需要注意的是:循环条件的判断和右端标记的下次迭代。
当left<=right; right=middle-1;
当left
int search(int array[], int n, int v) { int left, right, middle; left = 0, **right = n - 1;** while (**left <= right**) { middle = left + (right-left)/2; if (array[middle] > v) { **right = middle - 1**; } else if (array[middle] < v) { left = middle + 1; } else { return middle; } } return -1; }
版本二:
int search(int array[], int n, int v) { int left, right, middle; left = 0, **right = n;** while (**left < right**) { middle = left + (right-left)/2; if (array[middle] > v) { **right = middle;** } else if (array[middle] < v) { left = middle + 1; } else { return middle; } } return -1; }
相关文章推荐
- Search Engine XSS Worm
- 简介JavaScript中search()方法的使用
- js闭包实现按秒计数
- 向大家推荐一个收集整理正则表达式的网站
- Js&Vbs正则表达式替换重复的字符
- 限制文本框中只能输入实数或整数,其它字符无效,有劳大家了!
- 关于IE的RegExp.exec的问题
- Google Map Api和GOOGLE Search Api整合实现代码
- javascript中的window.location.search方法简介
- 教你使用javascript简单写一个页面模板引擎
- Microsoft Search 服务无法启动 解决办法.
- 正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
- js通过location.search来获取页面传来的参数
- 正则基础之 环视 Lookaround
- JScript中正则表达函数的说明与应用
- 介绍一个rails 有关的gem: rails-simple-search 3ff8
- grub rescue模式下修复
- oracle decode function
- grep技巧 转载
- Linux ACL 学习笔记