Changes for more abstraction

This commit is contained in:
birkn
2019-03-24 13:15:33 +01:00
parent 600cc73df6
commit 58e8aa9cd0
5 changed files with 21 additions and 136 deletions

View File

@ -0,0 +1,29 @@
package search.breadthfirstsearch;
import java.util.ArrayList;
import java.util.List;
public class BreadthFirstSearch
{
public Node breadthFirstSearch(List<Node> nodes, Node target)
{
var newNodes = new ArrayList<Node>();
for (Node node : nodes)
{
if (node.isTargetReached(target))
{
return node;
}
newNodes.addAll(node.generateSuccessors());
}
if (newNodes.isEmpty())
{
return breadthFirstSearch(newNodes, target);
}
return null;
}
}

View File

@ -0,0 +1,8 @@
package search.breadthfirstsearch;
public class Main
{
public static void main(String[] args)
{
}
}

View File

@ -0,0 +1,9 @@
package search.breadthfirstsearch;
import java.util.List;
public interface Node
{
boolean isTargetReached(Node target);
List<Node> generateSuccessors();
}