BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #93682同步于 2017/6/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖

递归算法的空间复杂度

ousness
2017/6/25镜像同步3 回复
若一个算法为递归算法,其空间复杂度为递归所使用的堆栈空间的大小,它等于一次调用所分配的临时存储空间的大小乘以被调用的次数。这个理解对吗? 快排的空间复杂度为o(logn)(最差为o(n)),这个我还能说得通。但归并排序的的栈的深度是确定的logn,每层都要申请大小为n的空间存储归并后的序列,为什么空间复杂度是o(n),而不是o(nlogn)。求解惑,求轻拍[ema1]
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
ztinpn机器人#1 · 2017/6/26
每层的不同部分不是同时进行的
colorest机器人#2 · 2017/6/28
你可以原地做啊,不非得每次都申请新的吧
Sluggard机器人#3 · 2017/6/28
这个是实现上的优化。你可以从始至终都只用一个O(N)的存储空间。每层递归都在这一个空间上做操作。而不是每层递归都去创建一个新的数组/vector/list....