Avatar billede Godfather75 Nybegynder
23. september 2012 - 12:26 Der er 4 kommentarer

Beregning af O(n log N) og O(2n)

Fx en algorithm som tager 5 sec. om at håndtere 1000 records. Hvad er execution tiden?

Fx. O(n2) : 3000 = 3000^2 / 1000^2 = 9 * 5 = 45

Mit spørgsmål er så:
Hvad er så O(Nlog N)?
er det så 3000log(3000) / 1000log(1000) = 3,47712? * 5 = 17,38?

og hvad så med O(2N)?
er det 2*3000 / 2*1000 = 3? * 5 =15?
Avatar billede arne_v Ekspert
23. september 2012 - 15:42 #1
Ja.

Der er ikke noget som hedder O(2N).
Avatar billede Godfather75 Nybegynder
23. september 2012 - 17:24 #2
Hej arne_v er det så O(2^N)?
Avatar billede arne_v Ekspert
23. september 2012 - 18:22 #3
Det kunne det godt vaere.

Det udregnes saa helt paa samme maade.
Avatar billede tjp Mester
24. september 2012 - 10:29 #4
Vi nærmer os vist lidt misbrug af store O-notation her.. ;-)
Den angiver jo kun en algoritmes "idealiserede" køretid i forhold til input, ikke den bogstavlige, dvs. konstanter som fx 2 og 3 i 2n^2 + 3 er smidt bort.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester