基础概念
定义:一种特殊的二叉树,所有层都尽可能填满,最后一层从左到右填充
例子: 想象一个满杯的杯子,杯子里的水就是二叉树的节点,每一层都是满的,最后一层从左到右排列
特点:
- 所有层都尽可能填满: 除最后一层外,所有层中的节点都尽可能填满
- 最后一层从左到右填充: 最后一层的节点从左到右尽可能地填充
- 每个节点最多有两个子节点:
基本操作
- 插入 (Insert): 在完全二叉树中插入新节点需要找到合适的位置,并更新指针关系,保证完全二叉树的性质
- 删除 (Delete): 从完全二叉树中删除节点需要找到该节点,并更新指针关系,保证完全二叉树的性质
- 查找 (Search): 在完全二叉树中查找特定节点需要从根节点开始,依次向下比较节点数据,直到找到目标节点
应用场景
- 堆排序: 堆是一种完全二叉树,用于实现高效的排序算法
- 哈夫曼编码: 用于数据压缩的算法