递归和二分法

Posted jinpan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归和二分法相关的知识,希望对你有一定的参考价值。

递归

定义:

函数的嵌套调用是:函数嵌套函数。函数的递归调用:它是一种特殊的嵌套调用,但是它在调用一个函数的过程中,又直接或间接地调用了它自身。

如果递归函数不断地调用函数自身,那么这个递归函数将会进入一个死循环,因此我们应该给递归函数一个明确的结束条件。

 

递归必须要有两个明确的阶段:

  1. 递推:一层一层递归调用下去,进入下一层递归的问题规模都将会减小
  2. 回溯:递归必须要有一个明确的结束条件,在满足该条件开始一层一层回溯。

 

递归次数

递归的次数为997 ,但可以用操作设置python运行环境的sys 来获得或者设置递归次数

import sys

#然后设置相关的递归次数

sys.getrecursionlimit()

sys.setrecursionlimit()

 

 

为什么用递归

递归的本质就是干重复的活,但是仅仅是普通的重复,我们使用while循环就可以了。递归的循环都是有目的性的

 

普通递归例子

 技术图片

 

 

二分法列子

技术图片

 

 

 三元二次表达式

三元表达式固定表达式
    值1 if 条件 else 值2
        条件成立 值1
        条件不成立 值2

 


列子:

技术图片

 


 

 

列表生产式

意会理解例子

技术图片

 

列表生产式和三元表达式的结合

技术图片

 

 

字典生产式

 意会列子

print(i: i**2 for i in range(10))

 

普通2列表转化字典列子:

 技术图片

 

列表生产表达式注意点:

技术图片

 

字典表达式小例子:

技术图片

 

 

 

匿名函数 

没有名字的函数
匿名函数的特点
临时存在用完就没了

匿名函数结构

# :左边的相当于函数的形参
# :右边的相当于函数的返回值
# 匿名函数通常不会单独使用,是配合内置函数一起使用


意会列子:

技术图片

 

 

部分内置函数以及与匿名函数的结合

意会列子~~~~~

char()

技术图片

 

 max()   min()

 技术图片

 

 map()

技术图片

 

 zip()

技术图片

 

filter()

技术图片

 

 sort()

技术图片

 

以上是关于递归和二分法的主要内容,如果未能解决你的问题,请参考以下文章

递归和二分法

python 递归和二分法查找

python的递归和二分法

二分查找的递归和非递归写法

递归和二分法

python 递归和二分法