递归栈:指程序在进行递归调用时,由函数调用栈自动维护的一段栈帧序列;每一次递归调用都会在栈上压入新的调用信息(如返回地址、参数、局部变量),递归返回时再逐层弹出。递归层数过深可能导致 stack overflow(栈溢出)。
/ rɪˈkɝːʒən stæk /
The recursion stack grows with each call.
递归栈会随着每一次调用而增长。
In a depth-first search, a very deep tree can exhaust the recursion stack and crash the program.
在深度优先搜索中,如果树非常深,可能会耗尽递归栈并导致程序崩溃。
recursion 源自拉丁语 recurrere(“跑回、返回”),在计算机语境中引申为“函数调用自身、重复返回”的过程;stack 原意为“堆叠”,在计算机中指“后进先出(LIFO)的栈结构”。合在一起,“recursion stack”就是“递归过程中用来堆叠调用信息的栈”。