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ử ??
Mảng và Danh sách List nên dùng cái nào?
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?