二分搜索树层序遍历学习笔记

一、概述

在二叉树中,层序遍历是一种重要的遍历方式,它可以按照从上到下、从左到右的顺序依次遍历二叉树中的所有节点。在二分搜索树中,层序遍历得到的结果是有序的,可以方便地进行查找、插入和删除操作。

二、实现思路

  1. 首先构建一个队列,并把根节点入队。
  2. 只要队列不为空,就执行以下操作:
    • 弹出队首节点,并输出该节点的值。
    • 如果左子节点存在,将左子节点入队。
    • 如果右子节点存在,将右子节点入队。

三、示例代码

pythonCopy Code
class Node: def __init__(self, val=None): self.val = val self.left = None self.right = None def level_order_traversal(root): if not root: return [] queue = [root] res = [] while queue: node = queue.pop(0) res.append(node.val) if node.left: queue.append(node.left) if node.right: queue.append(node.right) return res # 示例 root = Node(4) root.left = Node(2) root.right = Node(6) root.left.left = Node(1) root.left.right = Node(3) root.right.left = Node(5) root.right.right = Node(7) print(level_order_traversal(root)) # 输出:[4, 2, 6, 1, 3, 5, 7]

四、总结

通过二分搜索树的层序遍历,可以方便地实现对二叉树中各个节点的查找、插入和删除操作。同时,由于层序遍历得到的结果是有序的,也可以作为验证二分搜索树正确性的一种方法。