python中的递归函数与二分查找

· Special

递归默认最大可调用999次,因为每调用一次函数,通过栈(stack)数据结构实现。

八重神子

不推荐使用

  1. 效率不高
  2. 需要有明确的结束条件
  3. 问题规模较上次有所减少

    #创建有序列表
    a=list(range(100))

    #创建二分查找函数
    def num_check(x,y):

     #中间数
     mid=int(len(x)/2)
    
     #比较获得的数字获取二分范围
     if y>x[mid]:
         num_check(x[mid:],y)
     elif y<x[mid]:
         num_check(x[:mid],y)
     elif y==x[mid]:
         print('bingo the numer in list')
     else:
         print('nothing')
    


评论