Giải (?) Câu hỏi mục 2 Hoạt động Bài 15. Cấu trúc dữ liệu danh sách liên kết và ứng dụng (trang 146) – SGK Tin học 11 Cánh diều. Gợi ý: Dựa vào kiến thức đã học.
Câu hỏi/Đề bài:
Dịch vụ cung cấp bài hát trực tuyến thường đưa ra một danh sách N bài hát đứng đầu một tuần, một tháng, … Sau đó, danh sách này được sử dụng theo nhiều các khác nhau: phát lại theo trình tự ngẫu nhiên, phát lại từ bài N-1 đến 0 hay ngược lại…Em hãy cho biết:
1. Kiểu danh sách này có những đặc điểm gì?
2. Có nên dùng cấu trúc danh sách liên kết để thực hiện kiểu danh sách này hay không?
Hướng dẫn:
Dựa vào kiến thức đã học.
Lời giải:
1. Dịch vụ cung cấp bài hát trực tuyến với danh sách N bài hát đứng đầu có những đặc điểm sau:
- Thứ tự sắp xếp: Các bài hát được sắp xếp theo thứ tự từ bài số 1 đến bài số N dựa trên mức độ phổ biến, số lượt nghe, bình chọn, v.v.
- Dễ dàng truy cập và điều hướng: Người dùng có thể dễ dàng truy cập và di chuyển qua lại giữa các bài hát trong danh sách.
- Thay đổi thường xuyên: Danh sách này có thể thay đổi hàng tuần, hàng tháng, hoặc theo các khoảng thời gian khác tùy vào sự cập nhật của dịch vụ.
- Các chức năng phát lại: Danh sách có thể được phát lại theo nhiều cách khác nhau như:
- Phát lại theo trình tự ngẫu nhiên (shuffle).
- Phát lại từ bài hát cuối cùng đến bài hát đầu tiên (N-1 đến 0).
- Phát lại theo thứ tự thông thường (từ 0 đến N-1).
2. Không nên dùng cấu trúc danh sách liên kết cho kiểu danh sách này. Vì việc sử dụng danh sách liên kết có một số hạn chế như:
- Truy cập chậm hơn: Việc truy cập một phần tử trong danh sách liên kết chậm hơn so với danh sách mảng (array) vì cần phải duyệt qua các nút.
- Không hỗ trợ truy cập ngẫu nhiên: Không thể truy cập trực tiếp đến một phần tử cụ thể, cần phải duyệt từ đầu danh sách.
- Tốn bộ nhớ hơn: Mỗi nút trong danh sách liên kết cần thêm bộ nhớ cho con trỏ (pointer) đến nút tiếp theo.