Releases: dwysocki/b-plus-tree
Insert complete
Insert is exactly where I want it to be.
Insert
Split
Doubly-Linked Leaves
Leaves now point to the previous leaf, in addition to the next leaf.
Subset/Equals
Added functions for testing if a map is a subset or equal to the B+ Tree
Simple Insert
Insert now works so long as the leaf is not full
Caching
Metadata now in header
Moved metadata from the root to a special header section of the file
Serialization improved and Find working
I now have both serialization and find working. Also, serialization has been improved so that instead of dealing with two separate :keys
and :children
lists, instead there is a :keys-ptrs
sorted-map
, and a :last
pointer, since one pointer doesn't have a key associated with it
Serialization working
Serialization works. However, I am about to redo it, so that serialization is done in a more useful way, so I must make a release, despite not having much else working.
In this release, nodes are serialized with their keys and children in two separate seqs. It would be much more efficient to interleave them as keyvals, and so they will be in the next release. Then they can be read as (sorted-map keyvals), and used in a much more convenient way. The last pointer won't have a key to go with it, so the keyword :last
will be reserved to always map to the last pointer. Because of this last pointer, keyvals must always have an odd number of elements, with the last pointer at its end.