Tôi đang dạy CS2 ( Java and data structures
) và đang gặp một số khó khăn khi đưa ra các ví dụ hay để sử dụng khi dạy hàng đợi. Hai ứng dụng chính mà tôi sử dụng chúng là multithreaded
truyền tin nhắn (nhưng lập trình MT nằm ngoài phạm vi của khóa học) và BFS-style algorithms
(và tôi sẽ không bao gồm các biểu đồ cho đến sau này trong nhiệm kỳ).
Tôi cũng muốn tránh các ví dụ giả định. Hầu hết mọi thứ mà tôi nghĩ đến, nếu tôi thực sự sẽ giải quyết chúng theo cách đơn luồng, tôi sẽ chỉ sử dụng một danh sách chứ không phải là một hàng đợi. Tôi có xu hướng chỉ sử dụng hàng đợi khi quá trình xử lý và khám phá được xen kẽ (ví dụ: tìm kiếm) hoặc trong các trường hợp đặc biệt khác như bộ đệm giới hạn độ dài (ví dụ: duy trì N mục cuối ). Trong phạm vi thực tế, tôi đang cố gắng dạy cho học sinh của mình những cách tốt để thực sự làm mọi thứ trong các chương trình thực tế, không chỉ là đồ chơi để thể hiện một tính năng.
Bất kỳ đề xuất nào về các thuật toán tốt, đơn giản hoặc các ứng dụng của hàng đợi mà tôi có thể sử dụng làm ví dụ nhưng điều đó đòi hỏi tối thiểu các kiến thức trước đó?