当前位置:首页C++程序设计 > 正文

将各种树用示意图表示

作者:野牛程序员:2023-02-25 08:56:53C++程序设计阅读 2555

二叉树示意图

二叉树是每个节点最多有两个子节点的树结构,其中左子节点比父节点小,右子节点比父节点大。

       1
      / \\
     2   3
    / \\
   4   5

二叉搜索树示意图

二叉搜索树是一种有序的二叉树,每个节点的值都大于其左子树中任意一个节点的值,小于其右子树中任意一个节点的值。

         6
        / \\
       4   8
      / \\ / \\
     3  5 7  9

完全二叉树示意图

完全二叉树是除了最后一层节点可能不满外,其他各层节点数都达到最大值的二叉树。对于最后一层,从左到右缺少节点。

         1
        / \\
       2   3
      / \\ /
     4  5 6

满二叉树示意图

满二叉树是每个节点都有两个子节点,且所有叶子节点都在同一层的二叉树

          1
        /   \\
       2     3
      / \\   / \\
     4   5 6   7

哈夫曼树示意图

哈夫曼树是一种带权路径最短的树。在哈夫曼树中,每个叶子节点都有一个权值,非叶子节点的权值等于其左右子节点权值之和。根节点到每个叶子节点的路径上的所有权值之和称为该叶子节点的带权路径长度,而哈夫曼树的带权路径长度是所有叶子节点的带权路径长度之和的最小值。

       35
      /  \\
    20   15
   / \\   / \\
  8   12 6  9

三叉链表示意图

每个节点最多有三个子节点

           A
          /|\\
         / | \\
        /  |  \\
       B   C   D
      /|   |   |\\
     / |   |   | \\
    E  F   G   H  I

父亲表示法示意图

    0 1 2 3 4
   -----------
 0| 0 1 2 3 4
 1| 1 2 3 - -
 2| 2 - 4 - -
 3| 3 - - - -
 4| 4 - - - -

孩子表示法示意图

   0  1  2  3  4
  --------------
0| 1  2  3  4  -
1| 2  4  -  -  -
2| 3  -  -  -  -
3| -  -  -  -  -
4| 4  -  -  -  -


  1. N叉树:每个节点最多有N个子节点。如下图所示:

        1
      / | | \\
     2  3 4  5
    / \\
   6   7
  1. 平衡二叉树:一种特殊的二叉搜索树,满足任意节点的左右子树高度差不超过1。如下图所示:

        4
       / \\
      2   6
     / \\ / \\
    1  3 5  7


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击