Câu này em hiểu là: thêm phần tử vào mảng sẽ tốn kém vì nó phải tạo 1 ô trống mới rồi, rồi còn phải dịch chuyển các phần tử trước.
Tại sao lại vậy??? Theo em học kiến trúc máy tính thì mảng sẽ lưu trữ ở các ô liền kề nhau, vậy dịch chuyển chỗ nào???
Mảng và cách lưu trữ mảng
Như thế này nè:
Ví dụ bạn có mảng : | 1 | 2 | 3 | 4 | 5 | 6 | - |
Giờ bạn muốn chèn 0 vào giữa, tức là | 1 | 2 | 3 | 0 | 4 | 5 | 6 |
thì bạn phải làm 2 việc:
-
- Dịch tất cả các phẩn từ từ 4 qua phải 1 ô. Tức là mất 3 lần dịch chuyển.
-
- Thêm 0 vào vị trí 4 cũ.
Bây giờ hãy hít thở thật sâu, và tưởng tượng mảng có 1 tỷ phần tử…
5 Likes
cảm ơn bro, mình ko nghĩ kĩ mà đã đi hỏi rồi
1 Like