由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请问如果要求in place的话,递归是不是就不能用了?
相关主题
借人气问个C递归函数的问题A家面试题
关于Inplace排序栈元素的解法?一个特别的inplace merge two sorted arrays
Quick sort为什么需要logN的memory?amazon on-site interview
10分钟前的F家电面面经DFS用stack不用递归的话怎么color node?
遍历二叉树除了recursion还有啥好办法?问一道老题
两个月没做题了~~请教一道题
请问一个关于递归算法的问题。FaceBook面经--第一部分
函数被调用过程到底发生什么?哪位大写给说说 何时用 merge sort, 何时用 quick sort, 何时 heap sort
相关话题的讨论汇总
话题: 递归话题: 递归函数话题: stack话题: place话题: inplace
进入JobHunting版参与讨论
1 (共1页)
l*****e
发帖数: 1374
1
rt
c********1
发帖数: 161
2
当然不是,比如quick sort就是可以用递归实现的in place sorting....... In place
的意义不在于不用空间或者用的空间很小,而是说随着N的增长,运行所需的extra的空
间是constant的。
l*****e
发帖数: 1374
3
thanks!
f****4
发帖数: 1359
4
递归函数的space怎么算?
如果递归函数本地有个变量,递归函数被调用k次,space算k还是算1?
递归函数本身的堆栈空间忽略不计么?
递归函数,书上就速度分析,没有空间分析(也可能我看漏了)

place

【在 c********1 的大作中提到】
: 当然不是,比如quick sort就是可以用递归实现的in place sorting....... In place
: 的意义不在于不用空间或者用的空间很小,而是说随着N的增长,运行所需的extra的空
: 间是constant的。

a********m
发帖数: 15480
5
好像算法书都不算。不过有的面试中会问到这个。
c********1
发帖数: 161
6
这个问题就难说了,不是一句两句说得清的,可以自己体会下merge sort和quick sort
的算法空间复杂度。另外,递归往深了说就是stack,既然自己外部调用stack可以做到
inplace和计算空间复杂度,那么递归用program stack也就可以用同样的方法计算了。
f****4
发帖数: 1359
7
这里就用树的中续遍历来说好了
如果是用stack的话,stack最长要能存储树的最长路径
最坏情况长度为n,最优为lgn
那么用递归的话,如果空间需要考虑stack的话,递归算不算inplace?
如果我们认为递归的stack开销不考虑,那么,我假设在这个树递归函数里面maintain
了一个local变量
那么因为这个函数在单核情况下,同一时间最多被调用n次,最少lgn次。那么这个算法
算是inplace么?(毕竟这里用到的额外内存为lgn ~ n 个)
还有,书上那个stack的分析是Amortized analysis
难道inplace也可以说是Amortized inplace?

sort

【在 c********1 的大作中提到】
: 这个问题就难说了,不是一句两句说得清的,可以自己体会下merge sort和quick sort
: 的算法空间复杂度。另外,递归往深了说就是stack,既然自己外部调用stack可以做到
: inplace和计算空间复杂度,那么递归用program stack也就可以用同样的方法计算了。

1 (共1页)
进入JobHunting版参与讨论
相关主题
哪位大写给说说 何时用 merge sort, 何时用 quick sort, 何时 heap sort遍历二叉树除了recursion还有啥好办法?
对自己DFS能力彻底的绝望了。两个月没做题了~~
还有两个题。请问一个关于递归算法的问题。
递归多少层会stackoverflow?函数被调用过程到底发生什么?
借人气问个C递归函数的问题A家面试题
关于Inplace排序栈元素的解法?一个特别的inplace merge two sorted arrays
Quick sort为什么需要logN的memory?amazon on-site interview
10分钟前的F家电面面经DFS用stack不用递归的话怎么color node?
相关话题的讨论汇总
话题: 递归话题: 递归函数话题: stack话题: place话题: inplace