Итак, я начал эту задачу, где я должен перевезти капусту, волка и козу через реку, не оставляя капусту с козой или волка и козу поодиночке на одной стороне.
Я начал и сильно запутался в том, как подойти к этому. По сути, я думал добавить кучу вершин, которые приведут к правильному результату, и просто заставить программу демонстрировать поиск в ширину и в глубину без сложного процесса генерации вершин. Правильно ли я думаю об этом, или есть лучший подход?
Вот мой код для основного метода.
package project3;
import java.util.*;
import java.io.*;
public class Project3 extends Network{
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
new Project3().run();
} //main method
public void run()
{
String start ="fwgcR",
finish = "Rfwgc";
addVertex(start);
addVertex("fwgRc");
addVertex("fwcRg");
addVertex(finish);
//Breadth First iterator
Iterator<String> itr = network.breadthFirstIterator (start);
while (itr.hasNext())
System.out.print (itr.next() + " ");
//Depth First Iterator
itr = network.depthFirstIterator (start);
while (itr.hasNext())
System.out.print (itr.next() + " ");
} // method run
}