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