• 递归函数与二分查找算法


    1,递归函数

    本质:在一个函数里在调用这个函数本身

    2,递归举例

    比如计算一个数的阶层

    def fun(x):
        if x==1 or x==0:
            return 1
        else:
            return fun(x-1)*x
    ret=fun(7)
    print(ret)

    3,二分查找算法

    对于一个按大小排序的列表,可以利用二分查找来找到列表中某个元素的索引

    l = [2, 3, 5, 10, 15, 33, 55]
    def two_search(li, aim, start=0, end=None):
        end = len(li)-1 if end is None else end
        mid_index = (end - start) // 2 + start  # 3
        if start <= end:
            if li[mid_index] < aim:
                return two_search(li, aim, start=mid_index+1, end=end)
            elif li[mid_index] > aim:
                return two_search(li, aim, start=start, end=mid_index-1)  
            elif li[mid_index] == aim:
                return mid_index
            else:
                return '没有此值'
        else:
            return '没有此值'
    print(two_search(l,100))
  • 相关阅读:
    软链接和硬链接
    Hive的基本常识
    Hadoop
    Docker技术
    人生苦短,我用Python(6)
    人生苦短,我用Python(5)
    人生苦短,我用Python(4)
    openssl telnet openssh
    iptables
    http与httpd
  • 原文地址:https://www.cnblogs.com/leiwei123/p/8746893.html
Copyright © 2020-2023  润新知