•filipb
|
 |
« : Ianuarie 20, 2008, 14:12:44 » |
|
Aici puteţi discuta despre problema Restante.
|
|
|
Memorat
|
|
|
|
•Protoman
|
 |
« Răspunde #1 : Ianuarie 20, 2008, 16:39:40 » |
|
 sunt putin nedumerit... Imi poate explica si mie cineva cum de ia quicku 100 si heapsortu 80  ?
|
|
|
Memorat
|
|
|
|
•wefgef
|
 |
« Răspunde #2 : Ianuarie 20, 2008, 16:57:15 » |
|
Quicksort e cel mai rapid algoritm de sortare  .
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•tvlad
|
 |
« Răspunde #3 : Ianuarie 20, 2008, 16:59:36 » |
|
|
|
|
Memorat
|
|
|
|
•Protoman
|
 |
« Răspunde #4 : Ianuarie 20, 2008, 18:08:05 » |
|
Multumesc.  Eu unul stiam ca heapsortu e cel mai bun... si ca ( , ) quicku trage spre n^2 in caz ca ele sunt deja sortate... eh de-acu in colo daca e fac quick randomizat...
|
|
|
Memorat
|
|
|
|
•cos_min
|
 |
« Răspunde #5 : Ianuarie 20, 2008, 18:22:02 » |
|
Multumesc.  Eu unul stiam ca heapsortu e cel mai bun... si ca ( , ) quicku trage spre n^2 in caz ca ele sunt deja sortate... eh de-acu in colo daca e fac quick randomizat... Nu are cum sa 'traga' spre O(n^2) cand sunt sortate deja, ci mai degraba 'trage' spre O(n).
|
|
|
Memorat
|
vid...
|
|
|
•stef2n
|
 |
« Răspunde #6 : Ianuarie 20, 2008, 18:26:56 » |
|
Nu are cum sa 'traga' spre O(n^2) cand sunt sortate deja, ci mai degraba 'trage' spre O(n).
Ba 'trage' spre O(N^2) pentru ca intotdeauna pivotul e gasit pe prima pozitie. Recurenta e T(N)=O(N)+T(N-1), ceea ce duce la O(N^2). 
|
|
|
Memorat
|
Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
|
|
|
•cos_min
|
 |
« Răspunde #7 : Ianuarie 20, 2008, 18:30:29 » |
|
Nu are cum sa 'traga' spre O(n^2) cand sunt sortate deja, ci mai degraba 'trage' spre O(n).
Ba 'trage' spre O(N^2) pentru ca intotdeauna pivotul e gasit pe prima pozitie. Recurenta e T(N)=O(N)+T(N-1), ceea ce duce la O(N^2).  My bad, m-am grabit aiurea.
|
|
|
Memorat
|
vid...
|
|
|
•wefgef
|
 |
« Răspunde #8 : Ianuarie 20, 2008, 20:34:38 » |
|
Invatati C++ si STL. Iata un program care sorteaza un vector in C++: #include <cstdio> #include <algorithm> using namespace std;
int N; int v[1024];
void ReadArray() { scanf("%d", &N); for (int i = 0; i < N; ++i) scanf("%d", v+i); }
int main() { ReadArray(); sort(v, v+N); }
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•Protoman
|
 |
« Răspunde #9 : Ianuarie 20, 2008, 21:00:08 » |
|
Multumesc de indicatie. Am folosit si eu sortul din stl de cateva ori ( 2 ) dar nu trec de tot in c decat in clasa a 9-a.
|
|
|
Memorat
|
|
|
|
•wefgef
|
 |
« Răspunde #10 : Ianuarie 20, 2008, 21:02:13 » |
|
Ar fi bine sa treci mai repede. Daca te califici la JBOI ai avea un avantaj fata de cei in Pascal  .
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•Protoman
|
 |
« Răspunde #11 : Ianuarie 20, 2008, 21:11:40 » |
|
 Daca JBOI pica in vara ca anu trecut atunci se incadreaza la clasa a 9-a  .
|
|
|
Memorat
|
|
|
|
•Sycron
Client obisnuit

Karma: -141
Deconectat
Mesaje: 66
|
 |
« Răspunde #12 : Ianuarie 26, 2008, 22:32:02 » |
|
am cateva intrebari.. offtopic cand vreau sa citesc din fisiere spatiile albe si endline-urile care e cea mai eficienta metoda? cea cu resetiosflags sau cu f.get() nu mai stiu cum :/ metoda de sortare din STL e quicksortu' nu ? nam folosit-o niciodata
care e diferenta dintre scanf ("%g", &N)si f<<g
|
|
« Ultima modificare: Ianuarie 28, 2008, 19:46:27 de către Harabula Adrian »
|
Memorat
|
|
|
|
•Tabara
|
 |
