Advertisement
Guest User

Untitled

a guest
Feb 12th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. Onko algoritmien vaativuuden luokittelu vaativuusluokkiin
  2. perustuen mielekäs?
  3. • Kuten pian näemme, äsken esitelty lisäysjärjestäminen toimii pahimmassa
  4. tapauksessa neliöllisesti eli ajassa T(n) = O(n
  5. 2)
  6. • Kurssin aikana tutustumme muutamiin pahimmassa tapauksessa ajassa
  7. T(n) = O(n log n) toimiviin järjestämisalgoritmeihin (lomitus- ja
  8. kekojärjestäminen)
  9. • Vaativuusluokka siis "unohtaa" kertoimet algoritmin vaativuutta kuvaavasta
  10. funktiosta. Onko näin saatu luokittelu mielekäs?
  11. • Oletetaan, että lisäysjärjestäminen on toteutettu erittäin optimaalisesti ja sen
  12. tarkkaa suoritusaikaa kuvaa funktio Tlis(n) = 2n
  13. 2
  14. , eli vakiokerroin olisi vain 2
  15. • Oletetaan lisäksi, että aloitteleva ohjelmoija on toteuttanut ajassa O(n log n)
  16. toimivan lomitusjärjestämisen melko epäoptimaalisesti, ja toteutuksen
  17. tarkkaa suoritusaikaa kuvaa funktio Tlom(n) = 50n log2 n
  18. • Jos syöte on pienehkö (luokkaa n<200), toimii lisäysjärjestäminen
  19. nopeammin
  20. • Koska nykyiset tietokoneet ovat erittäin nopeita, ei pienen syötteen (n<200)
  21. suoritusajalla ole merkitystä edes huonosti toteutetulla algoritmilla
  22. 57
  23. • Entä isot syötteet? Oletetaan, että järjestettävänä on 10 miljoonan kokoinen
  24. taulukko
  25. • Oletetaan, että lisäysjärjestäminen suoritetaan koneella NOPEA, joka
  26. suorittaa 109 komentoa sekunnissa
  27. • Oletetaan lisäksi, että lomitusjärjestäminen suoritetaan koneella HIDAS, joka
  28. suorittaa ainoastaan 106 komentoa sekunnissa. NOPEA on siis 1000 kertaa
  29. nopeampi kone kuin HIDAS
  30. • Nyt kone NOPEA järjestää hyvin toteutetulla O(n
  31. 2) ajassa voimivalla
  32. lisäysjärjestämisellä luvut 200000 sekunnissa eli reilussa 55 tunnissa
  33. Tuhat kertaa hitaampi kone HIDAS järjestää epäoptimaalisesti toteutetulla,
  34. mutta ajassa O(n log n) toimivalla lomitusjärjestämisellä noin 11627
  35. sekunnissa, eli alle 3,3:ssa tunnissa
  36. • Eli kuten huomaamme, suurilla syötteillä kahden vaativuusluokan välillä on
  37. ratkaiseva ero vakiokertoimista huolimatta
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement