
k-1 = -∞, k0, …, ki, ki + 1 = +∞

bool search(root, v)
if root = nil
return false
i = scan-keys(v)
// root.k[i] ≤ v < root.k[i + 1]
if root.k[i] = v
return true
return root.c[i + 1]
void insert(root, v)
i = scan-keys(v) // ki ≤ v < ki+1
if root.k[i] = v
return
if (i = root.k.size() - 1) ∧ (i < m - 2)
∧ (root.c[i + 1] = nil)
root.k[i + 1] = v
else if root.c[i + 1] = nil
root.c[i + 1] = new-root(v)
else
insert(root.c[i + 1], v)













find(), add(), and remove() are
essentially those of the 2-3 tree.
