• python3--算法基础:二分查找/折半查找


    算法基础:二分查找/折半查找
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    # 算法基础:二分查找/折半查找
    
    def binarySearch(dataSource, find_n):
        mid = int(len(dataSource) / 2)
        if len(dataSource) >= 1:
            if dataSource[mid] > find_n:
                print("data in left of [%s]" % (dataSource[mid]))
                binarySearch(dataSource[:mid], find_n)
            elif dataSource[mid] < find_n:
                print("data in right of [%s]" % (dataSource[mid]))
                binarySearch(dataSource[mid:], find_n)
            else:
                print("find data is : [%s]" % (dataSource[mid]))
        else:
            print("not find data ...")
    

    以上代码运行结果:

    3333
    data in left of [4999]
    data in right of [2500]
    data in right of [3748]
    data in right of [4372]
    data in right of [4684]
    data in right of [4840]
    data in right of [4918]
    data in right of [4957]
    data in right of [4978]
    data in right of [4987]
    data in right of [4993]
    find data is : [4996]
    ------------------------
    data in right of [4999]
    data in left of [7498]
    data in left of [6247]
    data in left of [5623]
    data in left of [5311]
    data in left of [5155]
    data in left of [5077]
    data in left of [5038]
    data in left of [5017]
    data in left of [5008]
    data in left of [5002]
    not find data ...
    
  • 相关阅读:
    解决docker pull很慢的方法
    Linux 基础 Day1
    linux运维人员必须熟悉的运维工具汇总
    chrome 浏览器插件推荐
    只能运维主要职责
    Linux查看所有用户用命令
    ubuntu16.04 离线包安装docker
    2013-10
    ELK原理与介绍
    shell中各种括号的作用()、(())、[]、[[]]、{}
  • 原文地址:https://www.cnblogs.com/chenlin163/p/7284757.html
Copyright © 2020-2023  润新知