Мой профессор читал лекцию об удалении деревьев B+, и я очень запутался. По его словам, за удаление любого ключа из дерева B+:
1- First navigate to the leaf *L* where it belongs.
2- If the *L* is at least half full if you can simply delete it.
3- If it contains d-1 elements then you need to redistribute and merge.
Если вы видите изображение ниже, здесь я хочу удалить 19 и 20 из дерева B+.
После удаления 19 и 20 из дерева B+.
Вопрос:
Я смущен, почему здесь вообще требуется перераспределение и слияние? Если вы просто удалите 19 и 20 из листовых узлов без какого-либо распределения, это должно работать правильно? Почему здесь происходит перераспределение? Кто-нибудь может объяснить?
Это потому, что левый указатель 24 указывает на 20, а не на 19. Вот почему перераспределение требуется для 20, а не для 19.