On 03/12/2011 10:22 AM, %u wrote:
It seems to me that the SpanMode.breadth option when enumerating a
directory does not actually do breadth-first search, but rather
performs a kind of depth-first "preorder" traversal.

In other words, to me, this is depth-first "postorder" traversal:

\A
\A\1
\A\1\x
\A\1\y
\A\2
\B
\B\1

whereas this is depth-first "preorder" traversal:

\A\1\x
\A\1\y
\A\1
\A\2
\A
\B\1
\B

and whereas **this** is a true breadth-first traversal:

\A
\B
\A\1
\A\2
\B\1
\A\1\x
\A\1\y


Is that correct, and so is "breadth" actually a misnomer? I found it
really confusing that it didn't work level-by-level.

You are right about depth / breadth.

(But I also have always found preorder/postorder misleading, or rather inversed. For me, the second one should be called postorder, since it postpones app on A after app on A's subnodes. A better, non-misleading, naming may be branch-first (case 1 above) vs children-first (case 2).)

Denis
--
_________________
vita es estrany
spir.wikidot.com

Reply via email to