В следующем коде я прохожу по графу с помощью поиска в ширину
. Код строит граф во время обхода. Это очень большой график с разветвлением из 12. Из-за этого каждый раз, когда глубина поиска в ширину
увеличивается, я хочу разрушить слой над ним, чтобы минимизировать использование памяти. . Как я мог разработать алгоритм для этого?
string Node::bfs(Node * rootNode) {
QQueue<Cube *> q;
q.enqueue(rootNode);
while (!(q.empty())) {
Node * currNode = q.dequeue();
currNode->constructChildren();
foreach (Node * child, currNode->getListOfChildren()) {
q.enqueue(child);
}
if (currNode->isGoalNode()) {
return currNode->path;
}
}