Revizia anterioară Revizia următoare
Arhiva educationala
Se propune construirea unei noi arhive de probleme care sa aiba exclusiv scop educational. Spre deosebire de probleme de concurs in care se imbina mai multi algoritmi si rezolvarea de obicei nu este evidenta, problemele din aceasta arhiva vor fi create special pentru cei care vor sa invete cum sa implementeze un algoritm sau o metoda de rezolvare anume. Se va permite accesul la teste, surse si se vor da si link-uri catre documentatie. Mai multe despre acest proiect gasiti aici.
Responsabili de proiect
Mai jos sunt trecuti utilizatorii care sunt implicati in dezvoltarea acestui proiect:
Continutul arhivei
In tabelul de mai jos se afla cei mai importanti algoritmi care trebuie sa se gaseasca sub forma de probleme in arhiva educationala. Pentru fiecare problema este trecut si un responsabil. Responsabilul pe problema va fi cel care s-a oferit prin voluntariat sa o introduca in arhiva. El va fi cel care va scrie enuntul, va crea testele si eventual un evaluator.
Tabelul este in proces de completare!
Denumire problema | Categorie | Responsabil | Stare |
---|---|---|---|
Algoritmul lui Euclid | Matematica | ||
Algoritmul lui Euclid extins | Matematica | - | |
Cel mai lung subsir comun | Programare dinamica | ||
Cel mai lung subsir crescator | Programare dinamica | - | |
Knapsack | Programare dinamica | ||
Cautare binara | ? | - | |
Parcurgere BFS | Grafuri | - | |
Parcurgere DFS - componente conexe | Grafuri | ||
Componente biconexe | Grafuri | - | |
Componente tare-conexe | Grafuri | - | |
Sortare topologica | Grafuri | - | |
Lant hamiltonian | Grafuri | - | |
Ciclu eulerian | Grafuri | - | |
Algoritmul lui Prim | Grafuri | - | |
Algoritmul lui Kruskal | Grafuri | - | |
Algoritmul lui Djikstra | Grafuri | - | |
Algoritmul Floyd-Warshall | Grafuri | - | |
Algoritmul Bellman-Ford | Grafuri | - | |
Algoritmul Roy-Floyd | Grafuri | ||
Flux maxim | Grafuri | - | |
Flux maxim de cost minim | Grafuri | - | |
Cuplaj maxim | Grafuri | - | |
Cuplaj maxim de cost minim | Grafuri | - | |
Lowest Common Ancestor | Grafuri | - | |
Potrivirea sirurilor | Siruri de caractere | - | |
Arbori de sufixe | Siruri de caractere | - | |
Trie | Siruri de caractere | - | |
Heapuri | Structuri de date | - | |
Hashuri | Structuri de date | - | |
Arbori de intervale | Structuri de date | - | |
Arbori de indexati binar | Structuri de date | - | |
Range Minimum Query | Structuri de date | - | |
Double ended queue (deque) | Structuri de date | - | |
Structuri de multimi disjuncte | Structuri de date | - | |
Punct in poligon | Geometrie | - | |
Infasuratoare convexa | Geometrie | - | |
Diagrame Voronoi | Geometrie | - |
Mentionam faptul ca anumiti algoritmi pot fi implementati in complexitati diferite. De exemplu, pentru algoritmul de drumuri minime al lui Djikstra exista atat o solutie de complexitate O(N2), cat si o solutie O(M log2 N). In acest caz, propunem sa nu se faca doua probleme diferite, ci sa se diferentieze punctajul in functie de rezolvare. Diferentierea pentru diferite abordari (complexitati) va fi precizata clar in enunt la rubrica de restrictii. De exemplu: "Un algoritm de complexitate O(N2) obtine 50 de puncte", "Algoritmul Ford-Fulkerson obtine 30 de puncte. Pentru punctaj maxim este necesara implementarea algoritmului lui Dinic.".
Comentarii:
Cosmin: ar fi misto sa facem niste useri, admin sau comisie 1 2 3, ca sa poata fi cautate in arhiva usor solutiile oficiale, sau putem pune link la ele din textul problemei.
Cosmin: de asemenea nu cred ca trebuie sa ne chinuim la teste foarte tare, e important ca pe teste sa iti dai seama daca algoritmul e corect si din timpii de executie te poti prinde cat de eficient e.