मैं CS2 ( Java and data structures
) सिखा रहा हूं , और जब शिक्षण कतारों का उपयोग करने के लिए अच्छे उदाहरणों के साथ आने में कुछ कठिनाई हो रही है। मेरे द्वारा उपयोग किए जाने वाले दो प्रमुख एप्लिकेशन multithreaded
मैसेज पासिंग हैं (लेकिन एमटी प्रोग्रामिंग पाठ्यक्रम के दायरे से बाहर है), और BFS-style algorithms
(और मैं इस शब्द को बाद के समय तक ग्राफ में शामिल नहीं करूंगा)।
मैं भी वंचित उदाहरणों से बचना चाहता हूं। ज्यादातर चीजें जो मैं सोचता हूं, अगर मैं वास्तव में उन्हें एक एकल-थ्रेडेड फैशन में हल करने जा रहा था, तो मैं केवल एक कतार के बजाय एक सूची का उपयोग करूंगा। मैं केवल तभी कतारों का उपयोग करता हूं, जब प्रसंस्करण और खोज इंटरलीव्ड (जैसे खोज), या लंबाई-सीमित बफ़र्स (जैसे अंतिम एन आइटम बनाए रखने ) जैसे अन्य विशेष मामलों में होती हैं । व्यावहारिक रूप से, मैं वास्तव में वास्तविक कार्यक्रमों में चीजों को करने के लिए अपने छात्रों को अच्छे तरीके सिखाने की कोशिश कर रहा हूं, न कि केवल एक सुविधा दिखाने के लिए खिलौने।
अच्छे, सरल एल्गोरिदम या कतारों के किसी भी सुझाव जो मैं उदाहरण के रूप में उपयोग कर सकता हूं, लेकिन इसके लिए न्यूनतम पूर्व ज्ञान की आवश्यकता होती है?