Greedy सोच
सबसे अच्छा step चुनें और पीछे मुड़कर न देखें
Greedy सोच, CoddyKit पर Competitive Programming Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Competitive Programming Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Competitive Programming Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
लालची विधि का अर्थ
एक greedy कलनविधि उत्तर को चरण-दर-चरण बनाती है और हर बार वही विकल्प चुनती है जो उसी क्षण सबसे अच्छा दिखाई देता है; बाद में उसे कभी वापस नहीं लेती। ⚡
सबसे अच्छा चरण चुनिए
हर क्षण आप एक ही बात पूछते हैं: कौन-सा एक विकल्प locally सबसे अधिक लाभ देगा? उसे चुनकर अगले निर्णय पर बढ़ जाइए।
पीछे मुड़कर मत देखिए
लालची विधि किसी विकल्प को चुनकर उसे never reverses करती है। बैकट्रैकिंग के विपरीत, यह दूसरे रास्तों को नहीं आज़माती, और इसी कारण इतनी तेज़ होती है।
लालची विधि तेज़ क्यों है
क्योंकि यह हर चरण में केवल एक बार निर्णय लेती है, इसलिए क्रमबद्ध करने के बाद लालची विधि सामान्यतः O(n) या O(n log n) में चलती है। प्रतियोगिताओं में इसकी सबसे बड़ी विशेषता यही गति है।
क्रमबद्ध करने की आदत
अधिकांश लालची समाधान वस्तुओं को sorting से शुरू होते हैं। क्रम से पता चलता है कि हर चरण में कौन-सा तत्व स्पष्ट रूप से सबसे अच्छा चुना जाना चाहिए।
items.sort(key=lambda x: x.cost)लालची चयन का गुण
लालची विधि तभी काम करती है जब कोई local सर्वोत्तम विकल्प किसी वैश्विक सर्वोत्तम उत्तर का भी भाग हो। इसे लालची चयन का गुण कहते हैं।
यह हमेशा सही नहीं होती
अभी का सबसे अच्छा चरण चुनना फिर भी पूरे समाधान में fail हो सकता है। विषम मूल्यवर्ग वाले सिक्कों में छुट्टे पैसे निकालना इसका प्रसिद्ध उदाहरण है, जहाँ लालची विधि गलत कुल देती है।
सिद्ध कीजिए या परीक्षण कीजिए
लालची विधि पर भरोसा करने से पहले उसे अदला-बदली वाले तर्क से justify कीजिए या छोटी प्रविष्टियों पर पूर्ण खोज के विरुद्ध तनाव-परीक्षण कीजिए।
अदला-बदली का तर्क
एक exchange प्रमाण लालची चयन को सर्वोत्तम उत्तर में रखकर दिखाता है कि परिणाम उससे खराब नहीं होता। यदि यह सिद्ध हो जाए, तो लालची विधि सुरक्षित है।
एक छोटा लालची लूप
लगभग हर लालची विधि का shape ऐसा होता है: क्रमबद्ध कीजिए, फिर एक बार पूरी सूची पर चलते हुए अपने नियम में फिट होने वाली वस्तु चुनते जाइए।
items.sort()
for x in items:
if fits(x):
take(x)लालची विधि कब चुनें
जब कोई स्पष्ट ordering विकल्पों को क्रम देता हो और एक नियम लगातार सबसे अच्छा साबित होता हो, तब लालची विधि आज़माइए। यदि विकल्प जटिल तरीके से एक-दूसरे पर निर्भर हों, तो DP की ओर झुकिए।
त्वरित जाँच
आप तय कर रहे हैं कि लालची तरीका भरोसेमंद है या नहीं।
पुनरावलोकन
लालची विधि best local step चुनती है और सामान्यतः पहले क्रमबद्ध करने के बाद पीछे मुड़कर नहीं देखती। यह तेज़ है, लेकिन तभी सही होती है जब आप सिद्ध कर सकें कि लालची चयन का गुण लागू होता है। 🚀
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “Greedy सोच” पाठ निःशुल्क है?
हाँ—“Greedy सोच” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Competitive Programming Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Competitive Programming Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Greedy सोच” में मैं क्या सीखूँगा?
सबसे अच्छा step चुनें और पीछे मुड़कर न देखें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Competitive Programming Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Competitive Programming Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Competitive Programming Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“Greedy सोच” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Competitive Programming Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Competitive Programming Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Greedy सोच
- सबसे जल्दी समाप्त होने वाली Activity चुनना
- Ratio से Fractional Knapsack
- Greedy कब विफल होता है पहचानें