Я реализовал поиск в ширину для школьного проекта, где я получаю начальный узел графа направленности в качестве входных данных, и мне нужно вернуть связанный список, содержащий узлы в порядке BFS
Этомой подход:
public List<Node> breadthFirstSearch(Node startNode){
//node list that has to be returned
LinkedList<Node> nodeList = new LinkedList<Node>();
resetState();
// TODO
//Queueu for the DfS Algorithm
Queue<Node> nodeQueue = new LinkedList<Node>();
//Add start node to NodeList and Queue
nodeQueue.add(startNode);
nodeList.add(startNode);
//While the Queue isn't empty
while(!nodeQueue.isEmpty()) {
Node v = nodeQueue.poll();
//iterate over adjacent nodes of current node and add them to Queue and List
for (Node w : getAdjacentNodes(v)) {
//don't add if already traversed node
if (!nodeList.contains(w)) {
nodeList.add(w);
nodeQueue.add(w);
}
}
}
return nodeList;
}
Я проверил свою функцию на нескольких графиках, и я не получил никаких ошибок в своих собственных тестах.Но когда я загружаю свой код на школьные серверы и они запускают свои тесты, я получаю следующую ошибку: java.lang.NullPointerException in SearchTestng.testBFSCliqueNodes(SearchTestng.java:512)
Я пытаюсь воспроизвести проблему уже несколько часов, и, похоже, ни один из моих преподавателей не знает, что может быть причиной исключения.
Кто-нибудь из вас имеет представление о том, что может вызвать здесь исключение нулевого указателя?