tyrion

Quiz Complessità

Sep 2nd, 2012
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1. Regole per le crocette:
  2. 1) Omega è un limite inferiore.
  3. es. Omega(n^5) fai una riga a n^5 e cancelli lo spazio sotto.
  4. 2) O è un limite superiore.
  5. es. O(n^2) fai una riga a n^2 e cancello lo spazio sopra.
  6. 3) Theta è un limite superiore e inferiore
  7. es. Theta(n^3) fai una riga a n^3 e cancelli tutto lo spazio sopra e tutto lo spazio sotto.
  8. (Rimane una riga bianca su n^3).
  9. 4) O non conta come limite superiore per i PROBLEMI, ma solo per gli algoritmi.
  10. es. Ho un problema O(n^2) quindi dovrei fare una riga a n^2 e cancellare lo spazio sopra
  11. poiché O è un limite superiore. Invece NO. Perché "Avere un problema O(n^2)" vuol dire
  12. "Avevo un problema, e il migliore algoritmo che ho trovato è O(n^2)".
  13.  
  14. Conclusione se ho un problema O(qualcosa) possono risolverlo sia algoritmi peggiori
  15. trovati da programmatori più scarsi di me, che algoritmi migliori trovati da Dijkstra xD.
  16.  
  17. Rileggi.
  18.  
  19.  
  20. - Un problema Omega( n4 ) può essere risolto da un algoritmo Omega( n2 ).
  21. Un algoritmo Omega(n^2): faccio una riga su n^2 e tolgo tutto lo spazio sotto, quindi ogni
  22. cosa sopra va bene. Per soddisfare la condizione Omega(n^4) devo considerare lo spazio sopra n^4.
  23. Facendo l'intersezione tra gli spazi che sono rimasti, esce che qualsiasi cosa sopra n^4 soddisfa
  24. la condizione. Quindi Vera.
  25.  
  26. - Un problema Omega( n4 ) può essere risolto da un algoritmo Omega(n5).
  27. Levo tutto lo spazio sotto n^4, Levo tutto lo spazio sotto n^5, faccio l'intersezione.
  28. Rimane tutto lo spazio sopra n^5. Vera.
  29.  
  30. - Ho trovato un algoritmo O( n2 ) per un problema O( n3 )
  31. Ho un problema O(n^3) vuol dire "Ho trovato un algoritmo O(n^3) per il mio problema".
  32. Quindi potrei benissimo trovarne anche uno migliore, O(n^2). Vera.
  33.  
  34. - Ho trovato un algoritmo O( n7 ) per un problema O( n2 )
  35. Vera. Non c'è limite al peggio.
  36.  
  37. - Ho trovato un algoritmo Theta( n3 ) per un problema Theta( n4 )
  38. Un problema Theta(n^4) diventa O(n^4) e Omega(n^4):
  39. * Omega(n^4) -> faccio una riga su n^4 e cancello tutto lo spazio sotto.
  40. * O(n^4) -> vuol dire che ho trovato un algoritmo O(n^4) per il mio problema.
  41. Ora analizziamo l'algoritmo Theta(n^3):
  42. * Omega(n^3) -> faccio una riga su n^3 e cancello tutto lo spazio sotto.
  43. * O(n^3) -> faccio una riga su n^3 e cancello tutto lo spazio sopra.
  44. Facendo l'intersezione non rimane spazio libero. Quindi è falsa.
  45.  
  46. - Ho trovato un algoritmo Omega(n) per un problema Theta(n4)
  47. La parte del problema è uguale a prima.
  48. Ora faccio una riga su n e cancello lo spazio sotto.
  49. Tutto lo spazio sopra n^4 è libero. Vera.
  50.  
  51. - Ho trovato un algoritmo Omega(n7) per un problema Theta(n4)
  52. La parte del problema è uguale a prima.
  53. Tutto lo spazio sopra n^7 è libero. Vera.
  54.  
  55.  
  56. Ora queste regole funzionano con le domande che ho provato fin'ora ...
  57. per il resto non garantisco nulla :P
Advertisement
Add Comment
Please, Sign In to add comment