2 svar
50 visningar
timezzz behöver inte mer hjälp
timezzz 46
Postad: 1 feb 2023 17:27

Datastrukturer och algoritmer - Tidskomplexitet

Jag har en fråga (egentligen två där den andra finns i ett annat inlägg) om tidskomplexitet. Uppgiften jag försöker lösa lyder:

Anta g(n) = 3n^2 + 2n +6. Visa att g(n) = O(n2).

Har fått följande förklarad till mig:
För att visa att g(n) = O(n^2), måste vi visa att det finns en konstant c och en gräns n0 så att g(n) <= c * n^2 för alla n >= n0.

Vi kan välja c = 3 och n0 = 1. Då får vi:

g(n) = 3n^2 + 2n + 6 <= 3 * n^2 ( * ) för alla n >= 1.

Detta visar att g(n) = O(n^2).

Fast på ( * ) raden tycker jag att det borde vara omvänt håll på olikhetstecknet eller tänker jag fel, hur kan man i så fall dra den slutsatsen?

Peter 1023
Postad: 5 feb 2023 13:31

Olikheten (*) är en falsk utsaga för alla n>=1. Så den ska du inte dra några slutsatser ifrån alls. Däremot förväntas du hitta ett c och ett n0, precis som du säger. Du ska hitta ett andragradspolynom som hela tiden är större än g(n) för alla n>=n0. Polynomet 3n2 duger inte. Det är hela tiden mindre än g(n) för alla n>=1.

SeriousCephalopod 2696
Postad: 5 feb 2023 13:42 Redigerad: 5 feb 2023 13:42

Formella beviset av att polynom av grad nn alltid begränsas av ett monom av grad nn följer från triangelolikheten |a+b|<|a|+|b||a + b| <|a| +=""> och att xp<xqx^{p} <> om x>1x > 1 och p<qp <> (eftersom upprepad multiplikation med ett tal med ett tal som är större än 11 ger ett successivt större tal.

Såtter man ihop de påståendena får man

1. Triangelolikheten

|p(x)|=|anxn+an-1xn-1+...+a1x+a0| |an||x|n+|an-1||x|n-1+...+|a1||x|+|a0||p(x)| = |a_n x^n + a_{n - 1}x^{n - 1} + ... + a_1 x + a_0| \leq  |a_n| |x|^n + |a_{n - 1}||x|^{n - 1} + ... + |a_1| |x| + |a_0|

Därefter xp<xqx^{p} <>

p(x) |an||x|n+|an-1||x|n-1+...+|a1||x|+|a0| (|an| +|an-1|+...|a1|+|a0|)|x|np(x) \leq  |a_n| |x|^n + |a_{n - 1}||x|^{n - 1} + ... + |a_1| |x| + |a_0|  \leq (|a_n|  + |a_{n-1}| + ... |a_1| + |a_0|) |x|^n

Så ett polynom p(x)p(x) av grad nn är alltid mindre än CxnC x^n om CC är summan av absolutbeloppen hos koefficienterna (om x > 1)

Svara
Close