算法 - pyhton - 二分查找
def bs(a, num):low = 0high = len(a) - 1mid = int(high / 2)while low<high: #当low == high 的时候查不到值那就不会存在了if num < a[mid]:high = midelif num > a[mid]:low = mid+1 #这里不+1 查找的数在最后一位的时候会形成死循环 例如 7 8 int((7+8)/2)=7 则永远7 8 不能查找到数组的第8位elif num == a[mid]:return midelse:return -1mid = int((high + low) / 2)return -1if __name__ == '__main__':a = [1, 2, 3, 4, 5, 6, 7, 8, 9]index = bs(a, -1)print(index)
算法 - pyhton - 二分查找相关推荐
- 算法图解/二分查找/简单查找/选择排序/递归算法/快速排序算法/
大 O 表示法 大 O 表示法在讨论运行时间时,log 指的都是 log2 大 O 表示法指出了算法有多快,让你能够比较操作数,它指出了算法运行时间的增速,而并非以秒为单位的速度. 大 O 表示法指出 ...
- 数据结构与算法:二分查找
二分查找是搜索算法中的一种,用来搜索有序数组 二分查找: 是一种简单算法,其输入是一个有序的元素列表(必须有序的原因稍后解释).如果要 查找的元素包含在列表中,二分查找返回其位置:否则返回null. ...
- javascript数据结构与算法---检索算法(二分查找法、计算重复次数)
javascript数据结构与算法---检索算法(二分查找法.计算重复次数) /*只需要查找元素是否存在数组,可以先将数组排序,再使用二分查找法*/ function qSort(arr){if (a ...
- java二分查找法_java算法之二分查找法的实例详解
java算法之二分查找法的实例详解 原理 假定查找范围为一个有序数组(如升序排列),要从中查找某一元素,如果该元素在此数组中,则返回其索引,否则返回-1.通过数组长度可取出中间位置元素的索引,将其值与 ...
- 查找算法:二分查找、顺序查找
08年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大学生活.此系列是对四年专业课程学习的回顾,索引参见:http://blog.csdn.net/xiaowei_cqu/article/de ...
- list 查找_趣味图解算法之二分查找
大多数程序员在看到"算法"两字的时候,是不是头大如斗.但如果想去大公司发展,在面试时又绕不过算法这座大山.市面上好多讲解算法的书籍(如算法导论)基本上都太学术.太复杂,对初学者很不 ...
- 算法总结-二分查找算法
二分查找也称折半查找(Binary Search),是一种效率较高的查找方法.该算法要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列.如果一个序列是无序的或者是链表,那么该序列就不能使用二 ...
- 经典算法之二分查找法(俗称基本二分搜索法)
经典算法之二分查找法(俗称二分搜索法) 文章目录 经典算法之二分查找法(俗称二分搜索法) 前言 一.什么是二分查找法? 二.代码实现 总结 前言 就算法而言,我们主要学习的是数学+思维+逻辑+数据结构 ...
- 算法简介——二分查找,时间复杂度,空间复杂度
文章目录 前言 二分查找 时间复杂度 大O表示法 空间复杂度 小结 前言 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略 ...
最新文章
- MatLab画图总结
- laravel 服务提供者介绍和使用
- 带你少走弯路:强烈推荐的Keras快速入门资料和翻译(可下载)
- Java与C++有何区别呢?请看以下几点就明白了……
- Git基础知识教程整理(Git基本操作)
- Spring Cloud微服务之业务物理删除(十)
- 华为Mate 30 Pro再爆猛料:更“大”更高级了
- 嵌入式系统——系统安全之常见病毒漏洞刷题整理
- (转载)网络互联参考模型(详解)
- 用python实现一个socket echo程序 tcp socket的几个关闭状态
- TOMCAT下应用部署新法(/META-INF/context.xml)
- mycat-mysql读写分离
- xml大于等于转移_Mybatis.xml文件中大于小于等于
- 权力的游戏——读《原则2 :应对变化中的世界秩序》(中)
- 还在用纸质表进行设备巡检?
- 1个英文字母、1个汉字、标点符号各占几个字节?以及文件的编码方式查看
- 钱包开发经验分享:BTC篇
- Twitter与微博
- 51SCM_AD模块CS5550学习心得
- itchat+在线聊天机器人接口实现微信聊天机器人
热门文章
- php对长文章进行分页处理
- java线程顺序输出_多线程按顺序输出ABC
- python中cursor属性_Python – AttributeError:’NoneType’对象没有属性’cursor’
- 算法的复杂度与Master定理
- java线程锁的作用,大厂面经合集
- 【PAT (Advanced Level) Practice】1054 The Dominant Color (20 分)
- 【深度学习】协同优化器和结构化知识蒸馏
- 【Java Web前端开发】TomcatServlet基础
- 机器学习(MACHINE LEARNING)MATLAB进行概率统计分析
- 【编译原理】关于克林闭包与正闭包的讨论