Dynamic array là gì?

Noun Programming
growable array resizable array dynamic table mutable array array list
Mảng động

Mảng động (dynamic array) là cấu trúc dữ liệu (data structure) danh sách (list) có kích thước thay đổi, truy cập ngẫu nhiên cho phép thêm hoặc bớt các phần tử (element). Nó được cung cấp với các thư viện tiêu chuẩn (standard library) trong nhiều ngôn ngữ lập trình chính. Mảng động (dynamic array) khắc phục nhược điểm của mảng tĩnh (static array), có chiều dài (length) cố định cần được chỉ định khi cấp phát (allocation).

Một mảng động (dynamic array) cũng giống như một mảng bình thường. Sự khác biệt giữa cả hai là kích thước của một mảng động có thể được sửa đổi động trong runtime. Chúng ta không cần chỉ định trước kích thước của mảng. Trong một mảng động (dynamic array), khi bộ nhớ được lấp đầy, một phần bộ nhớ lớn hơn sẽ được cấp phát. Nội dung của mảng ban đầu được sao chép vào không gian mới này và các vị trí có sẵn được lấp đầy liên tục.

Trong Python, các đối tượng list là mutable. Điều này có nghĩa là chúng ta có thể dễ dàng thêm hoặc xóa một mục khỏi list trong runtime mà không cần chỉ định bất kỳ kích thước nào. Vì vậy, list hoạt động như một mảng động (dynamic array) trong Python. Bên dưới là code ví dụ về list trong Python đóng vai trò như mảng động (dynamic array).


list1=[]
list1.append(1)
list1.append(5)
print(list1)

Output:


[ 1 , 5 ]

Trong ví dụ ở trên mảng ban đầu trống (empty) có kích thước / chiều dài là 0, sau đó mảng được thêm hai phần tử là 1 và 5 vào mảng. Do đó kích thước / chiều dài của bảng sau khi thêm hai phần tử là 2.

Learning English Everyday