每天5分钟玩转python3算法:二分查找法
从今天开始,博主准备开始一段常见算法的学习,算法实现使用Python3,希望坚持下去^_^
alg1:二分查找法
1、运行时间
二分查找相比于依次查找,查询速度提升明显:
+ 依次查找:O(n)
+ 二分查找:O(logn)
n表示候选数的数目;O(logn)实际代表找到目标数需要的查询次数;实际上查询次数可以大概代表运行时间
2、适用场景
排好顺序的列表(python)
3、代码实现
from random import randintdef search(list1,target):low = 0high = len(list1) - 1while low < high:mid = int((high + low) / 2)guess = list1[mid]if guess < target: #+1非常关键,是最终退出循环的决定因素low = mid + 1elif guess > target:high = mid -1else:return midreturn None
#生成随机顺序列表
mylist = [i for i in range(1,100) if randint(0,1)]
print(mylist)
print(search(mylist,10))
print(search(mylist,11))
4、几个基础概念
每天5分钟玩转python3算法:二分查找法相关推荐
- java 二分查找_计算机入门必备算法——二分查找法
1.引言 笔者对于计算机的研究一直停滞不前,近期想对一些算法进行复习和进一步的研究,每天都会更新一个新的算法,算法有难有易,层层递进.不希望能学的有多么高深,只希望在一些最基本的算法上有编码的思路,或 ...
- NTC测温中 经典温度查表算法--二分查找法
说明: 二分查找法的优点:查找速度快 1024个长度的表最长只需10次查表就能得出结果 在用NTC测试温度的方案中,NTC的温度表的长度一般是100-200 有些达到400-500的长度 在这种情况下 ...
- 折半查找算法[二分查找法]算法的实现和解决整数溢出问题~
算法实现的要求: 折半查找法又称为二分查找法,这种方法对待查找的列表有两个要求: 1:必须采用顺序存储结构 2:必须按关键字大小有序排列 算法思想: 将表中间位置记录的关键字与查找关键字进行比较,如果 ...
- Java-数据结构与算法-二分查找法
1.二分查找法思路:不断缩小范围,直到low <= high 2.代码: 1 package Test; 2 3 import java.util.Arrays; 4 5 public clas ...
- 每日一则----算法----二分查找法
php实现二分查找法 二分查找法称折半查找,需要数组是一个有序的数组 假设我们的数组是一个递增的数组,首先我们需要找到数组的中间位置. 要知道中间位置就需要知道起始位置和结束位置,然后取出中间位置的值 ...
- 每天5分钟玩转python3算法:选择排序
alg2:选择排序法 1.运行时间 O(n*2)> 单次查找最小/大元素耗时O(n),排出一个有序列表需要进行n次操作, 平均耗时O(n*n)==O(n*2) 2.使用场景 可运用于无序列表,但 ...
- 小白的算法初识课堂(part1)--二分查找法
学习笔记 学习书目:<算法图解>- Aditya Bhargava 二分查找法 算法是一组完成任务的指令,任何代码片段都可视为算法.二分查找是一种算法,其输入是一个有序的元素列表(必须有序 ...
- Python 关于下标的运用技巧(二分查找法,冒泡、选择、插入、归并、快速排序算法)
二分查找法(折半查找法)的递归实现 二分查找法(折半查找法):用于预排序列表的查找问题, 再次强调,二分查找法要配合排序使用,只有排好序,才能使用二分查找法 而且,待查找列表如果有重复值,只能查找到其 ...
- javascript数据结构与算法---检索算法(二分查找法、计算重复次数)
javascript数据结构与算法---检索算法(二分查找法.计算重复次数) /*只需要查找元素是否存在数组,可以先将数组排序,再使用二分查找法*/ function qSort(arr){if (a ...
最新文章
- 近两年的生物医学突破研究,颠覆你前20年基础所学
- 02-导航实例-storyboard实现
- python代理池好难啊_新人不会自己搭建代理池?快来引用大佬的
- shiro学习(4):shiro认证流程
- 数据库中char, varchar, nvarchar的差异
- Android 线程池对象-ThreadPoolExecutor浅析
- input Type
- 表单的管理作业及答案
- Eclipse的.properties文件输出中文成unicode编码
- spring mvc mvc:default-servlet-handler / 。
- 照着教程装oracle却报错,手把手演示win7系统安装oracle10g程序遇到“程序异常终止。发生内部错误...”的操作教程...
- php数据库根据手机号获取归属地,PHP通过API获取手机号码归属地
- dos2unix离线安装
- MATLAB数据类型及转换
- 8000计算机论文范文,计算机毕业论文_计算机论文范文8000字_毕业论文8000字范例...
- 学计算机cpu重要还是显卡重要,电脑玩游戏CPU重要还是显卡更重要?
- 华为数通笔记-策略路由
- c语言数字转换为字符串补位,String字符串补位
- js原型、原型链、原型链继承详解
- Xcode:崩溃堆栈符号化,定位崩溃