कंप्यूटर फंडामेंटल्स

एल्‍गोरिथम क्या है?

कम्‍प्‍यूटर द्वारा किसी कार्य को  करने तथा वांछित परिणाम प्राप्‍त करने के लिए पूरी process को छोटे-छोटे Instructions में बांटा जाता है। इन Instructions को सही क्रम में क्रियान्वित कर वांछित परिणाम प्राप्त किया जा सकता है। एल्‍गोरिथम किसी वांछित परिणाम को प्राप्त करने के लिए बनायी गई चरणबद्ध प्रक्रिया (Step-by-step process) है। यह किसी प्रोग्राम के निर्माण में आवश्यक लॉजिक है जो समस्या के समाधान के लिए सीढी का निर्माण करता है । इस प्रकार, एल्‍गोरिथम छोटे-छोटे Instructions का group है जिसे निर्धारित Sequence में लिखे जाने पर result प्राप्त किया  किया जा सकता है। एक ही कार्य को करने के कईं,एल्‍गोरिथम हो सकते हैं । प्रोग्रामर को प्रोग्राम लिखने से पहले सर्वाधिक उपयुक्त  एल्‍गोरिथम का चुनाव करना पड़ता है।

एल्‍गोरिथम क्या है? (What is Algorithm?)

एल्गोरिथ्म शब्द का अर्थ है “गणना या अन्य समस्या-समाधान संचालन में पालन की जाने वाली नियमों की एक प्रक्रिया या सेट”। एल्गोरिथ्म डेटा प्रोसेसिंग या समस्या को हल करने का Step by Step प्रदर्शन है। इसलिए एल्गोरिथ्म नियमों / निर्देशों का एक सेट है जो चरण-दर-चरण यह परिभाषित करते हैं कि अपेक्षित (expected) परिणाम प्राप्त करने के लिए किसी कार्य को कैसे एक्सीक्यूट किया जाना है। एल्गोरिदम का उपयोग विभिन्न क्षेत्रों, कंप्यूटर प्रोग्रामिंग, गणित और दैनिक जीवन में व्यापक रूप से किया जा सकता है।

इसे एक नई रेसिपी बनाने के उदाहरण से समझा जा सकता है। जब हम कोई नई रेसिपी बनांते है तो हम निर्देशों और स्टेप्स को पढ़ते जाते है और दिए गए अनुक्रम (Sequence) में उन्हें एक-एक करके execute करते जाते है। इस प्रकार हम अपनी नई डिश को बनाते है| इसी तरह, एल्गोरिदम, सही आउटपुट प्राप्त करने के लिए प्रोग्रामिंग में कार्य करने में मदद करता है।

डिज़ाइन किए गए एल्गोरिथ्म भाषा-स्वतंत्र (language-independent) होते हैं, यानी यह केवल सिम्पल निर्देश होते हैं जिन्हें किसी भी भाषा में लागू किया जा सकता है, लेकिन फिर भी हमे आउटपुट वैसा ही मिलेगा, जैसा हम चाहते है|

एल्गोरिथ्म के लक्षण क्या हैं?

प्रोग्रामिंग के लिए सभी लिखित निर्देश एक एल्गोरिथ्म नहीं है। एल्गोरिदम होने के लिए कुछ निर्देशों के लिए, इसमें निम्नलिखित विशेषताएं होनी चाहिए:

स्पष्ट और असंदिग्ध (Clear and Unambiguous): एल्गोरिथ्म स्पष्ट और असंदिग्ध होना चाहिए। इसके प्रत्येक चरण को सभी पहलुओं में स्पष्ट होना चाहिए और इसका केवल एक ही अर्थ होना चाहिए।

वेल-डिफाइन्ड इनपुट्स (Well-Defined Inputs): यदि कोई एल्गोरिदम इनपुट्स लेने के लिए कहता है, तो यह अच्छी तरह से परिभाषित इनपुट्स होना चाहिए।

अच्छी तरह से परिभाषित आउटपुट (Well-Defined Outputs): एल्गोरिथ्म को स्पष्ट रूप से परिभाषित करना चाहिए कि आउटपुट क्या होगा और इसे अच्छी तरह से परिभाषित किया जाना चाहिए।

संभव (Feasible): एल्गोरिथ्म सरल, सामान्य और व्यावहारिक होना चाहिए, जैसे कि यह उपलब्ध रिसोर्सेज को एक्सीक्यूट करेगा। इसमें कुछ भविष्य की तकनीक, या कुछ भी शामिल नहीं होना चाहिए।

भाषा स्वतंत्र (Language Independent): डिज़ाइन किए गए एल्गोरिथ्म भाषा-स्वतंत्र (language-independent) होते हैं, यानी यह केवल सिम्पल निर्देश होते हैं जिन्हें किसी भी भाषा में लागू किया जा सकता है, लेकिन फिर भी हमे आउटपुट वैसा ही मिलेगा, जैसा हम चाहते है|

एलगोरिदम के प्रकार

Sequence: इस एल्गोरिथ्म को स्टेप्स की एक श्रृंखला के साथ पूराकिया जाता है, और प्रत्येक चरण को एक के बाद एक एक्सीक्यूट किया जाता है|

Branching: इस प्रकार के एल्गोरिथ्म को “if-then” समस्याओं द्वारा दर्शाया जाता है। यदि कोई स्थिति सत्य है, तो आउटपुट A होगा, यदि स्थिति झूठी है, तो आउटपुट B. होगा। इस एल्गोरिथम को “Selection type” भी कहा जाता है।

Loop: इसमें प्रोसेस को एक निश्चित स्थिति के तहत बार-बार एक्सीक्यूट किया जाता है। इसे “While” और “for” द्वारा दर्शाया गया है। लेकिन लूप की शर्त के अनुसार लूप समाप्त होने के बाद प्रोसेस भी समाप्त हो जाती है| इस एल्गोरिथ्म को ” repetition type” के रूप में भी जाना जाता है

एलगोरिदम कैसे डिज़ाइन करें?

एल्गोरिथ्म को आर्डर में लिखने के लिए पूर्व-आवश्यकता के रूप में निम्नलिखित चीजों की आवश्यकता होती है:

  •     एल्गोरिथम द्वारा हल की जाने वाली समस्या।
  •     समस्या को हल करते समय जिन समस्याओं पर विचार किया जाना चाहिए, उन बाधाओं को।
  •     समस्या को हल करने के लिए लिया जाने वाला इनपुट।
  •     समस्या हल होने पर अपेक्षित (expected) आउटपुट।
  •     समस्या का समाधान, दी गई बाधाओं में।

Subject Wise Notes

error: Content is protected !!