首页 > 代码库 > Day5_递归_二分法
Day5_递归_二分法
递归调用:
在调用一个函数的过程中,直接或间接的调用函数本身。
def func():
print(‘from func‘)
间接调用:
def foo():
print(‘form foo‘)
bar()
def bar():
print(‘form foo‘)
foo()
递归都是有次数限制的。
问5个人年龄,第五个比第四个大2岁,以此类推,第一个18岁。
def age(n): if n ==1: return 18 return age(n-1)+2 print(age(5))
递归的执行分为两个过程:
递推和回溯。
循环取出列表中的所有元素:
l=[1,2[3,4[5,6[7,8[9,10]]]]] def search(l): for item in l: if type(item) is list: search(item) else: print(item) search()
二分法:
l=[1,2,5,7,10,31,44,47,56,99,102,130,240]
def binary_search(l,num): print(l) if len(l) > 1: mid_index=len(l)//2 if num > l[mid_index]: l=l[mid_index:] binary_search(l,num) elif num < [mid_index]: l=l[:mid_index] binary_search(l,num) else: print(‘find it‘) else: if l[0] == num: print(‘find it ‘) else: print(‘not exist‘) return
Day5_递归_二分法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。