Mảng và Danh sách List nên dùng cái nào?

hồi trước em học C thì nói là mảng khi khai báo nó sẽ cấp phát vùng nhớ liên tiếp >> tốn vùng nhớ , còn List thì cấp phát động >> tiếc kiệm vùng nhớ , nhưng lúc chạy chương trình không biết cái nào sẽ chạy nhanh hơn khi số lượng phần tử rất lớn vài trăm ngàn > 1 triệu phần tử ??

em đang nói đên array, arrayList, hay LinkedList? mà dữ liệu mấy triêu phân tử đẩy hết vào list làm gì :(?.

em đang muốn hỏi xem giữa mảng tĩnh ( số phần tử cố định ) và danh sách liên kết (số phần tử có thể thay đổi và vùng nhớ cấp phát động ) thì sử dụng cái nào sẽ có tốc độ nhanh hơn nếu số phần tử rất lớn…

Việc này còn phụ thuộc vào bài toán của bạn, nhìn chung mảng tĩnh và danh sách liên kết có điểm mạnh riêng:

Danh sách liên kết:

  • Thực hiện phép insert/delete nhanh hơn, không cần truy cập phần tử nhiều
  • Dùng khi không biết trước số lượng phần tử
    Mảng:
  • Dùng khi biết trước số lượng phần tử cua mảng
  • Thực hiện phép truy cập phần tử nhanh (random access)
2 Likes

Trên thực tế thì DSLK (LinkedList) ẹ vô cùng.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?