1. 二叉树

  • 普通定义:在计算机科学中,二叉树是每个结点最多有两个子树(2,节点没有子树,节点有一个子树,节点有两个子树)的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。
  • 递归定义:二叉树 T 是定义在有限节点集上的结构,它或者不包含任何节点,或者包含三个不相交的节点的集合:
    • 一个根节点
    • 一棵称为左子树的二叉树(递归定义,新的二叉子树,高度较之-1)
      • 这里的左子树,既然是一种二叉树,则它或者不包含任何节点,或者包含三个不相交的节点的集合
    • 一个称为右子树的二叉树;

2. 完美二叉树(perfect binary tree,满二叉树)

  • 定义1:所有叶子结点高度相同的二叉树。(所有叶子结点高度相同,也即,所有叶子节点在同一层级,在最高一层)
    • 所有内部节点(非叶子节点),度为2。即所有内部节点均包含,左右两个子树;
  • 定义2:高度为 k0 且有 2k+11 个节点的二叉树,称为完美二叉树;

3. 完全二叉树(complete binary tree)

  • 定义1:完全二叉树从根结点到倒数第二层满足完美二叉树,最后一层可以不完全填充,其叶子结点都靠左对齐。
    • 所有内部节点度也为 2;
  • 定义2:
posted on 2018-08-01 08:31  未雨愁眸  阅读(356)  评论(0编辑  收藏  举报