क्या आपने साक्षात्कार एल्गोरिथम प्रश्न पास कर लिया? एल्गोरिदम प्रश्नों को सीखने में बहुत अधिक समय लगता है? आपकी समस्या नहीं! इससे पहले, कोई भी एल्गोरिथम सीखने की विधि इतनी सरल और कुशल नहीं हो सकती थी। एल्गोरिथम मास्टर बनने के लिए केवल तीन चरण होते हैं: पहला कदम प्रश्न को पढ़ना है; दूसरा कदम एनीमेशन खेलना, उपशीर्षक देखना और समझना है विचार और कोड; तीसरा चरण है पढ़ना, विश्लेषण करना और सारांशित करना;
एल्गोरिदम एनीमेशन आरेख ऐप का निर्माण कई प्रोग्रामर के व्यक्तिगत अनुभवों से उपजा है, जो नौकरी बदलते समय अक्सर एल्गोरिदम की समीक्षा करने की आवश्यकता महसूस करते हैं। इन एल्गोरिदम को दोबारा देखने की प्रक्रिया में आम तौर पर विभिन्न ऑनलाइन समाधानों को देखना शामिल होता है, जिनमें से कई में एनिमेटेड दृश्य या योजनाबद्ध आरेख शामिल होते हैं। प्रतिनिधित्व के ये रूप अकेले पाठ की तुलना में अधिक प्रभावी और समझने में तेज़ हैं। हालाँकि, मौजूदा संसाधनों में कुछ सीमाएँ स्पष्ट हो गईं, जिनमें एनिमेशन में अन्तरक्रियाशीलता की कमी, अध्ययन करते समय डेटा को बदलने में असमर्थता और मोबाइल पहुँच से जुड़ी चुनौतियाँ शामिल हैं।
सीखने के अनुभव को बेहतर बनाने की इच्छा से प्रेरित होकर, डेवलपर ने ऐप के भीतर 70 अलग-अलग एनिमेशन बनाने के लिए प्रतिबद्ध किया। इस एप्लिकेशन का प्राथमिक लक्ष्य एक शिक्षण उपकरण के रूप में कार्य करना है जो उपयोगकर्ताओं को एल्गोरिदम अवधारणाओं और कोड को जल्दी से समझने में सहायता करता है। हालाँकि ऐप एक दृश्य और इंटरैक्टिव सीखने का अनुभव प्रदान करता है, यह उपयोगकर्ताओं को कोड सबमिट करने या निष्पादित करने की अनुमति नहीं देता है; संपूर्ण सीखने के अनुभव के लिए कंप्यूटर पर कोड टाइप करना आवश्यक है।
ऐप की सामग्री को व्यवस्थित करने में, डेवलपर ने एल्गोरिदम प्रश्नों को उनके लीटकोड पहचान संख्याओं के आधार पर व्यवस्थित नहीं करने का विकल्प चुना। इसके बजाय, उन्होंने प्रश्नों को तीन मुख्य श्रेणियों में वर्गीकृत किया: लिंक्ड सूचियाँ, स्ट्रिंग्स, एरे और बाइनरी ट्री; बैकट्रैकिंग, लालची एल्गोरिदम, गतिशील प्रोग्रामिंग, और फूट डालो और जीतो; छँटाई के लिए एक अलग अनुभाग के साथ। प्रत्येक श्रेणी को कठिनाई के आधार पर विभाजित किया गया है - आसान, मध्यम और कठिन - जो उपयोगकर्ताओं को सैद्धांतिक अवधारणाओं की गहन शिक्षा को प्रोत्साहित करते हुए क्रमिक रूप से विशिष्ट ज्ञान क्षेत्रों पर ध्यान केंद्रित करने की अनुमति देता है।
ऐप डेवलपर के अपने पिछले सीखने के अनुभवों को भी दर्शाता है, विशेष रूप से सॉर्टिंग एल्गोरिदम से जूझते समय आने वाली चुनौतियों को। चूँकि शुरुआत में छँटाई को एक कठिन विषय माना गया था, बेहतर समझ की सुविधा के लिए शुरुआती लोगों के लिए इसके लिए एक विशिष्ट वर्गीकरण नामित किया गया है। इस संरचित दृष्टिकोण का उद्देश्य उपयोगकर्ताओं को पारंपरिक शैक्षिक ढांचे के साथ संरेखित तरीके से जटिल विषयों के माध्यम से व्यवस्थित रूप से नेविगेट करने में मदद करना है।
एनीमेशन और कोड के बीच इंटरेक्शन को बढ़ाने के लिए, ऐप में कई विचारशील विशेषताएं शामिल हैं। एक प्रमुख पहलू कोड हाइलाइटिंग फ़ंक्शन है, जो संबंधित एनीमेशन के आगे बढ़ने पर कोड की प्रत्येक पंक्ति को हाइलाइट करके कोड निष्पादन के साथ एनीमेशन को सिंक्रनाइज़ करता है। इसके अतिरिक्त, दृश्य तत्वों को पूरक करने के लिए, प्रत्येक एनीमेशन चरण के दौरान संक्षिप्त स्पष्टीकरण प्रदान करने के लिए एक उपशीर्षक सुविधा शामिल की गई है। ऐप में प्रत्येक एल्गोरिदम के लिए प्लेबैक और रीसेट कार्यक्षमता भी शामिल है, जो उपयोगकर्ताओं को रीसेट बटन के साथ परीक्षण मामलों को यादृच्छिक बनाने की अनुमति देता है, सीखने की प्रक्रिया को और सरल बनाता है और उपयोगकर्ता सहभागिता को बढ़ाता है।
आप एक एल्गोरिदम एनीमेशन आरेख ऐप क्यों बनाते हैं ?
कई प्रोग्रामर की तरह, जब भी मैं नौकरी बदलता हूं तो मुझे एल्गोरिदम को बेहतर बनाने के लिए बहुत समय तैयार करना पड़ता है। बहुत अच्छा, प्रश्नों को सुलझाने की प्रक्रिया में, आपको पहले समाधान पढ़ना होगा। मैं इंटरनेट पर बड़े लोगों से बहुत सारे समस्या समाधान भी पढ़ता हूं, और मैं विशेष रूप से चलती तस्वीरों या योजनाबद्ध आरेखों के साथ एल्गोरिदम विश्लेषण पढ़ना पसंद करता हूं, जो पाठ पढ़ने से तेज़ है। इस प्रक्रिया में, कई समस्याएं भी पाई गईं, जैसे: एनीमेशन इंटरैक्टिव नहीं है और इसे रोका नहीं जा सकता; डेटा ख़त्म हो चुका है और बदला नहीं जा सकता; मोबाइल फोन आदि पर अध्ययन करना सुविधाजनक नहीं है।
मैंने शुरुआत में कुछ अच्छे एनिमेशन देखे, और मुझे कई बार मूल कोड के साथ ऐप में उन्हें लागू करने की तीव्र इच्छा हुई। इस बार मैंने आखिरकार अपना मन बना लिया और एक ही बार में 70 एनिमेशन बना दिए।
मैं समझता हूं कि इस ऐप की पोजिशनिंग एक ऐसा टूल है जो हमें एल्गोरिदम विचारों और कोड को जल्दी से समझने, मेमोरी में मदद करने और सीखने की दक्षता में सुधार करने में मदद कर सकता है। लेकिन यहां आप सबमिट नहीं कर सकते, आप कोड निष्पादित नहीं कर सकते, और कोड को बेहतर महसूस कराने के लिए उसे अभी भी कंप्यूटर पर टाइप करना होगा।
इसे लीटकोड के क्रम में व्यवस्थित क्यों नहीं किया गया है संख्या?
वर्तमान में, एल्गोरिदम प्रश्नों को तीन प्रमुख ब्लॉकों में वर्गीकृत किया गया है:
- लिंक्ड सूची, स्ट्रिंग, सरणी, बाइनरी ट्री;
- बैकट्रैकिंग, लालची, गतिशील प्रोग्रामिंग, विभाजित करें और जीतें;
- क्रमबद्ध करें और वर्गीकृत करें अलग-अलग।
प्रत्येक श्रेणी के अंतर्गत, कठिनाई को आसान, मध्यम और कठिन में विभाजित किया गया है।
पहले डेटा संरचनाओं और एल्गोरिदम को अलग-अलग वर्गीकृत करें, और ज्ञान बिंदुओं के अनुसार सीखें। उदाहरण के लिए, आप बाइनरी ट्री संरचनाओं या गतिशील प्रोग्रामिंग एल्गोरिदम को सीखने पर ध्यान केंद्रित कर सकते हैं, ताकि केंद्रित संतृप्ति प्रशिक्षण सीखने की दक्षता में सुधार करने में मदद कर सके। डेटा संरचना पहले आती है, और एल्गोरिदम उसके बाद आता है, जिसे उस क्रम में भी व्यवस्थित किया जाता है जिसमें हम सैद्धांतिक ज्ञान सीखते हैं।
एल्गोरिदम के संदर्भ में, वर्तमान में चार प्रकार व्यवस्थित हैं: बैकट्रैकिंग, लालची, गतिशील प्रोग्रामिंग, और डिवाइड-एंड -जीतो।
जब मैंने कई साल पहले डेटा संरचनाएं और एल्गोरिदम सीखे, तो मैं पहली बार विभिन्न सॉर्टिंग एल्गोरिदम के संपर्क में आया। उस समय, मुझे लगा कि सॉर्टिंग बहुत मुश्किल थी, और मैं बहुत प्रभावित हुआ, इसलिए मैंने शुरुआती लोगों के लिए एक अलग सॉर्टिंग वर्गीकरण बनाया।
एनीमेशन और कोड और अन्य इंटरैक्टिव मुद्दों को कैसे संयोजित किया जाए इस पर विचार कर रहा था
- अकेले एल्गोरिदम सीखने की प्रक्रिया में, मैं अक्सर विचारों को समझता हूं, लेकिन मैं कोड को नहीं समझ पाता, और पाठ स्पष्टीकरण में कई कोड पर कोई टिप्पणी नहीं होती है। ये देखना बड़ा सिरदर्द है. इसलिए, ऐप इंटरैक्शन के बारे में सोचते समय, कोड हाइलाइटिंग फ़ंक्शन विशेष रूप से डिज़ाइन किया गया है, जिसका अर्थ है कि एनीमेशन की प्रगति के रूप में कोड की प्रत्येक पंक्ति को हाइलाइट किया जाएगा। इस तरह, एनीमेशन निष्पादित हो रहा है, कोड हाइलाइट किया गया है, और यह अच्छा दिखता है।
- हालांकि एनीमेशन को समझना आसान है, फिर भी इसे कुछ संक्षिप्त स्पष्टीकरण की आवश्यकता है, इसलिए "उपशीर्षक" फ़ंक्शन एनीमेशन के नीचे डिज़ाइन किया गया है। हर बार संबंधित चरण निष्पादित होने पर, संबंधित स्पष्टीकरण प्रदर्शित किया जाएगा।
- एनीमेशन प्लेबैक और रीसेट, प्रत्येक एल्गोरिदम पृष्ठ में एक प्लेबैक फ़ंक्शन होता है, तो परीक्षण केस कैसे तैयार करें? परीक्षण मामलों की अवधारणा को सरल बनाने के लिए, एक "रीसेट" बटन डिज़ाइन किया गया है, जिसका अर्थ है कि परीक्षण मामले यादृच्छिक हैं। जब आप डेटा का एक सेट बदलना चाहते हैं, तो बस रीसेट पर क्लिक करें।