二叉树

定义:每个节点最多有两个叉,也就是两个子节点,分别是左子节点右子节点。不过二叉树不要求每个节点都有两个子二节点,有的节点只有左节点,有的节点只有右子节点。

满二叉树

定义:叶子节点全部都在最底层,除了叶子节点之外,每个节点都有左右两个子节点,这种二叉树就叫做满二叉树

完全二叉树

定义:叶子节点都在最低下两层,最后一层的叶子节点都靠左排列,并且除了最后一层,其他层的节点个数都要达到最大。

如何存储一个二叉树

两种方法:一种是基于指针或者引用的二叉链式存储法,一种是基于数组的顺序存储法

链式存储法

每个节点有三个字段, 一个字段存储数据,左右节点分别存储下一个节点的指针,只要找到了根节点,就可以通过左右子节点的指针,吧整棵树串联起来。

顺序存储法

我们把根节点存储在下标i=1的位置,那左子结点存储在下标为 2i的位置,下标为 2i + 1的存储就是右子节点。反过来,下标为 i/2的位置存储就是它的父节点


Gabriel
36 声望4 粉丝

引用和评论

0 条评论