腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
递归
函数
中
的
堆栈
实现
recursion
、
f#
、
stack
、
depth-first-search
、
backtracking
我试图使用深度优先搜索
实现
递归
回溯
函数
,但我陷入了一个需要知道我在矩阵
中
的
先前位置
的
点上。这个想法是这样
的
:我有一个矩阵作为2D数组,这是我
的
函数
: 标记当前点,如果该点是我正在寻找
的
点,我将矩阵
中
的
点设置为解决方案
的
一部分,并将所有先前标记
的
点也设置为解决方案
的
一部分。否则,我将
函数
调用到一个有效
的<
浏览 19
提问于2020-05-12
得票数 4
回答已采纳
2
回答
迭代(基于
堆栈
)快速排序比
递归
快吗?
optimization
、
recursion
、
quicksort
在不同
的
地方,我看到了使用
堆栈
实现
快速排序比使用
递归
更快
的
说法。这是真的吗?我知道编译器通常擅长将
递归
转换为迭代,但是链接到页面上
的
注释要求它过于复杂,无法进行优化。 尽管如此,
函数
仍然是
递归
的
,使用
函数
调用
堆栈
存储中间值l和h,<
浏览 2
提问于2014-07-15
得票数 1
1
回答
为什么将
递归
函数
改为显式使用
堆栈
可以避免
堆栈
溢出?
memory
、
recursion
尽管深度优先搜索可能被认为是一种
递归
算法,但
递归
并不是
实现
它
的
最佳方法。实际上,上面给出
的
代码会导致
堆栈
溢出,从而导致许多大型图失败。另一种
实现
是用显式
堆栈
替换
递归
堆栈
。我从一个关于深度优先图遍历
的
页面
中
读到这篇文章。 我想知道这是否是因为
递归
函数
使用内存
的
堆栈
部分;但是显式
堆栈
,另一方面,在
浏览 1
提问于2015-03-19
得票数 0
1
回答
何时应该使用
堆栈
将
递归
函数
转换为迭代
函数
?
recursion
、
tree
、
stack
、
binary-tree
、
binary-search-tree
我一直在使用迭代
函数
而不是
递归
函数
来
实现
二进制搜索树,并注意到我不需要为insert()之类
的
函数
创建
堆栈
,而是必须为与遍历和打印树
中
的
节点相关
的
函数
创建一个
堆栈
。我想知道在什么时候使用
堆栈
将
递归
函数
转换为迭代
函数
是否有一般
的
经验规则。
浏览 3
提问于2020-08-13
得票数 0
回答已采纳
2
回答
二叉树遍历
的
递归
与非
递归
binary-tree
二叉树遍历
的
递归
和非
递归
有什么不同?谢谢
浏览 0
提问于2012-09-11
得票数 2
1
回答
显式
堆栈
是否比
递归
更好
recursion
、
linked-list
、
stack
我们可以使用
堆栈
和
递归
以相反
的
顺序打印链表。我
的
老师说使用显式
堆栈
更好,因为
递归
也使用
堆栈
,但必须维护许多其他参数。即使我们使用stack
中
的
std::stack,引用外部库不也很耗时吗?与使用
递归
解决方案相比,使用显式
堆栈
如何节省时间/空间?
浏览 34
提问于2020-10-21
得票数 0
回答已采纳
4
回答
递归
函数
、
堆栈
溢出和Y组合器
c#
、
recursion
、
functional-programming
、
stack-overflow
、
y-combinator
我有一个
递归
函数
(在C#
中
),我需要调用大约8亿次;这显然会在大约第900次调用后导致
堆栈
溢出。我已经把它踢到了多个循环中,但是
递归
模式更容易维护,也更容易维护。我正在考虑使用y-combinator
实现
递归
函数
,从我读到
的
和看到
的
情况来看,它应该可以解决
堆栈
溢出问题,并修复多个嵌套循环。 有人有使用y-combinator
的
经验吗?我还会被
堆栈
溢出卡住吗?以阶乘
浏览 6
提问于2011-12-02
得票数 5
回答已采纳
1
回答
编写一个返回
堆栈
的
函数
,该
函数
包含小于给定数字
的
所有元素,并且顺序相同?
c++
、
recursion
、
stack
我
的
问题是,正如标题中所说
的
,编写一个接收
堆栈
和数字
的
函数
,并返回一个新
堆栈
,其中包含旧
堆栈
的
所有元素,这些元素都小于给定
的
编号,并且顺序相同。该算法必须使用
递归
实现
,并且具有尽可能低
的
时间和空间复杂度。由于我还不擅长
递归
,所以我以以下方式
实现
了这个方法:Stack<T> les
浏览 1
提问于2013-11-17
得票数 2
回答已采纳
3
回答
如何编写Python装饰器来增加
堆栈
深度?
python
、
decorator
问题RuntimeError: maximum recursion depth exceeded 是否有一种方法可以编写一个@B
浏览 3
提问于2012-11-21
得票数 12
回答已采纳
2
回答
尾
递归
函数
的
性能
algorithm
、
scala
、
performance
、
recursion
、
tail-recursion
在这种情况下,有一种典型
的
重写方法--使用“助手
函数
”和中间结果
的
附加参数。
函数
仍然可以重写为尾
递归
,但这可能需要额外
的
数据结构和
实现
中
更多
的</em
浏览 3
提问于2021-10-21
得票数 2
回答已采纳
4
回答
C-在
递归
方法
中
管理调用
堆栈
c
、
recursion
、
stack-overflow
、
quicksort
、
callstack
我是新来
的
,我有一个困扰着我
的
问题。我是一个初学者,所以请不要嘲笑我。我想对大量
的
元素进行
递归
快速排序,比如说10000。我知道这会导致
堆栈
溢出。过去几天我一直在谷歌上搜索,试图找到一种管理调用
堆栈
的
方法。我真的找不到好
的
信息来源。我
的
想法是删除每个
递归
调用
的
返回地址,除了最后一个,它将返回到第一个
函数
调用。我不知道这是否可能,或者它是否是这个问题
的
另一个解决方案
浏览 0
提问于2012-04-04
得票数 3
4
回答
将
递归
函数
转换为非
递归
函数
recursion
我只想知道,有没有可能把这个
递归
函数
转换成非
递归
函数
{ if (eff
浏览 0
提问于2010-01-22
得票数 0
2
回答
如何在python中经过一定时间后退出
递归
DFS算法?
python
、
algorithm
、
recursion
、
timeout
、
exit
我在python中有一个
递归
深度优先搜索
函数
,我想在一段时间后完全退出(整个
堆栈
)。
递归
函数
知道剩余
的
时间(它传递了一个名为time_remaining
的
变量),当这个time_remaining小于100ms时,我想退出整个
递归
堆栈
,并返回一些默认值。在python
中
实现
这一点
的
最好方法是什么?
浏览 26
提问于2017-01-21
得票数 3
3
回答
是否可以将方法名称存储在数组
中
,并计算它被调用了多少次?
java
、
arrays
、
stack
、
callstack
我需要模拟一个呼叫
堆栈
。现在我已经
实现
了我
的
堆栈
,现在我想知道是否有一种方法可以将方法名存储在数组
中
。例如,我有一个
递归
函数
,循环5次,所以
堆栈
是:recur() //fourthrecur() //second但是,是否存在将它们存储在数组
中
浏览 1
提问于2020-03-20
得票数 2
回答已采纳
6
回答
仅使用堆区域
的
递归
c
、
recursion
、
heap-memory
是否有仅使用堆区域
的
递归
示例?
浏览 2
提问于2010-05-11
得票数 5
回答已采纳
1
回答
内存空间或
递归
调用
的
“成本”是多少?
memory-management
假设我们想要
实现
一个数据结构,比如二进制搜索树。 可以通过为指向树
中
父节点
的
指针分配每个节点额外
的
空间来
实现
树
的
每个方法,而无需使用
递归
。这样,我们就可以随意穿越这棵树。好处很明显--我们不需要进行
递归
调用来处理父消息,过多
的
递归
调用可能会导致
堆栈
溢出。另一方面,使用父指针需要O(n)内存空间,这在处理大量数据时可能很严重。因此,我
的
问题是--使用
递归
调用
浏览 6
提问于2022-02-05
得票数 -1
6
回答
是否建议用Python编写
递归
函数
?
python
、
recursion
作为实验
的
一部分,我在python
中
编写了verilog (逻辑门及其连接性描述)模拟器。我遇到了
堆栈
限制
的
问题,所以我做了一些阅读,发现Python没有“尾调用优化”特性(即在
递归
过程
中
动态删除
堆栈
条目)。( 2)假设我可以在没有
堆栈
跟踪
的
情况下生活,我是否可以绕过这一限制。 我之所以这样问是因为Verilog主要处理状态机,它可以使用
递归
函数
以一种优雅
的
方式
实现</em
浏览 10
提问于2014-08-13
得票数 11
回答已采纳
5
回答
每一个
递归
都能被转换成迭代吗?
c
、
recursion
、
iteration
每个
递归
函数
都可以转换为迭代吗?
递归
函数
应该具有什么特性才能使用迭代来
实现
它? pathCounter++; }} 扩展:在不
实现
自己
的
堆栈
的</e
浏览 10
提问于2012-07-29
得票数 4
5
回答
Lisp表达式
的
平面求值
c
、
lisp
、
eval
、
s-expression
我想弄清楚如何
实现
Lisp评估non-recursive.我
的
基于C
的
评估器是文件l1.c。我可以想出一些可能
的
方法: 在Forth
中
实现
平面Forth评估器并
实现
Lisp评估,这是所做
的
事情。另一种可能是将l1.c
中
的
所有
递归
函数
连接到一个大开关循环中。局部变量将被连接到基于堆
的
结构
中
,对
递归</em
浏览 2
提问于2012-10-21
得票数 4
回答已采纳
4
回答
带
堆栈
的
Fibonacci
递归
algorithm
我希望将一个
递归
函数
转换为一个基于
堆栈
的
函数
,而不需要
递归
。例如,fibonacci
函数
: i = 0 i += Fibonacci(x-2)(是的,我知道我没有给出一个基本情况,对斐波纳契
的
递归
是非常低效率
的
) 如何使用显式
堆栈
实现
这一点?例如,如果我将<em
浏览 7
提问于2010-08-02
得票数 6
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
对象存储
即时通信 IM
云直播
活动推荐
运营活动
广告
关闭
领券