Dường như với tôi rằng một cách lưu trữ dữ liệu trong một cây B như một tệp có thể được thực hiện hiệu quả với C bằng cách sử dụng tệp nhị phân với một chuỗi (mảng) các cấu trúc, với mỗi cấu trúc biểu diễn một nút. Do đó, người ta có thể kết nối các nút riêng lẻ với cách tiếp cận sẽ tương tự như việc tạo danh sách được liên kết bằng cách sử dụng các mảng. Nhưng sau đó các vấn đề mà đạo cụ lên sẽ được xóa một nút, như erasing chỉ một vài byte ở giữa trong một tập tin rất lớn là không thể.C/C++: Làm thế nào để lưu trữ dữ liệu trong một tập tin trong cây B
Một cách xóa có thể là theo dõi các nút 'trống' cho đến khi đạt ngưỡng ngưỡng và sau đó tạo một tệp khác sẽ loại bỏ các nút trống. Nhưng điều này là tẻ nhạt.
Có cách nào tốt hơn từ quan điểm đơn giản/hiệu quả để xóa hoặc thậm chí là đại diện cho cây B trong tệp không?
TIA, -Sviiya
Chỉ cần rõ ràng, bạn đang hỏi về cây B hay cây nhị phân. –
B-cây. Nhưng tôi đoán với mục đích lưu trữ như các tập tin vấn đề sẽ giống nhau? – user203405
BTW, C và C++ là hai ngôn ngữ khác nhau. Nếu bạn đang viết mã hoạt động trên cả hai, sau đó thêm thẻ C++. –