在我的以下代码中,我通过breadth first search
. 代码在遍历时构建图形。这是一个非常大的图,有 12 个扇形。因此,每当深度breadth first search
增加时,我都想破坏它上面的层,以尽量减少内存使用。我怎么能设计一个算法来做到这一点?
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;
}
}