selam, bi algoritmanın bi upper bound'u bir de lower bound'u var evet. buna göre hangi algoritmanın ne kadar kısa sürede işi gördüğünü falan hesaplıyoruz harika. fakat iki işlemci olsa birisi atıyorum ışık hızında çalışıyor diğeri de vasat bir işlemci günümüze göre şimdi bu iki işlemci içinde bu alg
selam,
bi algoritmanın bi upper bound'u bir de lower bound'u var evet. buna göre hangi algoritmanın ne kadar kısa sürede işi gördüğünü falan hesaplıyoruz harika.
fakat iki işlemci olsa birisi atıyorum ışık hızında çalışıyor diğeri de vasat bir işlemci günümüze göre şimdi bu iki işlemci içinde bu algoritma aynı sürede mi çalışacak eğer öyleyse neden arkadaşım daha hızlı işlemciler üretmenin mantığı bi açıklayıverin lütfen.
0
Algoritmanın süresi dediğiniz şey saniye cinsinden değildir (bkz:
big oh notation), (bkz:
running complexity)
İşlemci hızlandığındaysa aynı time complexity'ye sahip algoritmanın saniye olarak süresi azalır. Big oh notation ile gösterilen time complexity denen şey işlemci hızından bağımsız bir şey yani.
0
Aklıma geldi, daha basite indirgersek algoritmanın süresi denen şeyi alınacak mesafe olarak düşünün. Algoritma ne kadar verimliyse yol o kadar kısalacak. Yolda gidecek olan aracı da işlemci olarak düşünün, araç ne kadar hızlıysa o kadar kısa sürede yol bitecek. Eğer çok iyi bir algoritmanız varsa (yolunuz kısaysa) daha yavaş bir işlemcisiniz olsa bile (arabanız yavaş olsa bile) kötü bir algoritmadan (uzun yoldan) daha hızlı sürede işlemi tamamlarsınız.
0
sonsuz boyutlu bir dizin olduğunda sonsuz/1000 ie sonsuz/10000000000000000000 farkı yoktur buradaki 1000 ler işlemci hızı düşünebilrisin işlemci hızı çok küçük kalır büyük veri setlerinde. gerçekte aynı sürede çalışmaz tabiiki ama o fark ihmal edilir.
f(x) = o(g(x)) ise (little o dur bu birde big O vardır)
lim (x-> sonsuz); f(x)/g(x) = 0
0