algorithm - 递归函数的空间复杂度分析
问题描述
在典型的面试中,当被问及“算法的空间复杂度是多少”以及该算法是否是递归的时,面试通常是指“在算法的整个生命周期内调用帧堆栈的最大次数”,还是他意思是“在函数中创建的任何给定变量中元素的最大数量”?
在非递归算法中,后者的定义通常是空间复杂度的定义。但是在递归中,我们必须分别定义两者吗?
解决方案
如果没有更多信息,“空间复杂度是多少”将指程序使用的总空间。那是堆栈和堆空间。
推荐阅读
- node.js - 使用条件 addToSet/pull 更新 MongoDB
- nuget - nuget 未在 project\bin 目录中安装文件
- git - 我如何简单地使用任何 vcs [例如 git、svn 等] 管理从本地到远程的极端 lfs?
- hadoop - Hadoop jar WordCount.jar WordCount /input /output 不起作用
- angular - 如何在 2 个延迟加载的模块之间共享相同的服务实例 - 不在根目录下
- javascript - Slick-js 轮播在移动视图(320px)上的第一张和第二张幻灯片之间交替
- c# - 分配时修剪自动实现的属性
- javascript - 如何在 vuetify 芯片中获取价值
- c# - Shellstream 处理网络切换命令不一致
- javascript - 从缓冲区数据创建图像二进制数据数组