|
![](/i/fill.gif) |
Warp wrote:
> Each node requires three pointers plus the character itself.
Or, with enough work, you could get away with not using full-sized pointers,
perhaps. Indexes into arrays (with said arrays split into chunks if you have
trouble finding that much contiguous address space) might work too.
Or, if it's on disk, you could have two kinds of nodes - ones that point to
other nodes nearby (or in the same block or file, say), and others that
point to different files. So the root and first 2 or 3 levels might be in
one block, with the "leaves" in other blocks or files or something. Since
you don't randomly walk around the tree when you're updating it, you don't
need to worry quite so much about caching as you might otherwise.
--
Darren New, San Diego CA, USA (PST)
Insanity is a small city on the western
border of the State of Mind.
Post a reply to this message
|
![](/i/fill.gif) |