深度优先遍历通常是最简单的遍历方式,因为您可以递归或使用显式堆栈进行;广度优先需要一个队列,从某种意义上说,它是一种更复杂的数据结构。但我认为有一个比传统或简单更简单的答案:(X)HTML 树的深度搜索遍历导致文本节点按表示顺序遍历。
考虑这个相对简单的HTML子树。
或者,以原始形式:
<p>Consider this <emph>relatively</emph> simple <a href="...">HTML</a> subtree</p>
作为一棵树(省略空格和属性):
<P>
|
+-----------+----+----+-----+------+
______|______ __|___ ___|__ _|_ ___|___
Consider this <EMPH> simple <A> subtree
| |
____|_____ __|__
relatively HTML
深度优先遍历:
<P>, Consider this, <EMPH>, relatively, simple, <A>, HTML, subtree
广度优先遍历:
<P>, Consider this, <EMPH>, simple, <A>, subtree, relatively, HTML