• 遍历操作就是把所有节点都访问一遍.
  • 访问的原因和业务相关
  • 在线性结构下,遍历是极其容易的
  • 在树结构下,也没那么难:

    深度优先遍历 -前中后序遍历

image.png

中序遍历的结果就是二分搜索树的排序结果
image.png
image.png

广度优先遍历-层序遍历

image.png

  1. public void levelOrder() {
  2. Queue<Node> queue = new LinkedList<>();
  3. queue.add(root);
  4. while (!queue.isEmpty()) {
  5. Node cur = queue.remove();
  6. System.out.println(cur.e);
  7. if (cur.left != null) {
  8. queue.add(cur.left);
  9. }
  10. if (cur.right != null) {
  11. queue.add(cur.right);
  12. }
  13. }
  14. }