• python 二分查找法


    @source_data:数据集
    @binary_num:要查找的数
    @mid:中间数的键值
    def binary_search(source_data,search_num):
        #传入数据集计算中间数键值
        mid = int(len(source_data)/2)
        #确认数据集的数据个数大于1
        if int(len(source_data)) >1:
            #判断要找的数与中间数比较,如果中间数大于要找的数,要找的数在中间数左边
            if source_data[mid] > search_num:
                # 显示数据的大概位置
                print("search_num in left [%s]" % source_data[mid])
                #重复判断查找
                binary_search(source_data[:mid], search_num)
            #如果中间数小于要找的数,要找的数在中间数右边
            elif source_data[mid] < search_num:
                #显示数据的大概位置
                print("search_num in right [%s]" % source_data[mid])
                # 重复判断查找
                binary_search(source_data[mid:], search_num)
            else:
                # 中间数正好等于要找的数,则打印出来
                print("find search_num",source_data[mid])
        else:
            #如果等于1输出提示信息
            print("can't find search_num")
    
    if __name__== '__main__':
        data = [1,2,3,4,5,6,7]
        print(data)
        binary_search(data,4)
    技术让生活更优质!
  • 相关阅读:
    mysql 关联关系
    Powershell
    判断Server Manager里面的Role是否已经安排
    Powershell 获取文件版本信息
    PowerShell---Operators 介绍
    C#代码覆盖率 -vsinstr和OpenCover
    敏捷测试介绍
    c#中abstract、override、new、virtual、sealed使用
    装箱和拆箱
    Code Review
  • 原文地址:https://www.cnblogs.com/chennuo/p/6402727.html
Copyright © 2020-2023  润新知