Although there has been
a lot of AVL tree libraries available now, nearly all of them are
meant to work in the random access memory(RAM). Some of them do
provide some mechanism for dumping the whole tree into a file and
loading it back to the memory in order to make data in that tree
persistent. It serves well when there’s just small amount of
data. When the tree is somewhat bigger, the dumping/loading
process could take a lengthy time and makes your mission-critical
program less efficient. How about an AVL tree that can directly
use the disk for data storage ? If there’s something like that,
we won’t need to read through the whole tree in order to pick up
just a little bit imformation(a node), but read only the sectors
that are neccssary for locating a certain node and the sectors in
which that node lies. This is my initial motivation for writing a
‘storage-media’independent AVL Tree. However, as you step forth,
you would find that it not only works fine with disks but also
fine with memorys, too.