जैसा कि वादा किया गया है, मैं एल्गोरिदम पाठ्यक्रम में प्रशिक्षण पर एक
लेख की निरंतरता लिख रहा हूं।
जो लोग पाठ्यक्रम की संरचना को नहीं जानते हैं, मैं पहले लेख में पूछता हूं, वहां मैंने चित्रित किया कि काम कैसे चल रहा है। यहां मैं अंतिम 3 सप्ताह के अध्ययन और अंतिम परीक्षा के कार्यक्रम के बारे में बात करूंगा।
सप्ताह 4- प्राथमिकता कतार। प्राथमिकता कतार, उनके मूल संचालन की जांच की जाती है, और उनमें से प्रत्येक की जटिलता का अनुमान लगाया जाता है। बाइनरी हीप (बाइनरी हीप) के माध्यम से कतार के कार्यान्वयन पर विचार करता है, साथ ही साथ इस डेटा संरचना (हीप सॉर्ट) के आधार पर छंटनी करता है।
- एलिमेंट्री सिंबल टेबल्स (प्रतीक टेबल)। यह अध्याय "प्रतीक तालिकाओं" के लिए समर्पित है (ऐसे प्रत्यक्ष अनुवाद के लिए मुझे क्षमा करें), दूसरे शब्दों में, कुंजी-मूल्य जोड़े को संग्रहीत करना। एक लिंक की गई सूची और एक बाइनरी ट्री के माध्यम से प्रतीक तालिकाओं के कार्यान्वयन में बुनियादी संचालन और उनकी जटिलता पर विचार किया जाता है। मेरी राय में, इस अध्याय को बाइनरी पेड़ों और उन पर किए गए कार्यों के लिए एक उत्कृष्ट मार्गदर्शक माना जा सकता है। बड़े और बड़े, यह इतना महत्वपूर्ण नहीं है कि हम उनमें क्या संग्रह करते हैं, अध्याय को बहुत अच्छी तरह से प्राथमिक प्रतीक सारणी और बीएसटी कहा जा सकता है।
- एक व्यावहारिक कार्य के रूप में, यह गेम "टैग" का समाधान खोजने के लिए एक कार्यक्रम को लागू करने का प्रस्ताव होगा।
सप्ताह 5- संतुलित खोज पेड़ (संतुलित खोज पेड़, फिर से मैं सीधे अनुवाद के लिए माफी मांगता हूं, शायद पेड़ नहीं खोजता, लेकिन द्विआधारी पेड़)। संभवतः पूरे पाठ्यक्रम में सबसे उपयोगी अध्यायों में से एक है। लाल-काले पेड़ को माना जाता है, जो मूलभूत डेटा संरचनाओं में से एक है। यह बहुत विस्तार से और समझदारी से माना जाता है, विश्लेषण 2-3 पेड़ों से शुरू होता है, और फिर, उनके विकास के रूप में, एक लाल-काले पेड़ माना जाता है। अपने आश्चर्य के लिए, उन्होंने सीखा कि पाठ्यक्रम के लेखक, रॉबर्ट सेदशेविक का उस रूप में एक लाल-काले रंग का आबनूस बनाने में सीधा हाथ था, जिसे हम उन्हें जानते हैं।
- जीएसटी के ज्यामितीय अनुप्रयोग (ज्यामितीय समस्याओं को हल करने के लिए बाइनरी पेड़ों का अनुप्रयोग)। यह खंड मेरे लिए एक रहस्योद्घाटन था, अगर सब कुछ जो पहले माना जाता था, मैं एक डिग्री या किसी अन्य को जानता था, तो लगभग सब कुछ नया था यहां, विशेष रूप से केडी-पेड़ - एक बहुत ही दिलचस्प डेटा संरचना। सामान्य तौर पर, बाइनरी पेड़ों का उपयोग करने की संभावना यह पता लगाने के लिए कि विमान पर बिंदुओं (या बिंदुओं) का एक सेट अंक (खंड या आयत) के दूसरे सेट से संबंधित है या नहीं। द्विआधारी पेड़ों की ऐसी किस्मों को केडी पेड़ और इंटरवल सर्च ट्री के रूप में माना जाता है।
- एक व्यावहारिक कार्य के लिए, विमान पर निकटतम बिंदु के लिए खोज और विमान पर एक बिंदु से संबंधित एक kd-वृक्ष का उपयोग करके दिए गए आयत को प्रस्तावित करना है।
सप्ताह 6- हैश टेबल्स (हैश टेबल)। जैसा कि नाम से पता चलता है, अध्याय हैश टेबल पर केंद्रित है। पहला व्याख्यान हैश कार्यों के लिए समर्पित है, साथ ही जावा में हैश कार्यों को कैसे लागू किया जाए। फिर वार्तालाप स्वयं हैश तालिकाओं के बारे में होता है: उनके कार्यान्वयन पर विचार किया जाता है, संचालन की जटिलता का मूल्यांकन किया जाता है। हैश तालिका में हैश टक्करों को हल करने के तरीकों पर बहुत ध्यान दिया जाता है। तरीकों में से एक सभी के लिए जाना जाता है और हैश फ़ंक्शन के प्रत्येक मूल्य के लिए सूचियों पर आधारित है, दूसरी विधि, उदाहरण के लिए, यह भी एक खोज थी, मैंने इसे पहले कभी नहीं देखा था (एक लिंक की गई सूची का उपयोग सभी मूल्यों को संग्रहीत करने के लिए किया जाता है)।
- पाठ्यक्रम के अंतिम सप्ताह में, कोई व्यावहारिक कार्य नहीं है, इसके बजाय, एक अंतिम परीक्षा है।
अंतिम परीक्षामुझे कहना होगा, अंतिम परीक्षा काफी कठिन बात है। 20 प्रश्न, जिनमें से कई खुले हैं, अर्थात कोई उत्तर विकल्प नहीं (उदाहरण के लिए, उस पर निर्दिष्ट प्रकार के एन-स्टेप को करने के बाद संख्याओं की एक सरणी लिखें)। अधिकांश प्रश्न पहले से ही पाठ्यक्रम के पिछले अभ्यास में थे, लेकिन कई नए प्रकार के कार्य हैं। उदाहरण के लिए, कई कथन या प्रश्न दिए गए हैं, साथ ही कई उत्तर भी दिए गए हैं, इसके लिए संबंधित कथनों के साथ उत्तरों की तुलना करना आवश्यक है। यह कार्य इस तथ्य से जटिल है कि विकल्पों में से प्रत्येक का उपयोग 1 या अधिक विवरणों के लिए किया जा सकता है या बिल्कुल भी उपयोग नहीं किया जा सकता है। या एक और उदाहरण: शब्दों के 10 सरणियाँ दी गई हैं और प्रारंभिक सरणी का संकेत दिया गया है, यह निर्धारित करना आवश्यक है कि यह या उस सरणी को सॉर्ट करने वाली मध्यवर्ती स्थिति क्या है (असाइनमेंट ने मुझे शालीनता से तनावपूर्ण बना दिया है, और जब से मैंने इसे अंतिम रूप देने के लिए काम किया है, मैं लंबे समय तक और स्पैट के लिए पर्याप्त नहीं था, मैंने कुछ विकल्प रखे। यादृच्छिक पर)।
अंतिम परीक्षा के लिए तीन प्रयास दिए गए हैं, सर्वश्रेष्ठ को गिना जाएगा (दुर्भाग्य से, मेरे पास अंतिम समय सीमा से ठीक पहले परीक्षा के लिए खाली समय था, इसलिए मेरे पास केवल एक प्रयास था)। समय में, आपको शांत वातावरण में 2-3 घंटे के काम पर ध्यान देने की आवश्यकता है, सावधानी और सटीकता बहुत महत्वपूर्ण है। मेरे लिए केवल दो कार्य अभिभूत थे क्योंकि मैंने पेपर से अंतिम उत्तर को इनपुट फ़ील्ड में सही ढंग से स्थानांतरित नहीं किया था: एक कार्य में मैंने सरणी के अंतिम तत्व को नहीं जोड़ा था, दूसरे में मैंने नंबर 90 के बजाय संख्या 90 के बजाय 92 लिखा था। आप अंतिम परीक्षा में टाइप कर सकते हैं। अधिकतम 20 अंक, मैं 20 में से 14.77 स्कोर करने में कामयाब रहा, हालांकि, जैसा कि मैंने ऊपर लिखा था, बस थोड़ा अधिक चौकस रहने के कारण, मैं 16-17 अंक प्राप्त कर सका। दुर्भाग्य से, अंतिम परीक्षण के बाद, पाठ्यक्रम के लिए समग्र ग्रेड की कोई गणना नहीं थी (या शायद मुझे अभी यह नहीं मिला?), हालांकि अभ्यास और व्यावहारिक कार्यों के लिए स्कोरिंग ने अंतिम ग्रेड के अस्तित्व का सुझाव दिया। यदि आप शुरुआत से लेकर अंत तक पूरे पाठ्यक्रम को जिम्मेदारी से लेते हैं, तो अंतिम परीक्षा कठिनाइयों का कारण नहीं बनेगी।
कुल मिलाकर, मुझे पाठ्यक्रम बहुत पसंद आया, मैंने बहुत सी नई चीजें सीखीं और अपने असमान ज्ञान को एक प्रणाली में लाया। नवंबर में घोषित इस पाठ्यक्रम के दूसरे भाग के लिए पहले ही साइन अप किया जा चुका है। उन लोगों के लिए जिन्होंने अभी तक पहले भाग को नहीं सुना है, मैं इसकी अत्यधिक अनुशंसा करता हूं। दुर्भाग्य से, साइट के पास अभी तक पाठ्यक्रम के लिए एक सटीक शुरुआत तिथि नहीं है, लेकिन आप इसकी शुरुआत की सूचना प्राप्त कर सकते हैं और प्राप्त कर सकते हैं।
संदर्भ:oursera वेबसाइट -
www.coursera.orgकोर्स "एल्गोरिदम। भाग 1 ”-
www.coursera.org/course/algs4partIकोर्स "एल्गोरिदम। भाग 2 ”-
www.coursera.org/course/algs4partII