day_06递归二分查找
Posted kongzhou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day_06递归二分查找相关的知识,希望对你有一定的参考价值。
递归
递归意味着调用自身。
递归函数通常包括以下俩部分。
基线条件:(针对最小的问题)满足这个条件是将直接返回一个值。
递归条件:包含一个或多个调用,这些调用旨在解决问题的一部分。
1 def fun(n): 2 if n == 1: 3 return 1 4 else: 5 return n * fun(n-1)
1 def fun(n, x): 2 if x == 0: 3 return 1 4 else: 5 return n * fun(n, x-1)
1 def fun(n): 2 if n == 1: 3 return 1 4 else: 5 return 2 * fun(n-1) + 1
递归最大层数998.
修改递归层数。
import sys print(sys.setrecursionlimit(100000))
二分查找
l1 = [1, 2, 4, 5, 7, 9] def two_search(l,aim,start=0,end=None): end = len(l)-1 if end is None else end mid_index = (end - start) // 2 + start if end >= start: if aim > l[mid_index]: return two_search(l,aim,start=mid_index+1,end=end) elif aim < l[mid_index]: return two_search(l,aim,start=start,end=mid_index-1) elif aim == l[mid_index]: return mid_index else: return ‘没有此值‘ else: return ‘没有此值‘ print(two_search(l1,9))
以上是关于day_06递归二分查找的主要内容,如果未能解决你的问题,请参考以下文章
oldboy seventeenth day. I love Python. 万恶之神: 递归; 初始算法: 二分查找;