In a B+ Tree, I think there can be a maximum of M (the order of the B+Tree) - 1 keys for any given node.
Now when you want to insert a key with say value 7 into this tree with a order of 4:
10, 12
Then it would become this:
7, 10, 12
If the structure of a node is as such:
struct Node { int keys[MAX_SIZE]; ... };
Then that would mean you have to shift at most MAX_SIZE
elements to the right if you were to insert at the beginning of the node. This is not the most ideal. I was wondering if there was a better where to store keys
. If you stored each key as a linked list, that would provide better insertion but it would cost a lot more space.
What is the best way to store keys
? In my scenario this B+Tree
will be used purely in memory.
没有评论:
发表评论