栈帧

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

             

 

   

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

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

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

 

 

 栈 (Stack)

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

栈的基本操作

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

 

posted @ 2022-12-23 15:35  红tea  阅读(18)  评论(0编辑  收藏  举报