java - 为递归方法提供单个对象的函数

标签 java function recursion

代码已发布以供审核委员会审核。我的目的不是要求审查代码。

[迷宫]:https://codereview.stackexchange.com/questions/33155/maze-code-review

在上面的代码中,函数solve什么也不做,只是提供一个堆栈对象(对堆栈类型对象的引用),该对象将由递归执行的代码使用。

  1. 由于模式如此之多,是否有一个仅辅助/或为递归调用进行设置的函数的名称?

  2. 如果是的话,有什么该做/不该做/的替代方案吗?

最佳答案

我认为你做得很好。每个递归算法的第一步都需要一些初始值。通常的做法是将此初始调用封装在另一个方法中,以便调用者不必费心处理这些值。

如果您的初始值设置起来比较复杂,您也可以将其封装在其他方法中。假设你的堆栈需要有一些内容而不是空的。你可以这样做:

public List<Coordinate> solve() {
    return getMazePath(0, 0, getInitialStack());
}

这样,solve 方法就可以作为递归的入口点保持清晰和简单。

关于java - 为递归方法提供单个对象的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19557921/

相关文章:

c++ - 骑士之旅回溯无限循环

java - Google App Engine DataNucleus 3.1.1 意外异常错误

java - 从 Resources 文件夹中获取文件夹 JAVA

php - 函数不返回值

PHP - SQL 脚本创建器

arrays - 填充作为 bash 函数中的参数传递的数组

java - 从 guava (google) 中删除 Multimap 永远不会删除 key 本身。为什么?怎么做?

java - Stuckup with - HikariCP : JZ0C0: Connection is already closed (Sybase DB with SpringBoot v2. 1.7)

java - 理解递归的问题 - Java

java - 递归头痛