是否值得将红黑树表示为数组以消除内存开销。或者阵列会占用更多内存,因为阵列将有空插槽?
答案 0 :(得分:1)
它既有正面也有负面。这个答案适用于C [因为你提到这是你将要使用的]
积极的一面
否定方
答案 1 :(得分:0)
是的,您可以将红黑树表示为数组,但这是不值得的。
红黑树的最大高度为2 * log2(n + 1),其中n为条目数。每个级别的数组表示形式中的条目数为2 ** n,其中n为级别。因此,要存储1_000个条目,您必须分配1_048_576个条目的数组。要存储1_000_000个条目,您必须分配1_099_511_627_776个条目的数组。
这不值得。