树用于表达一对多的层次关系,文件目录、组织架构、语法树和索引结构都离不开它。二叉树则把每个节点的孩子数限制为最多两个,却由此衍生出堆、二叉搜索树、AVL 树和红黑树等重要结构。本文从术语与性质入手,重点理解四种遍历及其代码实现。
1. 树的定义树是由 $n;(n\ge0)$ 个节点组成的有限集合。非空树满足:
有且仅有一个根节点;
除根外,其余节点可分 ...
前言二叉树的基础内容通常包括树的概念、四种遍历方式以及节点个数、高度等递归问题。本文在这些基础上继续学习二叉搜索树,并整理二叉树中常见的进阶面试题。
学习二叉搜索树还有一个重要目的:为后续理解 std::set、std::map、AVL 树和红黑树打下基础。
本文主要内容如下:
二叉搜索树的性质;
二叉搜索树的查找、插入和删除;
二叉搜索树的完整 C++ ...