« Răspunde #13 : Ianuarie 26, 2008, 22:45:27 » |
|
care e diferenta dintre scanf ("%g", &N)si f<<g[/i]
Pai scanf e mai rapida.E citire specifica limbajului C, pe cand cu f >> g este specifica C++. Exemplu daca citesti de la tastatura numarul intreg n, atunci o sa ai sau f >> n; // citirea cu streamuri
|
|
|
Memorat
|
|
|
|
•Sycron
Client obisnuit

Karma: -141
Deconectat
Mesaje: 66
|
 |
« Răspunde #14 : Ianuarie 28, 2008, 19:47:59 » |
|
Si raspunsu' la celelalte 2 intrebari? cand vreau sa citesc din fisiere spatiile albe si endline-urile care e cea mai eficienta metoda? cea cu resetiosflags sau cu f.get() nu mai stiu cum :/ metoda de sortare din STL e quicksortu' nu ? nam folosit-o niciodata Multumesc 
|
|
|
Memorat
|
|
|
|
•wefgef
|
 |
« Răspunde #15 : Ianuarie 28, 2008, 20:34:42 » |
|
Metoda de sortare din STL este un quicksort modificat. Oricum e mai bun decat ar putea sa scrie cineva de mana (in concurs cel putin).
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•domino
|
 |
« Răspunde #16 : Ianuarie 28, 2008, 20:35:32 » |
|
Metoda de sortare din STL este un quicksort modificat. Oricum e mai bun decat ar putea sa scrie cineva de mana (in concurs cel putin).
Se numeste introsort ( http://en.wikipedia.org/wiki/Introsort) de fapt 
|
|
|
Memorat
|
|
|
|
•Sycron
Client obisnuit

Karma: -141
Deconectat
Mesaje: 66
|
 |
« Răspunde #17 : Februarie 08, 2008, 14:15:31 » |
|
STL se regăseşte şi în BC 3.1 ? (inafară de DJGPP)
|
|
|
Memorat
|
|
|
|
•stef2n
|
 |
« Răspunde #18 : Februarie 08, 2008, 14:18:52 » |
|
Nu
|
|
|
Memorat
|
Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
|
|
|
•ciprianf
|
 |
« Răspunde #19 : Februarie 24, 2008, 08:10:04 » |
|
Imi poate spune si mie cum fac cu sortarea din STL(introsort) sa sortez liniile la matrici? (in cazul de fata matricea e char)
|
|
|
Memorat
|
|
|
|
•byndrsn
Client obisnuit

Karma: 19
Deconectat
Mesaje: 72
|
 |
« Răspunde #20 : Februarie 24, 2008, 08:39:11 » |
|
sort(a[ i ], a[ i ] + N) sorteaza primele N elemente pe linia i
|
|
|
Memorat
|
|
|
|
•ciprianf
|
 |
« Răspunde #21 : Februarie 24, 2008, 08:50:15 » |
|
Si eu daca vreau sa sortez liniile?
|
|
|
Memorat
|
|
|
|
•toni2007
|
 |
« Răspunde #22 : Februarie 24, 2008, 08:52:57 » |
|
adica? vrei sa sortezi pe linii sau pe coloane? sau vrei sa sortezi liniile intre ele dupa un anumit criteriu?
|
|
|
Memorat
|
|
|
|
•sima_cotizo
|
 |
« Răspunde #23 : Februarie 24, 2008, 08:57:05 » |
|
Faci un vector O[ x ]=y => a x-a linie din matricea ordonata este y. Apoi sortezi pe O, dar functia de comparare de fapt va testa liniile corespunzatoare din matrice. Mai clar: int comp(int a, int b) { return strcmp( A[a], A[b] ); // compari liniile a si b din matrice }
int main() { // citesti matricea, ii faci ce vrei
for (i=0; i<n; ++i) O[i] = i; sort(O, O+n, comp);
return 0; }
|
|
|
Memorat
|
|
|
|
•ciprianf
|
 |
« Răspunde #24 : Februarie 24, 2008, 09:02:40 » |
|
adica? vrei sa sortezi pe linii sau pe coloane? sau vrei sa sortezi liniile intre ele dupa un anumit criteriu?
Vreau sa sortez liniile intre ele dupa un anumit criteriu sima_cotizo nu cred ca ma ajuta ideea ta.....eu vreau sa le sortez sortez:D
|
|
« Ultima modificare: Februarie 24, 2008, 09:20:38 de către Farcasanu Ciprian »
|
Memorat
|
|
|
|
|