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))
  • 相关阅读:
    后缀树到后缀自动机
    bzoj 4199 品酒大会
    BZOJ 4310 跳蚤
    BZOJ 4545 DQS的Trie
    BZOJ 3238 差异
    BZOJ 3277 串
    BZOJ 3926 诸神眷顾的幻想乡
    线程与进程
    SparkSql自定义数据源之读取的实现
    spark提交至yarn的的动态资源分配
  • 原文地址:https://www.cnblogs.com/tsboy/p/8243168.html
Copyright © 2011-2022 走看看