Tree 三元树和最大堆-它在视觉上是如何工作的?

Tree 三元树和最大堆-它在视觉上是如何工作的?,tree,heap,Tree,Heap,我有一组要插入的数字:(从左到右) 61,49,90,76,46,1,82,44,62,79 有谁能用一棵树直观地展示一下它的外观吗?我在向堆中插入82之后没有跟上 61 61 49 904961 90496176 9049617646 90496176461 9082617646149 908261764614944 90826276461494461 90 82 79 76 46 1 49 44 61 62在三元堆中,每个节点最多有三个子节点。堆在数组中以宽度优先顺序表示,根节点位于0,节点

我有一组要插入的数字:(从左到右)

61,49,90,76,46,1,82,44,62,79

有谁能用一棵树直观地展示一下它的外观吗?我在向堆中插入82之后没有跟上

61

61 49

904961

90496176

9049617646

90496176461

9082617646149

908261764614944

90826276461494461


90 82 79 76 46 1 49 44 61 62在三元堆中,每个节点最多有三个子节点。堆在数组中以宽度优先顺序表示,根节点位于0,节点x的子节点位于位置
(x*3)+1
(x*3)+2
、和
(x*3)+3
。位置x处的节点位于
(x-1)/3

因此,您的数组,
[90,82,79,76,46,1,49,44,61,62]
以简单方式显示时如下所示

92
 |- 82
     |- 46
     |- 1
     |- 49
 |- 79
     |- 44
     |- 61
     |- 62
 |--76
或者,更传统地说:

              92
        /      |     \
    82        79         76
  / | \      / | \
46  1 49   44 61 62

您可能会发现我的讨论很有用。

在三元堆中,每个节点最多有三个子节点。堆在数组中以宽度优先顺序表示,根节点位于0,节点x的子节点位于位置
(x*3)+1
(x*3)+2
、和
(x*3)+3
。位置x处的节点位于
(x-1)/3

因此,您的数组,
[90,82,79,76,46,1,49,44,61,62]
以简单方式显示时如下所示

92
 |- 82
     |- 46
     |- 1
     |- 49
 |- 79
     |- 44
     |- 61
     |- 62
 |--76
或者,更传统地说:

              92
        /      |     \
    82        79         76
  / | \      / | \
46  1 49   44 61 62
你可能会发现我的讨论很有用。

我在维基
(x*3)+1
(x*3)+2
(x*3)+3
上读到了这篇文章,但我没有使用它。现在我做到了,我很明白。谢谢你,吉姆!我在维基
(x*3)+1
(x*3)+2
(x*3)+3
上读到了这篇文章,但我没有使用它。现在我做到了,我很明白。谢谢你,吉姆!