python之二分法查找
二分法查找主要的作用就是查找元素
规则. 掐头结尾取中间, 必须是有序列
# 二分法查找 (需要你明白和掌握)
# lst = [1,3,5,7,12,36,68,79]
# n = int(input("请输入一个数"))
#
# left = 0
# right = len(lst) - 1
#
# while left <= right:
# mid = (left + right)//2
# if n > lst[mid]:
# left = mid + 1
# elif n < lst[mid]:
# right = mid - 1
# else:
# print("存在")
# break
#
# else:
# print("不存在")
# 递归二 (需要你明白和掌握)
# def func(n, lst, left, right): # 递归找到什么是可以变的. 什么是不可以变的
# if left <= right:
# mid = (left + right) // 2
# if n > lst[mid]:
# left = mid + 1
# return func(n, lst, left, right)
# elif n < lst[mid]:
# right = mid - 1
# return func(n, lst, left, right) # 递归如果有返回值. 所有调用递归的地方必须写return
# else:
# print("找到了")
# return mid # 难点
# else:
# print("找不到")
# return -1
#
# n = int(input("请输入你要查找的数:"))
# lst = [1,3,55,98,37,41,2,5,1,4]
# ret = func(n, lst, 0, len(lst)-1) # 78
# print(ret)
# 最快的查找
lst = [1,3,55,98,37,41,2,5,1,4]
new_lst = []
for i in range(99):
new_lst.append(0)
for i in lst: # 1,3,55,98
new_lst[i] = 1
print(new_lst)
i = int(input('请输入你要找的数据'))
if new_lst[i] == 0: # 1次
print("不存在")
else:
print("存在")
python之二分法查找的更多相关文章
- 使用python实现二分法查找
最近开始学习mit的python课程,其中手工实现的一个关于二分法查找的练习代码个人感觉比较有参考价值,贴上来分享交流一下. 主要功能是在1-100中自己猜测一个数值,随后系统产生数值看是否符合猜测, ...
- python 实现二分法查找
二分查找图 二叉树: 代码 #!/usr/bin/python #-*-coding:utf-8-*- #----------------------------------------------- ...
- python 内置函数(二) 进阶函数 递归内容及二分法查找 知识点
1,lambda: 匿名函数 2.sorgted() 排序函数 3,filter() 过滤函数 筛选 4,map() 映射函数 5.递归 6.二分法 一. 匿名函数: lambda lamb ...
- 查找算法:二分法查找及其python实现案例
承接上一篇:查找:顺序查找与二分法查找,将二分法更多详细的python实现解题写下笔记. 简单方法 ''' 二分法查找在列表中的用户输入值,返回index 三种情况跳出循环体: LR相邻 LR位置重合 ...
- python bisect模块二分法查找
#!/usr/bin/env python # encoding: utf-8 import bisect import sys #将一个元素插入到一个有序列表的合适位置 #使用这个模块的函数前先确保 ...
- Python【day 14-4】sorted filter map+递归文件夹+二分法查找
def func(x): #普通函数 return x*x ret1 = func(10) #匿名函数 f = lambda x:x*x # 匿名函数写法: 匿名函数名=lambda 参数:返回值 ' ...
- python练习:使用二分法查找求近似平方根,使用二分法查找求近似立方根。
python练习:使用二分法查找求近似平方根,使用二分法查找求近似立方根. 重难点:原理为一个数的平方根一定在,0到这个数之间,那么就对这之间的数,进行二分遍历.精确度的使用.通过最高值和最低值确定二 ...
- Python二分法查找及变种分析
基于Python3 普通二分法查找目标值的index 二分法查找的思路很简单,先确定好列表nums的一头start一尾end,中间值middle根据头尾数值之和用地板除法除以2,即(start + e ...
- python --- 14 递归 二分法查找
一.递归 1.函数自己调用自己 2.官方说明最大深度1000,但跑不到1000,要看解释器, 实测998 3.使⽤递归来遍历各种树形结构 二. 二分法查找 掐头结尾取中间 , 必须是有序序列 ...
随机推荐
- Python基础(二)自定义函数
1.判断字符串,内容是否为数字 我们用python:xlrd读Excel内容时,本来只是输入的整数字,经常读出来的是float类型 我们需要自动转成整型,意思就是说,读出来的和我们输入的一样,但是,我 ...
- manjaro使用国内软件源
虽然manjaro是基于arch修改的,但毕竟还是有些改动,如果可以用manjaro仓库里的,尽量不要用arch的源.如果嫌官方的软件源慢,可以直接一条命令修改成国内的软件源 sudo pacman- ...
- dedecms织梦(一)
网站动静态转换 织梦后台--->系统--->系统设置--->SQL命令行工具 1.将网站所有栏目设置成动态页 update dede_arctype set isdefault=-1 ...
- JSP 修改不能编辑
JSP做修改功能时候,有的时候,某些值要设置成只读状态,不能修改,刚开始做的时候,出现了修改之后值传不到后台的情况,由于刚出来工作不久,不是很了解这个.思索了半天,才发现是由于这个属性的缘故.浪费了大 ...
- 移动端热更新方案(iOS+Android)
PPT资源包含iOS+Android 各种方案分析:https://github.com/qiyer/Share/blob/master/%E7%83%AD%E6%9B%B4%E6%96%B0%E5% ...
- java,利用Selenium调用浏览器,动态模拟浏览器事件,动态获取页面信息
1.环境搭建 jdk1.6版本:selenium 2.4版本. jdk1.8版本:selenium3.14版本. (1)selenium的jar包下载: 地址:http://selenium-rele ...
- Poj1258 Agri-Net (最小生成树 Prim算法 模板题)
题目链接:http://poj.org/problem?id=1258 Description Farmer John has been elected mayor of his town! One ...
- 《CSS世界》读书笔记(二)
<!-- <CSS世界> 张鑫旭著 --> 块级元素:水平流上只能单独显示一个元素 <li>元素默认的display值是list-item,是块级元素 块级盒子( ...
- 运行maven install命令时出现错误(BUILD FAILURE)
运行run as—>maven install时出现以下错误: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-com ...
- 常用模块 time sys os json pickle
# import time # print(time.time()) #秒数 # print('开始下载') # time.sleep(2) # print('下载完成') # print(time. ...