栈帧

栈帧随着方法的调用而创建,随着方法结束而销毁,存储了方法的局部变量信息

             

 

   

注意:栈中黑色代码不存在于栈帧中

如果递归调用没有终止,将会一直消耗栈空间,最终会导致栈内存溢出(Stack Overflow)

所以必须要有一个明确的结束递归的条件(也叫做边界条件、递归基)

 

 

 栈 (Stack)

先入后出( LIFO,last in, first out),添加,删除时间复杂度为O(1),查询为O(N)

栈的基本操作

入栈,出栈 针对的都是栈顶元素。对应了 添加(入栈)和删除 (出栈)操作,时间复杂度都是O(1)。 因为栈元素是无序的,查询某个节点的时间复杂度为 O(N),即,需要遍历查询。

 

posted @   红tea  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
点击右上角即可分享
微信分享提示