In the case where you&#x27;d require a bfs to traverse a graph, you&#x27;re already doing something that is algorithmic, and will otherwise be prohibitively costly if explored in a dfs manner. The most complicated part of this algorithm is highly unlikely to be the bfs itself, with it&#x27;s highly likely 10 lines of code in total.<p>In this case, someone who didn&#x27;t have the time to visualise exactly how the bfs is operating shouldn&#x27;t be writing the algorithm. Pretending like you don&#x27;t need to know the details of how it traverses the tree when you needed to choose the specific implementation for this algorithm to be performant is a lie. It&#x27;s not like Guassian elimination, where the concept is far more abstract, this is a concrete idea of how you&#x27;re moving through the graph and shouldn&#x27;t be some black magic.<p>On top of this, who writes this code and doesn&#x27;t test that it does what you expected it to do on sample data. If you bfs implementation was bust, then you&#x27;d miss nodes or revisit them, which becomes immediately apparent from testing the algorithm you&#x27;re writing.<p>&gt; It ought to require an exceptional circumstance to stoop to implementing it myself.<p>Maybe the problem here is that I see a bfs as a fundamentally simple algorithm. Saying writing it yourself must be an exceptional circumstance sounds about as crazy to me as saying no-one should ever use for loops, they expose you to making mistakes with an index you may forget is zero-based, please use anonymous iterators instead. When something takes 5m to write, is heavily tested by default (as it will be a feature under test anyway and possible flaws will be highly obvious) and is at the same level of abstraction as the code you&#x27;ll be writing around it, then just write the damn thing.<p>EDIT - Try writing a BFS that operates on an acyclic graph that outputs the value of each node, that compiles and runs and prints at least two node values that has a bug. Try writing bugs into this, it&#x27;s actually difficult to screw up.