•GRazvan
Strain
Karma: 1
Deconectat
Mesaje: 32
|
|
« : Septembrie 22, 2011, 17:20:27 » |
|
Buna. Am observat ca la olimpiada conteaza mult timpul de executie al programului. Eu folosesc limbajul Pascal acum. Stiti cumva vreun porgram care-mi masoara timpul sau vreo comanda din biblioteca care sa nu ma faca sa folosesc prea multe alte variabile?
Multumesc:)
|
|
|
Memorat
|
|
|
|
|
•skull
Client obisnuit
Karma: 17
Deconectat
Mesaje: 75
|
|
« Răspunde #2 : Septembrie 22, 2011, 18:14:16 » |
|
Calculand complexitatea algoritmului, iti dai seama de cele mai multe ori daca-ti intra rezolvarea in timp.
|
|
|
Memorat
|
|
|
|
•GRazvan
Strain
Karma: 1
Deconectat
Mesaje: 32
|
|
« Răspunde #3 : Septembrie 22, 2011, 18:18:12 » |
|
Calculand complexitatea algoritmului, iti dai seama de cele mai multe ori daca-ti intra rezolvarea in timp.
Si anume cum? Mersi.
|
|
|
Memorat
|
|
|
|
•PlayLikeNeverB4
|
|
« Răspunde #4 : Septembrie 22, 2011, 18:23:13 » |
|
Eu de exemplu am facut niste teste si am ajuns la concluzia:
O(N^2) pentru N=1000 <=> ~0.1s O(N^3) pentru N=100 <=> ~0.1s
Pornind de la aceste valori se pot estima tot felul de complexitati.
P.S.: timpii sunt pentru C.
|
|
« Ultima modificare: Septembrie 22, 2011, 18:38:58 de către George Marcus »
|
Memorat
|
|
|
|
•skull
Client obisnuit
Karma: 17
Deconectat
Mesaje: 75
|
|
« Răspunde #5 : Septembrie 22, 2011, 21:16:16 » |
|
Postase cineva la un moment dat aceste puncte de reper:
O(1-2 milioane) -> 0.1 s O(20-40 milioane) -> 1 s
Eu m-am orientat de multe ori dupa ele si mi-au fost de folos. Bineinteles ca timpul de rulare depinde de operatiile pe care le faci la fiecare pas, de modul de implementare...
|
|
|
Memorat
|
|
|
|
•GRazvan
Strain
Karma: 1
Deconectat
Mesaje: 32
|
|
« Răspunde #6 : Septembrie 23, 2011, 06:05:39 » |
|
Eu de exemplu am facut niste teste si am ajuns la concluzia:
O(N^2) pentru N=1000 <=> ~0.1s O(N^3) pentru N=100 <=> ~0.1s
Pornind de la aceste valori se pot estima tot felul de complexitati.
P.S.: timpii sunt pentru C.
Pai...nu prea inteleg care e faza, adica 1000^2 = 100^3 = 1000000
|
|
|
Memorat
|
|
|
|
•GRazvan
Strain
Karma: 1
Deconectat
Mesaje: 32
|
|
« Răspunde #7 : Septembrie 23, 2011, 06:07:12 » |
|
Postase cineva la un moment dat aceste puncte de reper:
O(1-2 milioane) -> 0.1 s O(20-40 milioane) -> 1 s
Eu m-am orientat de multe ori dupa ele si mi-au fost de folos. Bineinteles ca timpul de rulare depinde de operatiile pe care le faci la fiecare pas, de modul de implementare...
Mhm, e bine de stiut mersi Numai ca am o nelamurire, viteza nu conteaza numai de algoritm ci si de procesor si atunci daca-l testezi pe un dual core normal ca o sa-ti ia mai putin timp decat pe un pentium.
|
|
|
Memorat
|
|
|
|
•Vman
|
|
« Răspunde #8 : Septembrie 23, 2011, 09:49:18 » |
|
Mhm, e bine de stiut mersi Numai ca am o nelamurire, viteza nu conteaza numai de algoritm ci si de procesor si atunci daca-l testezi pe un dual core normal ca o sa-ti ia mai putin timp decat pe un pentium. Asta e valabil doar pentru programe robuste, cu mai multe fire de executie, sau atunci cand rulezi foarte multe programe in paralel.
|
|
|
Memorat
|
|
|
|
•PlayLikeNeverB4
|
|
« Răspunde #9 : Septembrie 23, 2011, 12:16:47 » |
|
Pai...nu prea inteleg care e faza, adica 1000^2 = 100^3 = 1000000
Si am zis eu ca nu e asa? Ti-am dat doar niste exemple de complexitati raportate la timpul de executie, ca sa poti estima cat de eficient trebuie sa fie algoritmul tau.
|
|
|
Memorat
|
|
|
|
•GRazvan
Strain
Karma: 1
Deconectat
Mesaje: 32
|
|
« Răspunde #10 : Septembrie 23, 2011, 13:53:31 » |
|
Pai...nu prea inteleg care e faza, adica 1000^2 = 100^3 = 1000000
Si am zis eu ca nu e asa? Ti-am dat doar niste exemple de complexitati raportate la timpul de executie, ca sa poti estima cat de eficient trebuie sa fie algoritmul tau. Bine, mersi. Dar tot nu inteleg de ce ai pus o data 100 si o data 1000. Sunt mai greu de cap )
|
|
|
Memorat
|
|
|
|
•GRazvan
Strain
Karma: 1
Deconectat
Mesaje: 32
|
|
« Răspunde #11 : Septembrie 23, 2011, 13:53:50 » |
|
Mhm, e bine de stiut mersi Numai ca am o nelamurire, viteza nu conteaza numai de algoritm ci si de procesor si atunci daca-l testezi pe un dual core normal ca o sa-ti ia mai putin timp decat pe un pentium. Asta e valabil doar pentru programe robuste, cu mai multe fire de executie, sau atunci cand rulezi foarte multe programe in paralel. Am inteles, mersi
|
|
|
Memorat
|
|
|
|
•wefgef
|
|
« Răspunde #12 : Septembrie 26, 2011, 10:22:48 » |
|
Cel mai bine înveți prin experiență. Rezolvă cît mai multe probleme și în timp vei ajunge să îți dai seama de cele mai multe ori care este complexitatea cerută în funcție de limita de timp și de restricții.
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
|