Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Nhiều danh sách trong một mảng duy nhất trong cấu trúc dữ liệu


Biểu diễn mảng lãng phí không gian khi lưu dữ liệu thay đổi theo thời gian. Để lưu dữ liệu, cấp phát mảng đủ lớn. Dùng array doubling để tăng size.

Ví dụ size hiện tại 8192, đầy. Tăng gấp đôi → 16384. Sao chép 8192 phần tử, giải phóng mảng cũ. Trước khi giải phóng, tổng bộ nhớ = 3 * 8192 (mảng cũ + mảng mới). Không tốt.

Khi lưu nhiều danh sách, có thể chia sẻ một mảng lớn thay vì tạo mới cho mỗi danh sách. Nhiều danh sách trong một mảng:

Nhiều danh sách trong một mảng duy nhất trong cấu trúc dữ liệu

Dù tiết kiệm bộ nhớ, nhưng chèn đắt hơn (phải dịch chuyển phần tử danh sách khác), và biểu diễn khó triển khai hơn.