gpt4 book ai didi

java - 过河者的一般 DFS

转载 作者:行者123 更新时间:2023-12-02 08:28:54 29 4
gpt4 key购买 nike

我正在尝试编写一个 DFS 来解决多个过河问题(狐狸山羊白菜、嫉妒的丈夫、雇佣兵和食人族等)。我已经编写了谜题类,但在构造我的解算器时遇到了困难。我了解 DFS 的工作原理,但我不知道从哪里开始使其适应这种设计。

每个谜题都有一个 move() 方法,如果移动有效则返回 true,如果违反规则集则返回 false。乘客在一对代表河流两侧的列表中进行跟踪。求解器可以访问这些列表,但我不确定如何使用它来生成可能的移动集,因为每次带乘客过河时,可能的移动都会改变。

最佳答案

在状态(或节点)对象中创建一个 validMoves 方法,该方法返回一个 Collection 数组,或者更好的是,一个 Iterator 超过移动(或超过有效状态)。从搜索算法中调用它(在“节点扩展”阶段)。

关于java - 过河者的一般 DFS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3915721/

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