Üniversitede algoritma kurslarımızda, karma tablolar veya hızlı sıralama gibi pratikte kullanılan çeşitli basit algoritmaların karmaşıklığını tam olarak nasıl hesaplayacağımızı öğreniyoruz.
Ama şimdi büyük bir yazılım projesinde, daha hızlı hale getirmek istediğimizde, tek yaptığımız tek tek parçalara bakmak -burada daha hızlı bir karma tablo ile değiştirilebilecek birkaç iç içe döngü, burada hızlandırılabilecek yavaş bir arama daha süslü bir teknik- ama asla tüm boru hattımızın karmaşıklığını hesaplamıyoruz.
Bunu yapmanın bir yolu var mı? Yoksa pratikte insanlar küresel olarak uygulamayı bir bütün olarak düşünmek yerine, tüm uygulamayı daha hızlı hale getirmek için hızlı bir algoritma kullanarak "yerel olarak" güveniyorlar mı?
(Bana göre çok hızlı olduğu bilinen çok sayıda algoritmayı biriktirirseniz, bir bütün olarak hızlı bir uygulama ile sonuçlandığınızı göstermek önemsiz gibi görünüyor.)
Bunu soruyorum, çünkü başka birisinin yazdığı büyük bir projeyi hızlandırmakla görevlendirildim, burada çok fazla algoritma etkileşime giriyor ve giriş verileri üzerinde çalışıyor, bu yüzden bana tek bir algoritmayı daha hızlı bir şekilde yapma etkisinin tüm uygulama.
n
artar.