एल्गोरिदम कंप्यूटर विज्ञान की एक डरावनी शब्दावली जैसा लगता है, लेकिन यह वास्तव में सिर्फ़ एक रेसिपी है — किसी समस्या को हल करने के लिए चरणों का एक सटीक, क्रमबद्ध सेट। शब्द डरावना लगता है; विचार नहीं है। किसी भी व्यक्ति ने जिसने केक बनाने के लिए एक रेसिपी का पालन किया है, या किसी को किसी घर की चरण-दर-चरण दिशाएँ दी हैं, वह पहले से ही एक एल्गोरिदम लिख चुका है। कंप्यूटर विज्ञान का कठिन हिस्सा आमतौर पर कोड नहीं होता — यह इतने सटीक चरणों में सोचना सीखना है कि शून्य सामान्य ज्ञान वाली कोई चीज़ उन्हें बिल्कुल पालन कर सके।
"सटीक" पूरा खेल क्यों है
किसी मानव मित्र से कहें "जाँचो कि संख्या सम है या नहीं," और वे तुरंत जान जाएँगे कि आपका मतलब क्या है। कंप्यूटर से वही बात कहें, और इसे एक सटीक, स्पष्ट परीक्षण चाहिए — आमतौर पर, क्या संख्या को 2 से भाग देने पर शेष 0 बचता है? किसी इंसान के लिए एक रेसिपी "सुनहरा होने तक पकाएँ" कह सकती है और निर्णय पर भरोसा कर सकती है; एक एल्गोरिदम को यह बिल्कुल स्पष्ट करना होगा कि "सुनहरा" का क्या मतलब है ऐसे तरीक़े से जिसे यांत्रिक रूप से जाँचा जा सके, हर बार, बिना किसी व्याख्या की गुंजाइश के।
एक एल्गोरिदम चरणों का एक सटीक सेट है — एक संख्या लें, एक शर्त की जाँच करें, फिर जवाब के आधार पर बिल्कुल दो में से एक रास्ता अपनाएँ। कोई अनुमान नहीं, कोई निर्णय नहीं।
फ़्लोचार्ट और स्यूडोकोड: कोड से पहले योजना बनाना
असली कोड लिखने से पहले, प्रोग्रामर अक्सर पहले एल्गोरिदम स्केच करते हैं — या तो एक फ़्लोचार्ट के रूप में (बक्से और तीर तर्क को दृश्य रूप से दिखाते हुए) या स्यूडोकोड के रूप में (सादे-अंग्रेज़ी चरण कोड-जैसी संरचना में लिखे गए)। दोनों एक ही कारण के लिए मौजूद हैं: असली सिंटैक्स के भीतर दबे होने की तुलना में एक सरल आरेख या स्यूडोकोड की कुछ पंक्तियों में तर्क की ग़लती — एक छूटा हुआ मामला, ग़लत क्रम में एक चरण — पहचानना कहीं आसान है। एल्गोरिदम की योजना बनाना और कोड लिखना वास्तव में दो अलग कौशल हैं, और उन्हें मिलाना एक सामान्य कारण है कि छात्रों को शुरुआती प्रोग्रामिंग भ्रामक लगती है।
किनारे के मामले मुख्य मामले से ज़्यादा क्यों मायने रखते हैं
सामान्य मामले के लिए एक काम करने वाला एल्गोरिदम आमतौर पर आसान हिस्सा होता है। जो कौशल एक विश्वसनीय एल्गोरिदम को नाज़ुक से अलग करता है वह है किनारों पर क्या होता है इसके बारे में सोचना: एक खाली सूची, जहाँ केवल धनात्मक अपेक्षित थे वहाँ एक ऋणात्मक संख्या, कुछ ऐसा खोजना जो बिल्कुल मौजूद ही न हो। एक कंप्यूटर टूटे हुए निर्देशों का उतनी ही ईमानदारी से पालन करेगा जितना सही का — इसके पास यह देखने का कोई तरीक़ा नहीं है कि कुछ ग़लत हो गया है जब तक कि एल्गोरिदम को इसकी जाँच के लिए न लिखा गया हो। यदि एल्गोरिदम, फ़्लोचार्ट, या प्रोग्रामिंग तर्क को रटने के लिए सिंटैक्स के बजाय सोचने के तरीक़े के रूप में समझाने की ज़रूरत है, तो यही ठीक वह है जिसके लिए हमारी GCSE कंप्यूटर विज्ञान ट्यूशन है — पूरा सीखने का रास्ता यहाँ देखें।
अक्सर पूछे जाने वाले प्रश्न
क्या एल्गोरिदम कोड जैसी ही चीज़ है?
नहीं — एल्गोरिदम योजना है; कोड उस योजना को कंप्यूटर के चलाने योग्य भाषा में लिखने का एक विशिष्ट तरीक़ा है। वही एल्गोरिदम (मान लीजिए, किसी सूची को सबसे छोटे-से-सबसे बड़े क्रम में लगाना) पायथन, जावा, या सादे अंग्रेज़ी स्यूडोकोड में लिखा जा सकता है, और यह नीचे अभी भी वही एल्गोरिदम है।
एल्गोरिदम को खाली सूची जैसे किनारे के मामलों को संभालने की ज़रूरत क्यों है?
क्योंकि एक कंप्यूटर निर्देशों का बिल्कुल वैसे ही पालन करेगा जैसे लिखे गए हैं, बिना किसी सामान्य ज्ञान के भरोसे के — अगर कोई एल्गोरिदम मानता है कि हमेशा कम से कम एक आइटम होगा और उसके बजाय एक खाली सूची मिलती है, तो यह आमतौर पर क्रैश हो जाएगा या ग़लत व्यवहार करेगा, बजाय "महसूस" करने के कि कुछ असामान्य है, जब तक कि एल्गोरिदम को स्पष्ट रूप से उस मामले की जाँच के लिए न लिखा गया हो।
फ़्लोचार्ट और स्यूडोकोड में क्या अंतर है?
वे असली कोड लिखने से पहले वही एल्गोरिदम बताने के दो अलग तरीक़े हैं — एक फ़्लोचार्ट बक्सों और तीरों के साथ तर्क को दृश्य रूप से दिखाता है, जो एक नज़र में पालन करना आसान है, जबकि स्यूडोकोड इसे सादे, संरचित, कोड-जैसे चरणों में लिखता है, जो अंतिम प्रोग्राम वास्तव में कैसा दिखेगा उसके ज़्यादा क़रीब है।
क्या यह लेख उपयोगी था?
हमें अपनी राय बताएं — कोई सुधार, कोई सवाल जिसका जवाब नहीं मिला, या कोई विषय जिसे आप अगली बार कवर होते देखना चाहते हैं।

लेखक के बारे में
Sudershan Soni
मोस्तक सर्विसेज़ में संस्थापक व मुख्य शिक्षक — MSc-योग्य गणित, विज्ञान, कंप्यूटर साइंस और STEM शिक्षक, 20+ वर्षों के पेशेवर अनुभव के साथ, 11+ और GCSE से A-Level और उससे आगे तक के छात्रों को दुनिया भर में ऑनलाइन पढ़ाते हैं।
पूरी प्रोफ़ाइल पढ़ें