Open jafingerhut opened 5 years ago
I was using pre-traverse to do a partial DFS of some large graphs where some nodes had very high degree, and found that it was doing a lot of unnecessary work for edges in the graph that were never 'crossed' by my partial DFS.
especially if the graph is dense with edges for a node that is traversed, but the returned lazy sequence is not ever evaluated to get to those nodes.
Also eliminate a stack-growing recursive call, using recur instead. The previous version could grow the call stack nearly as deep as the number of edges in the graph.