Hỏi thứ tự phục vụ của thuật toán C-LOOK
Trả lời:
Đáp án đúng: D
Thuật toán C-LOOK (Circular LOOK) là một thuật toán lập lịch đĩa. Nó tương tự như thuật toán SCAN (hay còn gọi là Elevator Algorithm), nhưng thay vì di chuyển đến cuối đĩa ở mỗi hướng, nó chỉ di chuyển đến yêu cầu cuối cùng trong hướng đó, sau đó ngay lập tức quay trở lại yêu cầu gần nhất ở phía đối diện mà chưa được phục vụ.
Để giải câu này, ta cần giả sử vị trí đầu đọc ban đầu (ví dụ: 53) và hướng di chuyển (ví dụ: tăng dần). Sau đó, ta thực hiện theo các bước sau:
1. **Di chuyển theo hướng hiện tại (tăng dần):** Phục vụ các yêu cầu theo thứ tự tăng dần cho đến yêu cầu cuối cùng theo hướng đó. Trong trường hợp này, thứ tự là: 53, 65, 67, 98, 122, 124, 183.
2. **Quay trở lại:** Thay vì di chuyển đến cuối đĩa, quay trở lại vị trí yêu cầu nhỏ nhất còn lại (chưa được phục vụ) ở phía ngược lại. Trong trường hợp này, yêu cầu nhỏ nhất còn lại là 14, sau đó đến 37.
Vậy, thứ tự phục vụ sẽ là: 53, 65, 67, 98, 122, 124, 183, 14, 37.
Do đó, đáp án D là đáp án chính xác nhất trong các lựa chọn đã cho. Các đáp án khác không tuân theo đúng trình tự di chuyển và quay trở lại của thuật toán C-LOOK.
50 câu hỏi 60 phút