प्रोग्रामिंग के संदर्भ में, एक एल्गोरिदम किसी विशेष कार्य को करने और वांछित आउटपुट प्राप्त करने के लिए क्रम में अच्छी तरह से परिभाषित निर्देशों का एक समूह है। यहां हम परिभाषित निर्देशों के समूह कहते हैं जिसका अर्थ है कि कहीं न कहीं उपयोगकर्ता उन निर्देशों के परिणाम को जानता है यदि वे अपेक्षित तरीके से निष्पादित होते हैं।
निर्देशों के परिणाम के ज्ञान के आधार पर, दो प्रकार के एल्गोरिदम हैं – डिटरमिनिस्टिक और नॉन-डिटरमिनिस्टिक एल्गोरिदम। दोनों एल्गोरिदम के बीच मुख्य अंतर निम्न हैं –
| क्र.सं. | कुंजी | डिटरमिनिस्टिक एल्गोरिदम | नॉन-डिटरमिनिस्टिक एल्गोरिदम |
|---|---|---|---|
| 1 | परिभाषा | वे एल्गोरिदम जिनमें हर एल्गोरिदम का परिणाम विशिष्ट रूप से परिभाषित होता है, डिटरमिनिस्टिक एल्गोरिदम के रूप में जाने जाते हैं। दूसरे शब्दों में, हम कह सकते हैं कि डिटरमिनिस्टिक एल्गोरिदम वह एल्गोरिदम है जो निश्चित संख्या में चरण निष्पादित करता है और हमेशा समान परिणाम के साथ स्वीकार या अस्वीकार स्थिति के साथ समाप्त होता है। | दूसरी ओर, वे एल्गोरिदम जिनमें हर एल्गोरिदम का परिणाम विशिष्ट रूप से परिभाषित नहीं होता और परिणाम यादृच्छिक हो सकता है, नॉन-डिटरमिनिस्टिक एल्गोरिदम के रूप में जाने जाते हैं। |
| 2 | निष्पादन | डिटरमिनिस्टिक एल्गोरिदम निष्पादन में, टारगेट मशीन समान निर्देश निष्पादित करती है और समान परिणाम देती है जो उस तरीके या प्रक्रिया पर निर्भर नहीं है जिसमें निर्देश निष्पादित होते हैं। | दूसरी ओर नॉन-डिटरमिनिस्टिक एल्गोरिदम के मामले में, प्रत्येक ऑपरेशन निष्पादित करने वाली मशीन को इन परिणामों में से किसी एक को चुनने की अनुमति होती है जो बाद में परिभाषित एक निर्धारण कंडीशन के अधीन होती है। |
| 3 | प्रकार | निष्पादन और परिणाम के आधार पर डिटरमिनिस्टिक एल्गोरिदम के मामले में, उन्हें विश्वसनीय एल्गोरिदम के रूप में भी वर्गीकृत किया जाता है क्योंकि विशेष इनपुट निर्देशों के लिए मशीन हमेशा समान आउटपुट देगी। | दूसरी ओर नॉन-डिटरमिनिस्टिक एल्गोरिदम को अविश्वसनीय एल्गोरिदम के रूप में वर्गीकृत किया जाता है क्योंकि विशेष इनपुट के लिए मशीन अलग-अलग निष्पादन पर अलग आउटपुट देगी। |
| 4 | निष्पादन समय | चूंकि परिणाम ज्ञात है और विभिन्न निष्पादन पर सुसंगत है इसलिए डिटरमिनिस्टिक एल्गोरिदम अपने निष्पादन के लिए बहुपद समय लेता है। | दूसरी ओर चूंकि परिणाम ज्ञात नहीं है और विभिन्न निष्पादन पर असुसंगत है इसलिए नॉन-डिटरमिनिस्टिक एल्गोरिदम बहुपद समय में निष्पादित नहीं हो सकता। |
| 5 | निष्पादन पथ | डिटरमिनिस्टिक एल्गोरिदम में एल्गोरिदम का निष्पादन पथ हर निष्पादन में समान होता है। | दूसरी ओर नॉन-डिटरमिनिस्टिक एल्गोरिदम के मामले में एल्गोरिदम का निष्पादन पथ हर निष्पादन में समान नहीं होता और इसके निष्पादन के लिए कोई भी यादृच्छिक पथ ले सकता है। |