gpt4 book ai didi

java - Java中最快的递归逃脱

转载 作者:太空狗 更新时间:2023-10-29 23:01:01 28 4
gpt4 key购买 nike

<分区>

在 Java 中有没有一种方法可以干净快速地避免递归?有一种方法可以使用 break; 语句从 for 循环 中跳出。是否有等效的模式或方法来转义递归?

我可以考虑生成一个单独的线程,一旦计算出值,就简单地杀死一个线程,而不是使递归堆栈冒泡。有没有更好的办法?

已经有一个问题讨论了如何打破递归:here .

我正在寻找一种更快的方法来实现它,可能不需要返回堆栈。类似于 gotobreak 语句。

这里考虑的标准是:

  • 重构以使用此转义的难易程度
  • 原始性能(越快越好)
  • 练习时长(写/加越快越好)

我正在寻找的答案将解释解决方案的性能和简单性 - 这是在算法竞赛的背景下提出的,因此需要较少重构的解决方案是首选。

我为什么要使用它?

有时在为某些算法竞赛编写代码时,您需要从递归内部返回一个值,我想知道您是否可以通过使用这种中断来更快地完成它。想想看起来像这样的算法:

public static MyClass myFunct(MyClass c, int x){
myFunct(c, c.valueA);
myFunct(c, c.valueB);
//do some work - that modifies class c
if(c.valueE == 7){
//finished work, can return without unwinding the whole recursion
//No more modifications to class c
}
myFunct(c, c.valueC);
myFunct(c, c.valueD);
return c;
}

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com