Probleme de informatică
Alege dintr-o varietate de probleme de informatică, structurate pe capitole și subcapitole, pentru a învăța și exersa.
Capitolul 1
Elemente de bază ale programării
Învață bazele programării – operatori, expresii simple și instrucțiuni de decizie/repetitive.
Capitolul 2
Algoritmi elementari
Lecții de început care utilizează noțiunile introductive și care te ajută să stăpânești lucrul în C++ cu variabile și expresii.
Capitolul 3
Vectori (tablouri unidimensionale)
Învață să prelucrezi șiruri de elemente folosind diferiți algoritmi.
Capitolul 4
Matrice (tablouri bidimensionale)
Acest capitol te învață să extinzi ideea de vector în două dimensiuni, cu ajutorul matricelor.
Capitolul 5
Probleme avansate
Capitolul aceasta este dedicată lucrului cu biți și a altor noțiuni mai avansate.
Capitolul 1
Funcții (subprograme)
Învață cum să îți ordonezi mai ușor codul folosind funcții pentru a nu te repeta în cod.
Capitolul 2
Funcții recursive
Deși poate fi destul de greu de urmărit la început, recursivitatea este o noțiune foarte utilă în informatică – iar această serie este dedicată în totalitate ei.
Capitolul 3
Divide et Impera
Ca și o continuare a noțiunii de recursivitate, Divite et Impera este o metodă de rezolvare des utilizată în practică.
Capitolul 4
Structuri de date neomogene (struct)
Învață cum merg structurile pentru a putea crea elemente noi cu anumiți parametri.
Capitolul 5
Șiruri de caractere
Manipulează caracterele dintr-un șir și învață să folosești funcțiile predefinite care să te ajute.
Capitolul 6
Structuri de date liniare
Structurile de date sunt esențiale pentru concursuri, olimpiade și interviuri de angajare. Sunt concepte ușor de înțeles, cu aplicabilitate mare.
Capitolul 7
Liste înlănțuite alocate dinamic
Acest capitol este despre listele înlănțuite (liniare) de noduri.
Capitolul 8
Probleme avansate
Acest capitol este suplimentar, cu lecții precum combinatorică sau geometrie.
Capitolul 1
Backtracking
Backtrackingul este un subcapitol al recursivității, deseori utilizat în construirea unei soluții pas cu pas.
Capitolul 2
Metoda de rezolvare Greedy
Metoda de rezolvare Greedy, după cum este sugerat și de nume, este o metodă care selectează mereu cea mai bună opțiune în momentul curent.
Capitolul 3
Programare dinamică
Programarea dinamică este o metodă de rezolvare ce constă în rezolvarea unei probleme prin reducerea la subprobleme mai ușor de rezolvat.
Capitolul 4
Grafuri
Problemele cu grafuri se bazează pe existența unor noduri și ale unor conexiuni între acestea.
Capitolul 5
Structuri de date arborescente
Structurile de date arborescente sunt structuri mai complexe, însă care eficientizează unele probleme semnificativ de mult.