Geleneksel bir ortam düşünebilecek olsa bile, algoritmaları ne yazık ki analiz edebileceğiniz tamamen tatmin edici bir hesaplama modeli yoktur. Bu, tüm verilere kolayca erişilebileceğini ve çalışma alanının etkin bir şekilde sınırlanmadığını varsaymaktadır.
Çok bantlı Turing makinesi, kesinlikle teorik olarak iyi tanımlanmıştır ve bu modelde yıllar boyunca birçok algoritma tasarlanmış ve analiz edilmiştir. Ancak, bazılarına göre, gerçek bilgisayarların 21. yüzyılda kullanılacak iyi bir model olmak için nasıl çalıştığı ile yakından ilgili değil. Öte yandan, RAM-RAM modeli popüler bir hale geldi ve modern bilgisayarların (daha bitli olmayan sözcükler üzerindeki işlemler, hafıza yerlerine sürekli erişim) daha doğru bir şekilde işlediğini gösteriyor. Ancak, idealden daha az olan yönler vardır. Örneğin, bir tek kelime RAM modeli yoktur. Birincisi, kelimeler üzerinde hangi işlemlerin sabit sürede izin verileceğini belirlemelidir. Bunun için kabul edilmiş tek bir cevabı olmayan birçok seçenek var. İkinci, w kelimesi normalde, bellekteki herhangi bir öğenin sabit sayıda kelimeyle adreslenmesini sağlamak için giriş boyutuyla (en azından log (n) kadar hızlı) büyüyecek şekilde ayarlanır. Bunun anlamı, algoritmanızın üzerinde çalıştığı ve hatta daha da kötüsünü yaptığı sonsuz bir makine sınıfı olduğunu düşünmek zorundasınız, makine daha fazla veri besledikçe değişiyor. Bu en azından öğrencilerim arasında en safı için endişe verici bir düşüncedir. Sonunda, bir öğrenci olarak öğrenenlerle takılmayacak olan kelime-RAM modeli ile şaşırtıcı derecede karmaşıklık elde edersiniz. Örneğin, iki n-bit sayının çarpımı bu modelde O (n) zamandır ve basitçe bir n-bit dizesinde okumak, ani bir alt-line-time işlemidir. Bunun anlamı, algoritmanızın üzerinde çalıştığı ve hatta daha da kötüsünü yaptığı sonsuz bir makine sınıfı olduğunu düşünmek zorundasınız, makine daha fazla veri besledikçe değişiyor. Bu en azından öğrencilerim arasında en safı için endişe verici bir düşüncedir. Sonunda, öğrenci olarak öğrenenlerle takılmayacak olan kelime-RAM modeli ile şaşırtıcı derecede karmaşıklık elde edersiniz. Örneğin, iki n-bit sayının çarpımı bu modelde O (n) zamandır ve basitçe bir n-bit dizesinde okumak, ani bir alt-line-time işlemidir. Bunun anlamı, algoritmanızın üzerinde çalıştığı ve hatta daha da kötüsünü yaptığı sonsuz bir makine sınıfı olduğunu düşünmek zorundasınız, makine daha fazla veri besledikçe değişiyor. Bu en azından öğrencilerim arasında en safı için endişe verici bir düşüncedir. Sonunda, öğrenci olarak öğrenenlerle takılmayacak olan kelime-RAM modeli ile şaşırtıcı derecede karmaşıklık elde edersiniz. Örneğin, iki n-bit sayının çarpımı bu modelde O (n) zamandır ve basitçe bir n-bit dizesinde okumak, ani bir alt-line-time işlemidir.
Bunları söyledikten sonra, eğer algoritmanızın hızlı çalışıp çalışmadığını bilmek istiyorsanız, ya büyük olasılıkla :-)