loannes's blog

标签 · 递归

首页

关于

归档

loading..
递归

算法图解笔记(二) \-\-- 递归

============================= 栈 每当调用函数时,计算机会将函数调用设计的所有变量存贮到内存中。 在函数内调用函数时,内部的函数在调用完成后会返回到上一次函数并且会被踢出栈堆。未完成的函数不会被踢出栈堆。 创建递归函数时刻要记得基线条件和递归条件 一段关于栈的代码解读 def fact(x): if x==1: return 1 else: return x*fact(x-1) 代码解读:(以x=3为例) 当x=3,程序进入了else条件并且执行递归,随后创建了x=2的内存块被将其放入栈堆中。 执行x=2的函数,因为此时x不等于1所以还是进入了else条件执行递归,随后创建了x=1的内存块并将其放入栈堆中。 此时x=1则进入第一个条件返回1,该轮函数..

更多