कोई भी पूरी तरह से संतोषजनक कम्प्यूटेशनल मॉडल नहीं है, जिसमें एल्गोरिदम का दु: खद रूप से विश्लेषण किया जा सकता है, यहां तक कि कोई भी एक पारंपरिक सेटिंग पर विचार नहीं कर सकता है। यह मानते हुए कि सभी डेटा आसानी से सुलभ है और कार्य स्थान प्रभावी रूप से अनबाउंड है।
मल्टी-टेप ट्यूरिंग मशीन, निश्चित रूप से सैद्धांतिक रूप से अच्छी तरह से निर्दिष्ट है और कई एल्गोरिदम को इस मॉडल में वर्षों से डिजाइन और विश्लेषण किया गया है। हालांकि, कुछ लोगों के लिए यह पर्याप्त रूप से संबंधित नहीं है कि 21 वीं सदी में उपयोग करने के लिए वास्तविक कंप्यूटर वास्तव में एक अच्छा मॉडल कैसे काम करते हैं। दूसरी ओर, शब्द-रैम मॉडल लोकप्रिय हो गया है और आधुनिक कंप्यूटरों के काम को और अधिक सटीक रूप से पकड़ने के लिए प्रतीत होता है (शब्दों पर कार्रवाई नहीं बिट्स, स्मृति स्थानों तक निरंतर समय तक पहुंच)। हालांकि, ऐसे पहलू हैं जो आदर्श से कम हैं। उदाहरण के लिए, कोई एक शब्द रैम मॉडल नहीं है। एक को पहले निर्दिष्ट करना होगा कि निरंतर समय में शब्दों पर कौन से संचालन की अनुमति है। इसके लिए कई विकल्प हैं जिनमें एक भी स्वीकृत उत्तर नहीं है। दूसरा, शब्द आकार w सामान्य रूप से इनपुट आकार के साथ बढ़ने के लिए सेट होता है (जो कि कम से कम लॉग (n) के रूप में तेजी से होता है) किसी भी आइटम को निरंतर शब्दों का उपयोग करके स्मृति को संबोधित करने की अनुमति देता है। इसका मतलब है कि किसी को मशीनों की एक अनंत श्रेणी की कल्पना करनी होगी, जिस पर आपका एल्गोरिथ्म चलाया जाता है या इससे भी बदतर है, कि जब आप अधिक डेटा फ़ीड करते हैं तो मशीन बदल जाती है। यह कम से कम मेरे छात्रों के बीच शुद्धतम विचार है। अंत में, आपको शब्द-रैम मॉडल के साथ कुछ आश्चर्यजनक जटिलताएं प्राप्त होती हैं जो शायद उन लोगों के साथ मेल नहीं खाती हैं जो एक छात्र के रूप में सीखते हैं। उदाहरण के लिए, दो n-बिट संख्याओं का गुणन इस मॉडल में O (n) समय है और बस n-बिट स्ट्रिंग में पढ़ना एक सबलाइनर ऑपरेशन है जो अचानक होता है। इसका मतलब है कि किसी को मशीनों की एक अनंत श्रेणी की कल्पना करनी होगी, जिस पर आपका एल्गोरिथ्म चलाया जाता है या इससे भी बदतर है, कि जब आप अधिक डेटा फ़ीड करते हैं तो मशीन बदल जाती है। यह कम से कम मेरे छात्रों के बीच शुद्धतम विचार है। अंत में, आपको शब्द-रैम मॉडल के साथ कुछ आश्चर्यजनक जटिलताएं प्राप्त होती हैं जो शायद उन लोगों के साथ मेल नहीं खाती हैं जो एक छात्र के रूप में सीखते हैं। उदाहरण के लिए, दो n-बिट संख्याओं का गुणन इस मॉडल में O (n) समय है और बस n-बिट स्ट्रिंग में पढ़ना एक सबलाइनर ऑपरेशन है जो अचानक होता है। इसका मतलब है कि किसी को मशीनों की एक अनंत श्रेणी की कल्पना करनी होगी, जिस पर आपका एल्गोरिथ्म चलाया जाता है या इससे भी बदतर है, कि जब आप अधिक डेटा फ़ीड करते हैं तो मशीन बदल जाती है। यह कम से कम मेरे छात्रों के बीच शुद्धतम विचार है। अंत में, आपको शब्द-रैम मॉडल के साथ कुछ आश्चर्यजनक जटिलताएं प्राप्त होती हैं जो शायद उन लोगों के साथ मेल नहीं खाती हैं जो एक छात्र के रूप में सीखते हैं। उदाहरण के लिए, दो n-बिट संख्याओं का गुणन इस मॉडल में O (n) समय है और बस n-बिट स्ट्रिंग में पढ़ना एक सबलाइनर ऑपरेशन है जो अचानक होता है।
यह सब कहने के बाद, यदि आप जानना चाहते हैं कि क्या आपका एल्गोरिथ्म तेजी से चलने की संभावना है, या तो सबसे अधिक संभावना होगी :-)