depth-first-search

    0热度

    3回答

    嘿,我是在当地的编程竞赛,他们问我这个问题,我不能这样做,请帮助我在这一个。 编写一个程序,从一个文件加载迷宫的大小,然后迷宫本身。 要模拟迷宫,我们使用指定起始单元格的字符“S”,“。”指定空闲单元格,“#”是墙,“F”是最后一个单元格。 编写一个程序,该程序将查找从开始单元格到最终单元格的路径。 你可以认为在迷宫中有一个服从命令的机器人,所以对于下面的迷宫,机器人应该接收以下命令:向上,向上,

    1热度

    2回答

    我的问题并不是真的关于任何一种搜索类型的机制。我觉得它比这更平凡 - 我不明白任何一个的输入和输出。更具体地说,在CLRS中,BFS将图形和源节点作为输入,但DFS仅使用图形。 DFS不关心你从哪里搜索? 这就是输入的混淆。输出的混淆是,在DFS中,当你完成后,你有一个类似于表的结构来记录每个节点的发现和结束时间,对吗?您如何从中提取解决方案,即从源节点到目标节点的路径? 我希望我有道理。谢谢!

    2热度

    3回答

    此代码在python official essays on graph theory中给出。这里的代码: def find_all_paths(graph, start, end, path=[]): path = path + [start] if start == end: return [path] if not graph.has_key(

    1热度

    2回答

    我想查找有向图中的所有周期。从一个节点开始深度优先搜索将找到一些周期(找到后沿)。所以,我将dfs应用于图中的所有节点(即每次根是不同的节点时)。 我能够使用这个(通过消除重复的)获得所有的周期。但是,我不确定这是否适用于所有图表,以及这是否正确。 任何人都可以告诉我,这是否适用于所有情况。 由于

    0热度

    1回答

    我正在尝试编写一个DFS来解决多个河流问题(Fox山羊白菜,嫉妒的丈夫,雇佣军和食人族等)。我已经编写了拼图课程,但是我在构建解算器时遇到了麻烦。我了解DFS是如何工作的,但我无法弄清楚从哪里开始适应这种设计。 每个谜题都有一个move()方法,如果它是有效的移动,则返回true;如果它破坏规则集,则返回false。乘客在一对列表中进行跟踪,这两个列表代表河流各自的一侧。解算者可以访问这些列表,但

    15热度

    10回答

    我总是混淆是否使用DFS或BFS的堆栈或队列。有人可以提供一些关于如何记住哪种算法使用哪种数据结构的直觉?

    2热度

    1回答

    我解决了N皇后问题,条件是每列只能有一个皇后。所以我把女王放在第一列的正方形中,然后移动到下一列,并将女王放置在未受女王船员攻击的广场上。 我能够使用这种方法找到所有的解决方案,但是在n = 13之后开始需要很长时间。此外,我发现问题的大多数解决方案都可以通过旋转和反射几个不同的解决方案来找到。例如,女王问题共有92个解决方案,其中只有12个解决方案是不同的。 (http://en.wikiped

    7热度

    2回答

    我需要能编写发现两个节点之间的最长路径Lisp的功能,无需任何重温节点。但是,如果开始和结束节点相同,则可以重新访问此节点。该功能需要同时是递归和深度优先搜索。 我一直试图在这个以获取小时,并不能拿出一个解决方案。我知道该函数的总体概述,但无法正确编程。在一些代码,主要是伪代码: (defun longest-path (start end net &optional (current-path

    1热度

    2回答

    我尝试编写一个计算图的连通组件的脚本,但无法获得正确的解决方案。 我有一个简单的图,有6个节点(顶点),节点1和2连接,节点3和4连接(6个顶点; 1-2,3-4,5,6)。所以该图包含4个连接的组件。我使用下面的脚本来计算连接的组件,但是我得到错误的结果(2)。 nodes = [[1, [2], False], [2, [1], False], [3, [4], False], [4, [3]

    1热度

    2回答

    大家好任何人可以帮助我与DFS算法: 路径* agent_DFS(void *的ARG1,...); 这是写在C程序,是关于人工智能,我必须找到一种方法,以他的目标汽车..? 返回类型的路径 的数组我absoloutely没有关于这个想法...... 请帮我