2015-10-10 6 views
6

मैं जानना चाहता हूं कि मैं एल्गोरिदम की अपनी समझ में सुधार कैसे कर सकता हूं? मेरा मतलब है, अगर कोई एल्गोरिदम समझाया गया है, तो मैं इसे समझने में सक्षम हूं। लेकिन जब मैं एक ही एल्गोरिदम के छद्म कोड पढ़ता हूं, तो मुझे समझ में नहीं आता है। जैसे, मैंने शेल सॉर्ट के बारे में पढ़ा है, मैं इस तकनीक की प्रक्रिया और काम को भी समझता हूं, लेकिन जब मैं इसे छद्म कोड पढ़ता हूं, तो मुझे समझ में नहीं आता कि प्रत्येक विशिष्ट कदम क्यों लिया जा रहा है? यह अन्य एल्गोरिदम के साथ भी होता है। क्या मेरी बुद्धि के स्तर के साथ कोई समस्या है, या यह अक्सर एक समस्या है? कृपया मदद करे।मैं समझ नहीं पा रहा हूं स्यूडोकोड

+0

यह हो सकता है कि उस एल्गोरिदम को हल करने के लिए आपका दृष्टिकोण अलग है। या यदि आप प्रोग्रामिंग के लिए नए हैं, तो स्यूडोकोड एल्गोरिदम को हल करने का प्रयास करने के लिए कदम उठाने के लिए कदम उठाता है, इसलिए अगर आपको प्रोग्रामिंग –

+0

प्रोग्रामिंग के बारे में बहुत कुछ पता नहीं है तो यह अधिक समझ में नहीं आता है। यह सब अभ्यास करने के लिए नीचे आता है .. आपको रेखा से रेखा को समझना शुरू करना चाहिए, और फिर पूरे कोड को समझने का प्रयास करें। लेकिन यह हर दूसरे कौशल की तरह बहुत अधिक है, जितना अधिक आप अभ्यास करते हैं, उतना ही अधिक प्रयास जो आप इसे बेहतर करते हैं। – GabrielOshiro

+0

अपनी पसंद के निर्माण का उपयोग कर एक एल्गोरिदम लिखने का प्रयास करें। यह उन समस्याओं को समझने में आपकी मदद कर सकता है जो छद्म कोड का हल करना है। – Microfed

उत्तर

4

मैंने एल्गोरिदम और डेटा संरचनाओं पर बहुत से आत्म-अध्ययन किए हैं और मुझे पता चला है कि पढ़ना स्यूडोकोड सीखने के सबसे कठिन तरीकों में से एक है कि एल्गोरिदम या डेटा संरचना कैसे काम करती है। मेरे अनुभव में, एल्गोरिदम को समझने का सबसे अच्छा तरीका है इसके पीछे उच्च स्तरीय अंतर्ज्ञान प्राप्त करना। एल्गोरिदम ड्राइव करने वाली महत्वपूर्ण अंतर्दृष्टि क्या है? एक उच्च स्तर पर, यह करने की कोशिश कर रहा है? एक बार जब आप इसे जानते हैं, तो आपके पास अधिक एल्गोरिदम को समझने में आसान समय होगा।

इसका एक अच्छा उदाहरण के रूप में, डिजस्ट्रा के एल्गोरिदम या लाल/काले पेड़ के लिए स्यूडोकोड को देखने का प्रयास करें। यहां तक ​​कि सबसे अच्छा छद्म कोड भी अत्यंत समझने में कठोर है क्योंकि स्यूडोकोड एल्गोरिदम के पीछे मुख्य विचार, प्रदर्शन में सुधार करने के लिए डिज़ाइन किए गए विशिष्ट अनुकूलन और नट्स-बोल्ट पॉइंटर जिमनास्टिक के बीच एक अंतर नहीं बनाता है। हालांकि, अगर आप समझते हैं कि उन एल्गोरिदम कहां से आते हैं - डिजस्ट्रा के लिए, विचार उन बिंदुओं के धीरे-धीरे बढ़ते सेट को बनाए रखना है जिन्हें आप दूरी जानते हैं; एक लाल/काले पेड़ के लिए, आप 2-3-4 पेड़ को बाइनरी पेड़ के रूप में एन्कोड कर रहे हैं - फिर छद्म कोड को पढ़ने में बहुत आसान है क्योंकि आप जानते हैं कि आप जो भी पढ़ रहे हैं उसका प्रत्येक भाग क्या है।

तो निराशा मत करें - पढ़ना स्यूडोकोड कठिन है! मेरी सिफारिश है कि आप जो पढ़ रहे हैं उसके माध्यम से आपको मार्गदर्शन करने के लिए एक अच्छा स्पष्टीकरण ढूंढना है। यदि आप करते हैं तो आपके पास एक महत्वपूर्ण समय होगा।

शुभकामनाएं!

1

कारण आप स्यूडोकोड अच्छी तरह से समझ नहीं सकते हैं क्योंकि आप इसे कोड के रूप में पढ़ना चाहते हैं, जब वास्तव में आपको क्या करना चाहिए, इसे सादा पाठ में पढ़ना है और इसे समझने की कोशिश करें जैसे कि आप कर रहे हैं एक व्यक्ति के साथ बातचीत।

कल्पना कीजिए कि पुस्तक के पीछे की तरफ पढ़ना है। आप पुस्तक का सारांश पढ़ेंगे, और आप इसकी सामग्री पर अंतर्दृष्टि प्राप्त करेंगे, लेकिन यह आपको वास्तव में कहानी नहीं बताएगा।

छद्म कोड के साथ वही बात; यह आपको एक एल्गोरिदम क्या करना चाहिए, इसकी अंतर्दृष्टि प्रदान करेगा, लेकिन यह वास्तव में आपको नहीं दिखाएगा कि स्रोत कोड क्या है।

जब मुझे यह समझ गया, तो स्यूडोकोड अचानक अचानक बहुत आसान हो गया और मुझे अन्य भाषाओं से कोड पढ़ने और अन्य भाषाओं को समझना भी आसान लगता है, जिसने मुझे कोड का उपयोग करके अपनी मूल भाषा में कोड लिखने की अनुमति दी है उदाहरण जावा, जिसे मैं चूसता हूं और शायद हमेशा चूसना चाहूंगा।

संबंधित मुद्दे