Uczę CS2 ( Java and data structures
) i mam trudności z wymyśleniem dobrych przykładów do wykorzystania podczas nauczania kolejek. Dwie główne aplikacje, w których ich używam, to multithreaded
przekazywanie wiadomości (ale programowanie MT nie wchodzi w zakres kursu) i BFS-style algorithms
(i nie będę obejmował wykresów później).
Chcę też uniknąć wymyślonych przykładów. Większość rzeczy, o których myślę, gdybym miał je rozwiązać w sposób jednowątkowy, użyłbym raczej listy niż kolejki. Zwykle używam kolejek tylko wtedy, gdy przetwarzanie i wykrywanie są przeplatane (np. Wyszukiwanie) lub w innych specjalnych przypadkach, takich jak bufory o ograniczonej długości (np. Utrzymanie ostatnich N elementów). W zakresie praktycznym staram się uczyć moich uczniów dobrych sposobów robienia rzeczy w prawdziwych programach, a nie tylko zabawek, aby pokazać jakąś funkcję.
Jakieś sugestie dobrych, prostych algorytmów lub aplikacji kolejek, które mogę wykorzystać jako przykłady, ale które wymagają minimum innej wcześniejszej wiedzy?