私はCS2(Java and data structures
)を教えていますが、キューを教えるときに使用する良い例を思い付くのが困難です。私がそれらを使用する2つの主要なアプリケーションは、multithreaded
メッセージパッシング(ただし、MTプログラミングはコースの範囲外です)ですBFS-style algorithms
(そして、この期間の後半まではグラフを取り上げません)。
不自然な例も避けたいです。私が考えているほとんどのことは、実際にシングルスレッド方式で解決する場合は、キューではなくリストを使用するだけです。処理とディスカバリーがインターリーブされる場合(検索など)、または長さ制限のあるバッファー(最後のNアイテムを維持するなど)のような特別な場合にのみ、キューを使用する傾向があります。実用的な範囲で、私は生徒に実際のプログラムで実際に物事を行うための良い方法を教えるだけでなく、機能を披露するおもちゃだけではありません。
例として使用できるが、他の最小限の事前知識を必要とする、キューの優れたシンプルなアルゴリズムまたはアプリケーションの提案はありますか?