zoukankan      html  css  js  c++  java
  • 递归函数

    一、简单版-递归函数

    n = 0
    def func():
        global n
        n=n+1
        print(n)
        func()
    func()

      在函数里调用自己这个函数,如果没有退出则一起调用,每调用一次会多占用一个内存空间,在占用到999的内存空间时,python会默认关闭程序,以防内存被占满,可以手动调整这个值。

    import sys     

    sys.setrecursionlimit(1000000)

      在执行后也会退出,退出根本电脑配置决定,电脑也不会让程序一直占用内存。

    二、中级版-递归函数

       当A的值比B的值大5,B的值比C的值大5,C的值比D的值大5,D=30,问A的值多少。

    def func(y):
        if y == 4:
            return 30
        else:
            return func(y+1) + 5
    print(func(1))

    三、初始算法之 ---二分查找法

        二分查找法,查找某一列表中的索引位置。

    def func(l,aim,start = 0,end = None):
        end = len(l) if end is None else end
        mid_index = (end - start)//2 + start
        if start <= aim:
            if l[mid_index] < aim:
                return func(l,aim,start=mid_index+1,end=aim)
            elif l[mid_index] > aim:
                return func(l,aim,start = start,end=mid_index-1 )
            else:
                return mid_index
        else:
            return '找不到'
    l = [1,2,3,4,5]
    print(func(l,3))
  • 相关阅读:
    Search a 2D Matrix
    binary search bug
    Find Minimum in Rotated Sorted Array II
    Search in Rotated Sorted Array 【新思路】
    Find Peak Element
    Find Minimum in Rotated Sorted Array
    DFS判断连通图
    分支限界法解决01背包问题
    python中ndarray和matrix
    python对数组缺失值进行填充
  • 原文地址:https://www.cnblogs.com/tsboy/p/8243168.html
Copyright © 2011-2022 走看看