advanced
递归算法迭代化重构
将一个计算深度的递归算法重构为非递归的迭代版本,以避免栈溢出并优化空间复杂度。
📝 Prompt Content
请分析以下Python递归函数(用于计算目录结构的总深度),并将其重写为使用显式栈的迭代版本。要求:
1. 处理极端深的目录结构,防止RecursionError。
2. 保持原有功能逻辑不变。
3. 添加详细的注释解释栈的操作过程。
原代码示例逻辑(伪代码):
def get_depth(path):
if not os.listdir(path): return 1
return 1 + max(get_depth(os.path.join(path, sub)) for sub in os.listdir(path))
请提供完整的重构代码。