Tree 三元树和最大堆-它在视觉上是如何工作的?
我有一组要插入的数字:(从左到右) 61,49,90,76,46,1,82,44,62,79 有谁能用一棵树直观地展示一下它的外观吗?我在向堆中插入82之后没有跟上 61 61 49 904961 90496176 9049617646 90496176461 9082617646149 908261764614944 90826276461494461Tree 三元树和最大堆-它在视觉上是如何工作的?,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,节点
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
上读到了这篇文章,但我没有使用它。现在我做到了,我很明白。谢谢你,吉姆!