इस प्रोजेक्ट के बारे में
कोडिंग प्रॉब्लम्स एक सीखने-उन्मुख रिपॉजिटरी है जो एल्गोरिदमिक और कोडिंग-इंटरव्यू शैली की समस्याओं के Python 3 समाधान एकत्र करती है, साथ ही अध्ययन संसाधनों का एक चयनित सेट भी। README स्पष्ट रूप से बताता है कि सामग्री सीखने और शोध के लिए है, उत्पादन उपयोग के लिए नहीं।
समाधान
सभी समाधान Python 3 में लिखे गए हैं और केवल बिल्ट-इन फ़ंक्शन और कुछ मानक-लाइब्रेरी मॉड्यूल (math, collections, heapq, random) पर निर्भर हैं, इसलिए उन्हें चलाने के लिए कोई बाहरी पैकेज आवश्यक नहीं है। लेखक ने Python इसलिए चुना क्योंकि यह स्यूडोकोड के करीब पढ़ा जाता है, जिससे तर्क को अन्य भाषाओं में पोर्ट करना आसान हो जाता है। कोड शैली PEP8 का पालन करती है।
प्रत्येक समाधान फ़ाइल एक सुसंगत टेम्पलेट का उपयोग करती है: समस्या का नाम, स्पष्टीकरण, इनपुट/आउटपुट विवरण, और समय और स्थान जटिलता के साथ एक या अधिक समाधान दृष्टिकोण वाला डॉकस्ट्रिंग; फिर समाधान फ़ंक्शन; फिर एक सरल परीक्षण अनुभाग जो यूनिट-टेस्टिंग फ्रेमवर्क के बजाय print() के साथ परिणाम प्रिंट करता है (README वास्तविक परीक्षण के लिए unittest या pytest को बेहतर विकल्प बताता है)।
समस्याओं को श्रेणियों में बांटा गया है: Arrays (सॉर्टिंग, बाइनरी सर्च, डिवाइड एंड कॉन्कर, स्लाइडिंग विंडो), लिंक्ड लिस्ट्स, ट्रीज़ (BSTs, BFS/DFS ट्रैवर्सल), हैशिंग डेटा स्ट्रक्चर्स (सेट और डिक्शनरी), डायनेमिक प्रोग्रामिंग (1D/2D, LCS, LIS, नैपसैक), स्ट्रिंग्स, मैथ (GCD, LCM, फैक्टराइज़ेशन, ज्योमेट्री), और अन्य (बैकट्रैकिंग, BFS, DFS, स्टैक, क्यू, डेक, हीप, मैट्रिक्स)। लेखक नोट करता है कि समस्याएं स्वयं LeetCode जैसी साइटों से आती हैं; केवल समाधान और स्पष्टीकरण मौलिक हैं।
सीखने के संसाधन
रिपॉजिटरी चार समूहों में संसाधनों का चयन भी करती है:
- पाठ्यक्रम: स्टैनफोर्ड, प्रिंसटन, UC सैन डिएगो, MIT, हार्वर्ड और UC बर्कले के मुफ्त विश्वविद्यालय पाठ्यक्रम, जो एल्गोरिदम, डेटा स्ट्रक्चर्स, ग्राफ एल्गोरिदम और उन्नत विषयों को कवर करते हैं।
- पुस्तकें: एक छोटी एनोटेटेड सूची जिसमें Grokking Algorithms, CLRS, Sedgewick & Wayne, The Algorithm Design Manual, Dasgupta et al., Competitive Programming 3, और Cracking the Coding Interview शामिल हैं।
- प्रशिक्षण साइटें: अभ्यास प्लेटफार्मों की एक लंबी सूची जैसे Codeforces, HackerRank, Topcoder, AtCoder, SPOJ, Project Euler, Kattis, Codewars, Codility और अन्य।
- अन्य संसाधन: Geeks For Geeks, TheAlgorithms/Python, CP Algorithms, विज़ुअलाइज़र (USFCA, VisuAlgo, Algorithm Visualizer), विभिन्न ट्यूटोरियल और YouTube प्लेलिस्ट।
README बग रिपोर्ट या बेहतर कार्यान्वयन के लिए issues या pull requests के माध्यम से आमंत्रित करता है और नोट करता है कि रिपॉजिटरी समय-समय पर अपडेट होती है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.