二叉树

二叉树中,每个节点最多只有两个子节点,即左子节点和右子节点。

满二叉树

所有的叶子节点都在最后一层。

满二叉树示例

完全二叉树

叶子节点都分布在最后两层,最后一层的叶子节点靠左排列,且除了最后一层外,其它层叶子节点都达到最满。

完全二叉树示例

完全二叉树适合使用数组存储,对于下标为i的节点,下标 2*i 的节点就是其左子节点,下标 2*i+1 的节点就是其右子节点,而 i/2 对应的结点就是它的父结点。

用数组存储二叉树

二叉树的遍历

递归操作。

前序遍历

先遍历根节点,再遍历左子树,后遍历右子树

中序遍历

先遍历左子树,在遍历根节点,最后遍历右子树。

后序遍历

先遍历左子树,后遍历右子树,最后遍历根节点。

层序遍历

按树的层级一层一层遍历(可以借助队列)。

最后更新于

这有帮助吗?