Простое изменение вездесущего B-дерева является постоянным. Просто всегда выделяйте новый узел всякий раз, когда узел модифицируется, и возвращайте новый узел рекурсивному вызывающему, который вставит его на этом уровне путем выделения нового узла и т. Д. В конечном итоге возвращается новый корневой узел. На одну операцию выделяется не более O (log N) узлов.
Это метод, используемый в функциональных языках для реализации, например, 2-3 деревьев.