二分查找(python)

Posted 贾祥飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分查找(python)相关的知识,希望对你有一定的参考价值。

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/4/29 9:11
# @Author  : Jackendoff
# @Site    : 
# @File    : 二分树.py
# @Software: PyCharm

data = [1,3,6,7,12,14,16,17,18,20,21,22,23,30,32,35]

def binary_serch(dataset,find_num):
    print(dataset)

    if len(dataset) > 1:
        mid = int (len(dataset)/2)
        if dataset[mid] == find_num:
            print(\'找到数字%s\'%find_num)
        elif dataset[mid] > find_num:
            print(\'找的数字在%s左边\'%dataset[mid])
            return binary_serch(dataset[0:mid],find_num)
        else:
            print("找的数字在%s右边"%dataset[mid])
            return  binary_serch(dataset[mid+1:],find_num)
    else:
        if dataset[0] == find_num:
            print(\'找到数字\')
        else:
            print(\'没有这个数字\')

binary_serch(data,35)



#结果如下

D:\\untitled\\venv\\Scripts\\python.exe D:/untitled/bogls/二分树.py
[1, 3, 6, 7, 12, 14, 16, 17, 18, 20, 21, 22, 23, 30, 32, 35]
找的数字在18右边
[20, 21, 22, 23, 30, 32, 35]
找的数字在23右边
[30, 32, 35]
找的数字在32右边
[35]
找到数字

Process finished with exit code 0

 

以上是关于二分查找(python)的主要内容,如果未能解决你的问题,请参考以下文章

python实现二分叉查找

python实现二分查找与冒泡排序

python实现二分查找

Python 算法之二分查找

python数据结构与算法第十四天二分查找

0518Python基础-内置函数-二分查找