Tak, możliwe jest posiadanie nieskończonego łańcucha.
Jestem pewien, że znasz już kilka przykładów:
Tutaj masz nieskończony łańcuch: wielomiany rosnącego stopnia. Czy możesz pójść dalej? Pewnie! Wykładniczy rośnie szybciej (mówiąc asymptotycznie) niż jakikolwiek wielomian.
I oczywiście możesz kontynuować:O ( x ) ⊆ O ( x 2 ) ⊆ … ⊆ O ( x 42 ) ⊆ … O ( e x ) O ( e x ) ⊆ O ( x
O(x)⊆O(x2)⊆…⊆O(x42)⊆…
O(x)⊆O(x2)⊆…⊆O(x42)⊆…O(ex)
O(ex)⊆O(xex)⊆O(e2x)⊆O(eex)⊆…
Możesz zbudować nieskończony łańcuch również w innym kierunku. Jeśli to (trzymanie się funkcji dodatnich, ponieważ tutaj omawiamy asymptotykę funkcji złożoności). Mamy więc na przykład:f=O(g)1g=O(1f)
O(x)⊆O(x2)⊆…⊆O(exx2)⊆O(exx)⊆O(ex)
W rzeczywistości, biorąc pod uwagę dowolny łańcuch funkcji , możesz zbudować funkcję która rośnie szybciej niż wszystkie z nich. (Zakładam, że to funkcje od do .) Najpierw zacznij od pomysłu . To może nie działać, ponieważ zbiór może być nieograniczony. Ale ponieważ jesteśmy zainteresowani jedynie asymptotycznym wzrostem, wystarczy zacząć od małego i stopniowo się rozwijać. Weź maksimum nad skończoną liczbą funkcji.
f1,…,fnf∞fiNR+f∞(x)=max{fn(x)∣n∈N}{fn(x)∣n∈N} N f N ∈ O ( f ∞ ) ∀ x ≥ N , f ∞ ( x ) ≥ f N ( x ) f ∞ = o ( f ′ ∞ ) f ′ ∞ ( x ) = x ⋅ ( 1 + f ∞ ( x ) )
f∞(x)=max{fn(x)∣1≤n≤N}if N≤x<N+1
Następnie dla dowolnego , , ponieważ . Jeśli chcesz, aby funkcja rosła szybciej ( ), weź .
NfN∈O(f∞)∀x≥N,f∞(x)≥fN(x)f∞=o(f′∞)f′∞(x)=x⋅(1+f∞(x))