SORU
29 NİSAN 2012, Pazar


Tam olarak büyük Ө gösterim neyi temsil ediyor?

Gerçekten büyük O, büyük Omega ve büyük Teta gösterimi arasındaki farklar hakkında karıştı.

Büyük O üst sınır ve büyük Omega alt sınır olduğunu biliyorum, ama tam olarak büyük Ө (teta) neyi temsil eder?

Anlamına geldiğini okudumsıkı bağlıama ne anlama geliyor bu?

CEVAP
9 EYLÜL 2012, Pazar


İlk big O, big Theta ve büyük Omega ne anlamamızı sağlar. Fonksiyonları sets tüm bunlar.

Büyük O üst büyük Omega verme olsa 45**, alt sınır veriyor. Büyük Teta verir.

Ө(f(n)) her şeyi de O(f(n)), ama tersi değil.
T(n) Omega(f(n)) O(f(n)) ve eğer Ө(f(n)) olduğu söyleniyor.
Terminoloji ayarlarӨ(f(n)) O(f(n)) Omega(f(n)) intersection

Örneğin, birleştirme sıralama en kötü durumda her iki O(n*log(n)) Omega(n*log(n)) - ve böylece de Ө(n*log(n)) ama aynı zamanda O(n^2) beri n^2 asimptotik olarak "daha büyük" daha. Ancak, öyledeğilAlgoritma Beri Ө(n^2), Omega(n^2) değildir.

Biraz daha derin açıklama matematik

O(n) asimptotik üst sınır. Eğer T(n) O(f(n)) olup olmadığı belli n0, orada sabit olduğu anlamına gelir T(n) <= C * f(n) C. Öte yandan, büyük Omega diyor T(n) >= C2 * f(n))) C2 bir sabit vardır.

Karıştırmayın!

En kötü, en iyi ve ortalama vaka analizi ile karıştırılmamalıdır: gösterimde olan üç (Omega, O, Teta)değilen ilgili, en kötü ve ortalama durumda algoritma analizi. Bunlardan her biri her analiz için uygulanabilir.

Genellikle algoritmaların karmaşıklığı analiz etmek için kullanınörnek sıralamak yukarıda birleştirme gibi). Dediğimizde "O(f(n))", yani "en kötü altında algoritma karmaşıklığı . Algoritma ^sup>1vaka analizi O(f(n))" - - terazi "(ya da, daha kötüsü resmen değil) işlevi 26**." benzer bir anlamı vardır

Neden bir algoritma asimptotik bağlı ister misin?

Bunun için pek çok nedeni vardır, ama çoğu önemli olduğuna inanıyorum:

  1. Çok zor tespit edilebilirkesinkarmaşıklık fonksiyonu, böylece biz "uzlaşma" büyük-Ç bilgilendirici yeterli teorik olan büyük Teta gösterimleri,/.
  2. Ops tam sayısını daplatform bağımlı. Eğer bir vektör varsa, örneğin, (liste) 16 sayı. Operasyon ne kadar sürer? Cevap: duruma göre değişir. Bazı İşlemciler diğer istenmeyen bir özellik olan cevabı farklı uygulamaları ve farklı makineler arasında çok değişir mi, don, süre vektör eklemeler izin verir. Büyük-O gösterimi ancak çok daha makineleri ve uygulamaları arasında sabittir.

Bu sorunu göstermek için, aşağıdaki grafiklere bir göz atalım: enter image description here

f(n) = 2*n "f(n) = n daha." daha kötü olduğu açıktır Ama aradaki fark, diğer işlev olarak oldukça köklü değildir. f(n)=logn hızlı bir şekilde diğer fonksiyonları çok daha geri almak olduğunu görüyoruz, ve f(n) = n^2 çok hızlı bir şekilde diğerlerinden daha yüksek oluyor.
- Yukarıdaki sebeplerden dolayı, biz "" sabit faktörler (grafik örnek 2*) ve büyük-O sadece gösterimde. böylece görmezden

Yukarıdaki örnekte, f(n)=n, f(n)=2*n O(n) ve Omega(n) - ve böylece de Theta(n) olacak.
Diğer yandan, - f(n)=logn olacak O(n) ("iyi" den f(n)=n), ama olmayacak Omega(n) - ve böylece de uygun DEĞİL Theta(n).
Symetrically, f(n)=n^2 O(n) ve böylece Omega(n), ama olur da Theta(n) DEĞİLDİR.


1Genellikle, her zaman değil. analiz sınıfı (en kötü, ortalama ve en iyi) eksik olduğunda, biz gerçekten demeken kötü durum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Distractify

    Distractify

    1 Aralık 2011
  • GenTechPC

    GenTechPC

    1 Temmuz 2007
  • TheGamer2323

    TheGamer2323

    25 Ocak 2009