B-TREE-SPLIT-CHILD works by straightforward "cutting and pasting." Here, y is the i th child of x and is the node being split. Node y originally has 2t children (2t-1 keys) but is reduced to t children (t-1 keys) by this operation. Node z "adopts" the t largest children (t-1 keys) of y, and z becomes a new child of x, positioned just after y in x's table of children. The median key of y moves up to become the key in x that separates y and z.
Line 1-8 create node z and give it the larger t-1 keys and corresponding t children of y. Line 9 adjusts the key count for y. Finally, lines 10-16 insert z as a child of x, move the median key from y up to x in order to separate y from z, and adjust x's key count. Lines 17-19 write out all modified disk pages. The CPU times used by B-TREE-SPLIT-CHILD is O(t), due to the loops on lines 4-5 and 7-8. (The ither loops run for O(t) iterations.) The procedure performs O(1) disk operation.