Red-Black tree storing color without additional memory requirements
simendsjo
simendsjo at gmail.com
Wed Nov 20 00:48:31 PST 2013
Wikipedia states that the color bit can be stored without taking
additional space: "In many cases the additional bit of
information can be stored at no additional memory cost."
Looking at the Phobos implementation, it stores it as a regular
byte:
https://github.com/D-Programming-Language/phobos/blob/master/std/container.d#L4945
The only way I can see it storing a bit without taking additional
space is by storing the color in the pointer to a node instead of
in the node by using the tagged pointer trick:
http://en.wikipedia.org/wiki/Pointer_tagging
But I would think this trick would break the GC, as well as
making code less portable.
So.. Is the RBTree article a bit off here, or are there other
techniques to reduce memory overhead?
More information about the Digitalmars-d-learn
mailing list