zoukankan      html  css  js  c++  java
  • Day15

    1、递归函数

    import sys
    sys.setrecuresionlimit(10000)
    def func():
        n+=1
        print(n)
        func()
    func(0)        
    #执行一次开辟一个空间,python对你的内存有一个保护机制,默认只能递归到998层
    View Code
    def age(n):
        if n==1:
            return 18
        else:
            return age(n-1) +2
    print(age(4))    #age(3) +2     age(2)+2+2  18+2+2+2

    2、二分查找法

    算法:二分查找,树运算,堆,栈

    前提:有序且唯一的数字数列

    l = [2, 3, 5, 10, 15, 33, 55]
    #1、aim  6
    #2、aim与list的中间的数进行比较mid,aim>mid 取mid--end 中间的数与aim在进行比较
    #3、aim与list的中间的数进行比较mid,aim<mid 取start--mid中间的数与aim在进行比较
    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
        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=min_index-1)
            elif li[mid_index]==aim:
                return mid_index
            else:
                return '没有此值'
    print(two_search(l,100))
  • 相关阅读:
    二分法扩展——就近查找
    Right Dominant Elements问题
    数组循环左移
    两个有序序列的中位数
    装箱问题
    IDEA中Tomcat热部署不生效问题解决办法
    H2数据库简单使用操作
    常用网站
    Spring Framwork Maven dependency
    报错Too many connections
  • 原文地址:https://www.cnblogs.com/a352735549/p/8747304.html
Copyright © 2011-2022 走看看