O (n!) Və O (2 ^ n) müvəqqəti mürəkkəbliyi arasındakı fərq nədir?


cavab 1:

O (n!) Çözücüə daha çox resurs verir (vaxt baxımından).

Aşağıdakı üç görüntüyü yoxlayın:

Şəkil 1: n = 3-dən dərhal sonra fakültə sinfi rəhbərlik edir.

Şəkil 2: 5 addımdan sonra resurs fərqini çox tez artırın.

Şəkil 3: Faktorial sinif Himalaya dağı ilə müqayisədə eksponent sinifini vahid qum hissəciyi şəklində göstərir. Girişiniz yalnız 15 ədəd olarsa, bu yalnız belədir.

Gördüyünüz kimi, giriş ölçüsü böyüdükcə "fakültə sürəti" də fərqlənir.

Əsasən, vaxt iyerarxiyası deyir ki, nə qədər vaxt ehtiyatınız varsa, problemlərinizi daha çox həll edə bilərsiniz.


cavab 2:

n! və 2 ^ n hər ikisi də eksponent funksiyadır - amma n! 2 ^ n daha çox güclüdür! Sonsuzluğa daha sürətli çatır.

Bu x ^ 2 və x ^ 200 arasındakı fərq kimidir - hər ikisi çoxbucaqlıdır - lakin x ^ 200 daha güclüdür.

Bu fərqlər mürəkkəblik nəzəriyyəsində çox vacib və ya əhəmiyyətli deyildir. x ^ 2 və x ^ 200 hər ikisi də çoxbucaqlı (x) funksiyadır - hər ikisi çox funksiyalılar - x ^ k şəklində hər hansı bir funksiya olduğu kimi, k da sabit bir saydadır; Və n! və 2 ^ n hər ikisi exp (n) - ikisi də eksponensial funksiya sinifindədir - lakin poly (n) deyil. [hər hansı bir poli (x) də exp (x) dir, çünki exp (x) O (exp (x)) dir (və poly (x) O (poly (x))]