Как сохранить B + Tree в файл, используя JAVA - PullRequest
0 голосов
/ 22 сентября 2019

Я хочу сохранить дерево B + в файле, используя JAVA.Сначала я использовал сериализацию.Однако, если высота дерева велика, происходит Stackoverflow.Есть ли способ сохранить B + Tree в файл?

1 Ответ

0 голосов
/ 22 сентября 2019

Если ваша высота B + Tree достаточно велика, чтобы вызвать переполнение стека, значит, что-то не так с вашей реализацией.Согласно Википедии , характеристики дерева B + включают в себя то, что его высота является логарифмической относительно числа хранящихся в нем записей.

В любом случае, большинство стандартных реализаций сериализации будут испытывать трудностиесли вы дадите им очень глубокую структуру данных.

Однако вы можете реализовать свой собственный обходчик деревьев для своего дерева B +, который избегает рекурсии , и использовать его в качестве отправной точки для сериализатора.Это все будет пользовательский код, хотя;то есть вам нужно было бы написать это самостоятельно.Начните с поиска "нерекурсивная обход дерева" .

...