美文网首页
python二分法

python二分法

作者: 小小测试 | 来源:发表于2023-01-03 11:58 被阅读0次

# 来复习一下二分法

# 第一种方法: 递归

def eropen(l,num):

    m = len(l) // 2

    if m > 0:

        if l[m] > num:

            eropen(l[:m],num)

        elif l[m] < num:

            eropen(l[m+1:], num)

        else:

            print(你找的数字在列表中)

    else:

        print(你找的数字不在列表中)

l = [1, 3, 4, 6, 7, 8, 9, 11, 15, 17, 19, 21, 22, 25, 29, 33, 38, 69,99,107]

print(eropen(l,22))

# 第二种方法(while else 用法)

def perform_open(l,num):

    '''

    :param l: 有序的列表

    :return:

    '''

    low = 0

    high = len(l)-1

    while low <= high:

        middle = (low+high) // 2

        if l[middle] > num:

            high = middle - 1

        elif l[middle] < num:

            low = middle + 1

        else:

            print("你要找是值为{},在列表中的第{}位".format(l[middle],middle))

            break

    else:

        print("你找的数字不在列表中")

l = [1, 3, 4, 6, 7, 8, 9, 11,15, 17, 19, 21, 22, 25, 29, 33, 38, 69,99,107]

perform_open(l,15)

相关文章

  • SQL注入奇淫技巧——利用dnslog获取看不到的信息

    对于sql盲注,常用的方法应该是二分法了,为此之前还写过通过二分法猜解的半自动化python脚本,说实话,pyth...

  • 冒泡排序、选择排序和二分法查找

    冒泡排序 选择排序 二分法查找 概念 1.使用二分法好处: 可以加快寻找的效率。2.使用二分法特点: 二分法...

  • 二分法查找

    二分法基本查找 二分法遍历查找

  • 2.25python笔记 高阶编程

    @[TOC](2.25学堂在线python学习笔记 高阶编程) # 高阶编程 1. 利用二分法查找一个字符是否在某...

  • 二分法查找

    二分法查找的前提是数组必须排序!!!二分法查找的前提是数组必须排序!!!二分法查找的前提是数组必须排序!!!二分法...

  • Python 二分法

    二分法定义: 二分法是一种快速查找的方法,时间复杂度低,逻辑简单易懂,总的来说就是不断的除以2除以2... 例如需...

  • python—二分法

    定义:二分法是一种快速查找的方法,时间复杂度低,逻辑简单易懂,总的来说就是不断的除以2除以2... 规定:范围每次...

  • python 二分法

    list=[1,2,3,4,5,6,7,8,9,10] high=len(list) low=0 x=int(in...

  • python 二分法

    原理:所谓的“二分法”是通过获取列表的中间位置后,根据中间位置来进行判断需要查找的数字的大小在左边还是右边,然后继...

  • 手绘日常

    人物素描 今天重点讲二分法 二分法的重要性

网友评论

      本文标题:python二分法

      本文链接:https://www.haomeiwen.com/subject/ytklcdtx.html