Permutations और N-Queens का विचार
items रखें और conflicts पर backtrack करें
Permutations और N-Queens का विचार, CoddyKit पर Competitive Programming Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Competitive Programming Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Competitive Programming Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
उपसमुच्चयों से क्रमचयों तक
क्रमचय सभी तत्वों को किसी क्रम में सजाने की व्यवस्था है। इन्हें बनाना उपसमुच्चयों के बाद सीखने वाला अगला बैकट्रैकिंग कौशल है। 🔀
कितने क्रमचय होते हैं
n वस्तुओं के n का फ़ैक्टोरियल क्रमचय होते हैं, क्योंकि पहले स्थान के लिए n विकल्प, अगले के लिए n घटाकर एक विकल्प और इसी तरह आगे विकल्प मिलते हैं। यह संख्या बहुत तेज़ी से बढ़ती है।
एक बार में एक वस्तु रखें
पुनरावर्तन स्थानों को बाएँ से दाएँ भरता है। प्रत्येक चरण में आप कोई अप्रयुक्त तत्व चुनकर रखते हैं और शेष पर पुनरावर्तन करते हैं।
क्या उपयोग हो चुका है, इसका पता रखें
एक बूलियन प्रयुक्त तत्वों की सारणी यह चिह्नित करती है कि कौन-से तत्व पहले ही रखे जा चुके हैं, ताकि प्रत्येक क्रमचय में हर तत्व ठीक एक बार आए।
कोड में क्रमचय
यह बैकट्रैकिंग किसी अप्रयुक्त मान को रखती है, उस पर पुनरावर्तन करती है, फिर अगली शाखा के लिए उसे मुक्त कर देती है।
def perm(cur):
if len(cur) == n:
out.append(cur[:]); return
for x in a:
if x not in cur:
perm(cur + [x])अनुमति हो तो itertools का उपयोग करें
त्वरित प्रतियोगिताओं के लिए Python का itertools.permutations स्वयं पुनरावर्तन लिखे बिना हर क्रम देता है।
from itertools import permutations
for p in permutations(a):
print(p)N-क्वीन्स समस्या
N-क्वीन्स में आपको n × n के बोर्ड पर n रानियाँ इस तरह रखनी होती हैं कि कोई भी दूसरी रानी पर हमला न कर सके। यह बैकट्रैकिंग की प्रसिद्ध पहेली है। 👑
प्रत्येक पंक्ति में एक रानी
चूँकि दो रानियाँ एक ही पंक्ति में नहीं हो सकतीं, इसलिए आप प्रत्येक पंक्ति में एक रानी रखते हैं और केवल उसका स्तंभ चुनते हैं। इससे खोज बहुत छोटी हो जाती है।
तीन टकरावों की जाँच करें
रानी रखने से पहले उस स्तंभ या विकर्ण को अस्वीकार कर दें जो पहले से लिया जा चुका है। प्रयुक्त स्तंभों और दोनों दिशाओं के विकर्णों को समुच्चयों में रखें।
if c in cols or r-c in d1 or r+c in d2:
continueअंतिम राह पर पीछे लौटें
यदि किसी पंक्ति में कोई स्तंभ काम न करे, तो शाखा विफल हो जाती है। आप बैकट्रैकिंग करके अंतिम रानी हटाते हैं और उसका अगला विकल्प आज़माते हैं।
साझा तरीका
क्रमचय और N-क्वीन्स एक ही ढाँचा साझा करते हैं: चुनें, पुनरावर्तन करें, पूर्ववत करें। इसे समझ लेने पर अधिकतर रखने वाली पहेलियाँ इसी ढाँचे से हल हो जाती हैं।
त्वरित जाँच
N-क्वीन्स में प्रत्येक पंक्ति में केवल एक रानी क्यों रखी जाती है?
पुनरावृत्ति: चुनें, पुनरावर्तन करें, पूर्ववत करें
आपने अप्रयुक्त वस्तुओं को रखकर क्रमचय बनाए और सीखा कि N-क्वीन्स भी टकरावों की जाँच के साथ यही चुनें-पुनरावर्तन-पूर्ववत करें तरीका अपनाता है। 🎯
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “Permutations और N-Queens का विचार” पाठ निःशुल्क है?
हाँ—“Permutations और N-Queens का विचार” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Competitive Programming Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Competitive Programming Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Permutations और N-Queens का विचार” में मैं क्या सीखूँगा?
items रखें और conflicts पर backtrack करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Competitive Programming Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Competitive Programming Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Competitive Programming Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“Permutations और N-Queens का विचार” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Competitive Programming Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Competitive Programming Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Recursively सोचें: Base और Recurse
- सभी Subsets उत्पन्न करना
- Permutations और N-Queens का विचार
- Time Limit में बने रहने के लिए Prune करें