算法基础知识之树、二叉树

一、树

 

把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。在计算机科学中,英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。树一般分为两类:

  • 无序树:树中任意节点的子节点之间没有顺序关系,这种树称为无序树,也称为自由树
  • 有序树:树中任意节点的子节点之间有顺序关系,这种树称为有序树;

二、二叉树

 

计算机科学中,二叉树英语:Binary tree)是每个节点最多只有两个分支(不存在分支度大于2的节点)的树结构。通常分支被称作“左子树”和“右子树”。二叉树的分支具有左右次序,不能颠倒。

二叉树的第i层至多拥有2^{i-1}}2^{i-1}个节点数:  2^0   2 ^1   2^2 ........

深度为k的二叉树至多总共有{\displaystyle 2^{\begin{aligned}k+1\end{aligned}}-1}个节点数: 1 + 2 + 4 + .... + 2^k = {\displaystyle 2^{\begin{aligned}k+1\end{aligned}}-1}

三、满二叉树

 

二叉树满满当当的,称为满二叉树

 四、完全二叉树

  完全二叉树                  满二叉树

除了最后一层,都长满了。而且是最后一层的右方存在空缺。叫做完全二叉树

 

posted @ 2017-05-20 20:22  skiler  阅读(390)  评论(0编辑  收藏  举报