Working with Graphs & Trees
What operation in B-tree maintenance is being implemented?
class BTree {
constructor(order) {
this.root = null;
this.order = order;
}
split(node) {
const middle = Math.floor(node.keys.length / 2);
const leftKeys = node.keys.slice(0, middle);
const rightKeys = node.keys.slice(middle + 1);
const middleKey = node.keys[middle];
return {
left: { keys: leftKeys, children: node.children.slice(0, middle + 1) },
right: { keys: rightKeys, children: node.children.slice(middle + 1) },
middle: middleKey
};
}
}