目录

一、函数调用背后的过程

二、栈在递归中的应用

三、总结

一、函数调用背后的过程

函数调用的特点:最后被调用的函数最先执行结束(LIFO)

函数调用时,需要用一个栈存储:

①调用返回地址

②实参

③局部变量

 

二、栈在递归中的应用

适合用“递归”算法解决:可以把原始问题转换为属性相同,但规模较小的问题

Eg 1: 计算正整数的阶乘

数据结构笔记——栈的应用(递归)

数据结构笔记——栈的应用(递归)

递归调用时,函数调用栈可称为“递归工作栈”

每进入一层递归,就将递归调用所需信息压入栈顶

每退出一层递归,就从栈顶弹出相应信息

Eg 2:斐波那契数列

数据结构笔记——栈的应用(递归)

数据结构笔记——栈的应用(递归)

数据结构笔记——栈的应用(递归)

三、总结

数据结构笔记——栈的应用(递归)

相关文章: