8-1 树简介
树是什么?
- 一种分层数据的抽象模型。
- 前端工作中常见的树:DOM树、级联选择、树形空间…
- JS 中没有树,但是可以用Object 和 Array 构建树。
- 树的常用操作:深度/广度优先遍历、先中后序遍历。
8-2 什么是深度/广度优先遍历?
- 深度优先遍历:尽可能深的搜索树的分支。
- 广度优先遍历:先访问离根节点最近的节点。
类比:读书翻页
深度优先遍历:看一本书,看到一个目录,深入这个目录的小结阅读。
广度优先遍历:先看一下书的全部目录,再深入看每个目录下面的小节。
深度优先遍历算法口诀
- 访问根节点
- 对根节点的children挨个进行深度优先遍历。