# 二分法查找主要的作用就是查找元素

lst = [1,3,5,7,12,36,68,79] # 数据集 百万级数据

num = int(input("请输入你要查找的元素信息:"))

for el in lst:

if num == el:

print("存在")

break

else:

print("不存在")

len(lst)

# 0 1 2 3 4 5 6 7

# [1,3,5,7,12,36,68,79]

n = 28 # 3

# 规则. 掐头结尾取中间, 必须是有序序列,

# 100000000

# 二分法查找 (需要你明白和掌握)

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 = 0

right = len(lst) - 1

if lst != []:

mid = (left + right)//2

if n > lst[mid]:

func(n, lst[mid+1:]) # 改变列表

elif n < lst[mid]:

func(n, lst[:mid])

else:

print("找到了")

return

else:

print("没找到")

return

n = int(input("请输入你要查找的数:"))

func(n, [1,3,5,7,12,36,68,79]) # 78

# 递归二 (需要你明白和掌握)

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 二分法查找相关推荐

  1. python二分法查找时间点_python有序查找算法:二分法

    二分法是一种快速查找的方法,时间复杂度低,逻辑简单易懂,总的来说就是不断的除以2除以2... 但是需要注意:待查找的序列区间单调有序 例如需要查找有序数组arr里面的某个关键字key的位置,那么首先确 ...

  2. python中二进制整数_Python程序查找表示二进制整数的必要位数

    python中二进制整数 Given an integer number and we have to find necessary bits to represent it in binary in ...

  3. python通配符搜索文件_Python 如何查找特定类型文件

    写在之前 今天的文章是介绍如何用 Python 去定位特定类型的文件,会讲到用字符串匹配文件名定位特定文件以及顺带介绍一下遍历目录树的函数,通过今天的这一部分以及之前文章讲到的文件获取属性的操作,可以 ...

  4. python正则查找_python正则查找

    [转摘]PYTHON 正则表达式 网上转的一篇,把正则的规则系统的分类了.. 好文,共享,备查 ~~~~~~~~~~~ http://www.cnblogs.com/huxi/archive/2010 ...

  5. python查找文件内容_python自定义查找文件内容

    #!/usr/bin/env python #coding:utf8 #此脚本为查找递归目录下所有文件匹配的内容 import os,sys,tab def paths(path): list_pat ...

  6. python 正则_python正则查找

    [转摘]PYTHON 正则表达式 网上转的一篇,把正则的规则系统的分类了.. 好文,共享,备查 ~~~~~~~~~~~ http://www.cnblogs.com/huxi/archive/2010 ...

  7. python算法和数据结构_Python中的数据结构和算法

    python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...

  8. python中定义数据结构_Python中的数据结构—简介

    python中定义数据结构 You have multiples algorithms, the steps of which require fetching the smallest value ...

  9. python 数据框缺失值_Python:处理数据框中的缺失值

    python 数据框缺失值 介绍 (Introduction) In the last article we went through on how to find the missing value ...

最新文章

  1. Exception loading sessions from persistent storage
  2. 实战:人脸识别的Arcface实现 | CSDN博文精选
  3. 空指针错误 java.lang.NullPointerException 浅谈
  4. 连接php的作用是什么意思,链接是什么?
  5. java抽象类和接口总结
  6. 没有事业的女朋友(一个老总的感言)
  7. android 集成同一interface不同泛型_【Java视频教程】day30-泛型??
  8. jquery无法找到其他父级子集解决方法
  9. 网页静态服务器-2显示需要的页面
  10. 如何输入一个整数逆序输出_如何理解运算放大器的共模输入和输出摆幅限制?...
  11. Vue运行报错webpack-dev-server --inline --progress --config build/webpack.dev.conf.js
  12. 产品质量的基石——微软Bug管理
  13. Sqlite3 ---------------用法
  14. 圣诞节即将到来让你的Mac屏幕下雪只需一招轻松解决
  15. c 打印二叉树_二叉树遍历(非递归和递归实现)
  16. 快速排序 时间复杂度计算
  17. ICO和区块链的关系
  18. Java 碰壁小球游戏实例教程
  19. CMU 15-445实验记录(三):Project 2 B+Tree的插入与删除
  20. Qt断开信号与槽的方法,Qt信号的处理 (connect和disconnect和blockSignals的使用方法)

热门文章

  1. TCP/IP 和 TCP/IP的 三/四次握手
  2. centos树莓派安装mysql_树莓派3B+安装CentOS7
  3. 工作于内存和文件之间的页缓存, Page Cache, the Affair Between Memory and Files
  4. 全局光照技术解析Global Illumination Explained
  5. QR code 二维码基础入门教程
  6. iptables第一部分
  7. Redis持久化配置
  8. MySQL复制中slave延迟监控
  9. Discuz! 出现“您当前的访问请求当中含有非法字符“解决方法
  10. js 指定滚动条位置