Birisi polinom-zaman, polinom olmayan-zaman ve üstel-zaman algoritmaları arasındaki farkı açıklayabilir mi?
Örneğin, bir algoritma O (n ^ 2) süresini alıyorsa, o zaman hangi kategoride yer alır?
Birisi polinom-zaman, polinom olmayan-zaman ve üstel-zaman algoritmaları arasındaki farkı açıklayabilir mi?
Örneğin, bir algoritma O (n ^ 2) süresini alıyorsa, o zaman hangi kategoride yer alır?
Yanıtlar:
Kontrol bu out.
Üstel, polinomdan daha kötüdür.
O (n ^ 2), bir tür polinom olan (üssün özel durumu 2'ye eşittir) ve üstelden daha iyi olan ikinci dereceden kategoriye girer.
Üstel, polinomdan çok daha kötüdür. İşlevlerin nasıl büyüdüğüne bakın
n = 10 | 100 | 1000
n^2 = 100 | 10000 | 1000000
k^n = k^10 | k^100 | k^1000
k ^ 1000, k 1.1 gibi bir şeyden küçük olmadığı sürece son derece büyüktür. Mesela, evrendeki her parçacığın bunu başarması için trilyonlarca milyarlarca yıl boyunca saniyede 100 milyar milyar milyar işlem yapması gerektiği gibi bir şey.
Ben hesaplamadım ama BU BÜYÜK.
Aşağıda, algoritmaları analiz ederken bazı yaygın Big-O işlevleri verilmiştir.
(n = girdi boyutu, c = bir miktar sabit)
İşte bazı fonksiyonların Big-O karmaşıklığını temsil eden model grafiği
şerefe :-)
grafik kredileri http://bigocheatsheet.com/
O (n ^ 2) polinom zamandır. Polinom f (n) = n ^ 2'dir. Öte yandan, O (2 ^ n) üstel zamandır, burada ima edilen üstel fonksiyon f (n) = 2 ^ n'dir. Aradaki fark, n'nin fonksiyonunun bir üssün tabanına mı yoksa üssün kendisine mi yerleştirildiği.
Herhangi bir üstel büyüme fonksiyonu, herhangi bir polinom fonksiyonundan önemli ölçüde daha hızlı (uzun vadede) büyüyecektir, bu nedenle ayrım, özellikle büyük n değerleri için bir algoritmanın verimliliği ile ilgilidir.
Üstel (MINIMAL ONE EXPONENT bir parametreye bağlıysa, üstel bir fonksiyonunuz vardır):
Polinom (NO EXPONENT bazı fonksiyon parametrelerine bağlı değilse bir polinom fonksiyonunuz vardır):
o (n sekansı) polinimal zaman karmaşıklığıyken, o (2 ^ n) üssel zaman karmaşıklığıdır, eğer en iyi durumda p = np, en kötü durumda, giriş boyutu n çok büyüdüğünde veya girdi boyutlandırıcı arttığında p = np eşit değildir. daha uzun süre en kötü duruma geçecek ve işlenecek, böylece karmaşıklık büyüme oranı artar ve girdi küçük olduğunda n girdi boyutuna bağlıdır, girdi boyutu büyük ve büyük olduğunda polinimaldir, bu nedenle p = np eşit değildir, büyüme oranının girdi boyutuna bağlı olduğu anlamına gelir "N ". optimizasyon, uydu, klik ve bağımsız küme de üstelden polinime kadar buluştu.