zoukankan      html  css  js  c++  java
  • 递归

    在函数的内部调用自己
    递归的最大深度:998
    例子:猜年龄

    def age(n): #n = 1 ,n = 2
    if n == 3: #n = 3
    return 40 #返回40
    else:
    return age(n+1)+2 #n = 2 ,n = 3

    print(age(1))

    # 递归求解二分查找算法:必须是有序的数字集合的查找问题
    算法 --计算一些比较复杂的问题,所采用的,在空间上(内存)或者时间(执行时间)上,更优势的方法

    # 排序 50000万个数 ,快速排序,堆排序 ,冒泡排序

    # 查找
    #通过递归

    l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88]
    def cal(l,num,start=0,end=None): #(l列表,66,开始,结束)
    end = len(l)-1 if end is None else end
    if start <= end:
    mid = (end - start)//2 + start
    #mid = (24 - 0)//2 + 0
    if l[mid] > num:
    return cal(l,num,start,mid -1)
    elif l[mid] < num:
    return cal(l,num,mid+1,end)
    else:
    return mid
    else:
    return None
    print(cal(l,60)) #(列表,需要查看的数)
  • 相关阅读:
    GRUB引导——menu.lst的写法
    条形码类型及常见条形码介绍
    Tmux:终端复用器
    find+*的问题
    find命令之exec
    Linux core 文件介绍
    C语言中返回字符串函数的四种实现方法
    C语言中的volatile
    Stars
    Game with Pearls
  • 原文地址:https://www.cnblogs.com/liwei-python-21/p/9027117.html
Copyright © 2011-2022 走看看