问题标签 [recursive-backtracking]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - void 类型如何处理递归回溯返回
为了概括这个问题,我从 Zelenski CS 课程讲义中借用了材料。而且,这与我的具体问题有关,因为几年前我从不同的讲师那里上课并学习了这种 C++ 方法。讲义在这里。由于我偶尔使用它,因此我对 C++ 的理解很低。基本上,有几次我需要编写一个程序,我回到课堂材料,找到类似的东西并从那里开始。
在此示例中(第 4 页),Julie 正在字符串函数中使用递归算法查找单词。为了减少递归调用的次数,她添加了一个决策点bool containsWord()
。
为了增加如何使用该算法的灵活性,可以将其实现为 void 类型吗?
而且,没有回报怎么办
c - 8皇后密码不起作用
我一直在尝试调试我制作的这段代码,它在数组的第一行只输出 1,所有其他元素都为零(从第二行到最后一个元素。),是不是传递数组的函数调用问题按价值或其他方式。帮助表示赞赏。
java - 骑士巡回赛回溯持续时间过长
在 8x8 板上回溯解决骑士巡回赛问题需要多长时间?因为我的算法已经以某种方式计算得太长了,而且看起来,它不会完成。但是当我尝试 6x6 或 5x5 板时,它成功完成。
编码:
c++ - 回溯范式:是否可以在没有递归的情况下做到这一点?
示例:使用回溯求解数独
你如何在没有递归的情况下回溯 - 使用循环?我只有在您调用 backtrack() 本身时才找到解决方案。
java - 使用递归找到所有可能的最长递增子序列
我试图使用递归找到所有可能的最长递增子序列。当我尝试输入数组{10,22,9,33,21,50,41,40,60,55}
时,它起作用了,输出为:
但是当我尝试输入数组时{2,-3,4,90,-2,-1,-10,-9,-8}
,我得到了一个输出:
在这种情况下,我没有得到2 4 90
. 我应该在我的代码中进行哪些更改以使其适合这种情况?
c - 我在用递归回溯算法解决 C 中的数独时遇到问题
我可以解决一个简单的难题,但尝试稍微难一点的难题是不可能的;我在看什么?这是我的求解器方法:
我的 checkEverything 函数检查以确保给定的数字可以安全地放置在行、列和 3x3 网格中……我很迷茫,因为它似乎对我来说是正确的,但它太慢了。谢谢你的帮助!
algorithm - 如何编写迭代算法来生成集合的所有子集?
我编写了递归回溯算法来查找给定集合的所有子集。
现在我们必须以迭代的形式编写相同的算法,该怎么做?
java - 在迷宫中寻找路径
我最近接受了一次采访,被问到以下问题。
迷宫是一组链接的地方。每个地方都有与其相邻的北、南、东和西地方。有两个特殊的预定义 Place 的: Place Wall 代表一堵墙——鼠标不能去那里。地方奶酪是……奶酪!地方之间的连接是对称的——如果你从任何地方开始,然后向北走,然后向南走,你就会回到原来的地方。
为简化起见,迷宫没有闭环——也就是说,如果你从任何地方开始并沿着任何路径走,你最终要么撞到墙,要么找到奶酪——除非你真的回溯你的脚步,否则你永远不会回到你开始的地方.
一只老鼠从某个地方开始四处寻找奶酪。当它找到 Cheese 时,它会返回一组方向 - 一串字母 NSEW,从它开始的位置指向 Cheese。
以下框架定义了类和函数。此处未包含的其他一些代码通过创建一堆 Place 并链接它们来生成迷宫。然后它调用 mouse(),从迷宫中传递一些起始位置:
实现 findCheese()。您可以将所需的任何字段或辅助方法添加到鼠标。额外功劳:消除“无闭环”限制。也就是说,更改您的代码以使其正常工作,即使可能存在像 SSNEEW 这样的路径将鼠标引导回它开始的地方。
这是我尝试过的。我知道这不是最好的或优化的解决方案,我希望得到关于我还能尝试什么的反馈。我没有考虑额外的信用部分
recursion - 回溯和递归解决迷宫
我的任务是使用回溯和递归的方法解决迷宫。这更多是关于这个概念的概念问题。
回溯电话是如何到达的?从我看到的所有示例中,似乎总是在回溯步骤之前立即调用递归,因此无法达到回溯。谁能向我解释如何达到回溯步骤?