Wydaje mi się, że jeden sposób przechowywania danych w B-drzewie jako plik może być efektywnie wykonany przy pomocy C pliku binarnego z sekwencją (tablicą) struktur, przy czym każda struktura reprezentuje węzeł. W ten sposób można połączyć poszczególne węzły z podejściem, które będzie podobne do tworzenia list połączonych za pomocą tablic. Ale wtedy problem polegający na usunięciu węzła byłby usunięciem węzła, ponieważ wymazanie tylko kilku bajtów w środku ogromnego pliku nie jest możliwe.C/C++: Jak przechowywać dane w pliku w drzewie B
Jednym ze sposobów usuwania może być śledzenie "pustych" węzłów do momentu osiągnięcia progowego odcięcia, a następnie utworzenie kolejnego pliku, który odrzuci puste węzły. Ale to jest nużące.
Czy istnieje lepsze podejście z punktu widzenia prostoty/wydajności do usuwania lub nawet reprezentowania drzewa B w pliku?
TIA, -Sviiya
Żeby było jasne, pytasz o B-drzewa lub drzewa binarne. –
B-drzewa. Ale myślę, że w celu przechowywania plików, problem byłby taki sam? – user203405
BTW, C i C++ to dwa różne języki. Jeśli piszesz kod, który działa na obu, dodaj znacznik C++. –