bfs method
void
bfs(
- SplitSolverNode root,
- void visitFunc(
- SplitSolverNode node,
- List<
Body?> bds, - List<
Equation> eqs
- List<
Body?> bds, - List<
Equation> eqs,
Implementation
void bfs(
SplitSolverNode root,
void Function(SplitSolverNode node, List<Body?> bds, List<Equation> eqs) visitFunc,
List<Body?> bds,
List<Equation> eqs
) {
queue.add(root);
root.visited = true;
visitFunc(root, bds, eqs);
while (queue.isNotEmpty) {
final node = queue.removeLast();
while(true) {
SplitSolverNode? child = getUnvisitedNode(node.children);
if(child == null) break;
child.visited = true;
visitFunc(child, bds, eqs);
queue.add(child);
}
}
}