प्रोग्रामिंग के संदर्भ में, एक एल्गोरिदम एक विशेष कार्य करने और वांछित आउटपुट प्राप्त करने के क्रम में अच्छी तरह से परिभाषित निर्देशों का एक सेट है। यहां हम परिभाषित निर्देशों का सेट कहते हैं जिसका अर्थ है कि कहीं न कहीं उपयोगकर्ता उन निर्देशों के परिणाम को जानता है यदि वे अपेक्षित तरीके से निष्पादित होते हैं।
निर्देशों के परिणाम के बारे में ज्ञान के आधार पर, दो प्रकार के एल्गोरिदम हैं - नियतात्मक और गैर-नियतात्मक एल्गोरिदम। दोनों एल्गोरिदम के बीच मुख्य अंतर निम्नलिखित हैं -
<टेबल> <थेड> सीनियर। नहीं. | <वें शैली ="चौड़ाई:11.2926%;">कुंजी <वें शैली ="चौड़ाई:47.0747%;">नियतात्मक एल्गोरिथम गैर-नियतात्मक एल्गोरिथम |
थड> 1 | परिभाषा | ऐल्गोरिदम जिनमें प्रत्येक एल्गोरिथम का परिणाम विशिष्ट रूप से परिभाषित होता है, नियतात्मक एल्गोरिथम के रूप में जाना जाता है। दूसरे शब्दों में, हम कह सकते हैं कि नियतात्मक एल्गोरिथम वह एल्गोरिथम है जो निश्चित संख्या में कदम उठाता है और हमेशा एक ही परिणाम के साथ एक स्वीकार या अस्वीकार स्थिति के साथ समाप्त होता है। | दूसरी ओर, एल्गोरिदम जिसमें प्रत्येक एल्गोरिदम का परिणाम विशिष्ट रूप से परिभाषित नहीं होता है और परिणाम यादृच्छिक हो सकता है, गैर-निर्धारक एल्गोरिदम के रूप में जाना जाता है। |
2 | निष्पादन | नियतात्मक एल्गोरिदम निष्पादन में, लक्ष्य मशीन उसी निर्देश को निष्पादित करती है और उसी परिणाम का परिणाम देती है जो उस तरीके या प्रक्रिया पर निर्भर नहीं है जिसमें निर्देश निष्पादित होता है। | दूसरी ओर गैर-नियतात्मक एल्गोरिदम के मामले में, प्रत्येक ऑपरेशन को निष्पादित करने वाली मशीन को इन परिणामों में से किसी एक को चुनने की अनुमति है, जिसे बाद में परिभाषित करने के लिए एक निर्धारण शर्त के अधीन किया जाएगा। |
3 | प्रकार | नियतात्मक एल्गोरिदम के मामले में निष्पादन और परिणाम के आधार पर, उन्हें विश्वसनीय एल्गोरिदम के रूप में भी वर्गीकृत किया जाता है क्योंकि एक विशेष इनपुट निर्देश के लिए मशीन हमेशा एक ही आउटपुट देगी। | दूसरी ओर गैर नियतात्मक एल्गोरिदम को एक विशेष इनपुट के लिए गैर-विश्वसनीय एल्गोरिदम के रूप में वर्गीकृत किया जाता है, मशीन अलग-अलग निष्पादन पर अलग-अलग आउटपुट देगी। |
4 | निष्पादन का समय | जैसा कि परिणाम ज्ञात है और विभिन्न निष्पादनों पर संगत है, इसलिए नियतात्मक एल्गोरिदम उनके निष्पादन के लिए बहुपद समय लेता है। | दूसरी ओर परिणाम ज्ञात नहीं है और विभिन्न निष्पादनों पर असंगत है, इसलिए गैर-निर्धारक एल्गोरिदम बहुपद समय में निष्पादित नहीं हो सका। |
5 | निष्पादन पथ | नियतात्मक एल्गोरिथम में एल्गोरिदम के लिए निष्पादन का पथ प्रत्येक निष्पादन में समान होता है। | दूसरी ओर गैर-नियतात्मक एल्गोरिदम के मामले में निष्पादन का पथ प्रत्येक निष्पादन में एल्गोरिदम के लिए समान नहीं है और इसके निष्पादन के लिए कोई भी यादृच्छिक पथ ले सकता है। |