二分查找理解学习
来源:互联网 发布:2月进出口数据 编辑:程序博客网 时间:2024/06/06 07:35
二分查找是对一组有序序列进行,将此组序列分为左右两部分,求取中间值,并将中间值与要查找的值进行比较。如果中间值大于要查找的值,就在左部分中进行上一步的比较,以此类推,最终找到所需的值。
# -*- coding: utf-8 -*-def search(arr,n,v): #定义search函数 left = -1 right = n while(left+1 != right): #确定序列的元素个数大于2 mid = left+(right-left)/2 #求出中间值 if(arr[mid] < v): #比较确定中间值的查找范围 left = mid else: right = mid if(right >= n or arr[right] != v): #确保查找的值在序列中 right = -1 print v #输出要查找的值 return rightif __name__ == '__main__': arr = [2,3,4,5,6,7,8] #给出有序序列 n = len(arr) #序列长度 ret = search(arr,n,3) print ret #输出查找次数 print arr.index(3) #输出索引
0 0
- 二分查找理解学习
- 深入理解二分查找
- 二分查找的个人理解
- 二分查找学习札记
- 二分查找学习札记
- 二分查找学习札记
- 【二分查找】学习总结
- 二分查找学习札记
- java学习-二分查找
- 算法学习-二分查找
- C++学习二分查找
- 算法学习之二分查找
- 二分查找算法学习札记
- Lua学习之二分查找
- 算法学习之二分查找
- 排序算法学习-二分查找
- 【学习记录】练习题-二分查找
- 查找(二):二分查找----<学习总结>
- java中接口类似c++中纯虚函数
- 各种排序算法的比较——一步一步算法篇
- Retrofit的简单使用
- CentOS 7 java服务器搭建
- Shell脚本学习指南(四)——文本处理工具
- 二分查找理解学习
- java 对称加密算法
- JSP的动作元素
- Tomcat安装及配置
- iOS开发系列--UITableView全面解析
- HZAU校赛F题 LCS (dp)
- 关于javascript的闭包、模块化以及单例模式
- 验证身份证号的合法性
- CSS-Position