Соединение двух 2-3 деревьев со значением х

Учитывая два 2-3 дерева, T1 и T2, и значение x, такое, что все элементы T1 меньше x, а все элементы T2 больше x, как мне построить новое дерево T', которое содержит все элементы Т1, Т2, а значение х?

До сих пор я убедился, что лучший подход для этого - использовать значение x в качестве корневого узла для T', а затем сделать T1 и T2 левым и правым поддеревьями. У меня есть два метода, которые я могу использовать: insert(вставляет ключ в лист) и fix_overfull(если у узла есть 3 ключа, это "исправит" и перераспределит ключи, чтобы сохранить все 2-3 свойства дерева).

Я застрял на том, как обращаться со случаями для различной высоты дерева и как прикрепить поддеревья T1 и T2 к значению x.

Любая помощь будет оценена!

0 ответов

Другие вопросы по тегам