Un arbore este un graf neorientat, conex si aciclic. Proprietatile fundamentale: un arbore cu n noduri are exact n-1 muchii; introducerea unei muchii suplimentare creaza un ciclu, iar eliminarea unei muchii deconecteaza graful. In informatica, arborii binari sunt structuri ierarhice in care fiecare nod are cel mult doi descendent (stanga si dreapta).
Parcurgerile uzuale sunt: in-ordine (stanga, radacina, dreapta), pre-ordine (radacina, stanga, dreapta) si post-ordine (stanga, dreapta, radacina). Pentru arbori binari de cautare (BST), in-ordine produce elementele sortate. Arborii partiali (minimum spanning tree - MST) sunt subgrafuri care pastreaza conexitatea si minimizeaza suma costurilor muchiilor.
Algoritmul lui Kruskal sorteaza muchiile crescator si le adauga daca nu formeaza ciclu (folosind Union-Find). Algoritmul lui Prim porneste de la un nod si extinde arborele alegand muchia de cost minim care conecteaza un nod din arbore cu unul din afara. Ambele sunt greedy si au complexitate O(E log E) (Kruskal) respectiv O(V^2) sau O(E log V) (Prim).
La bac, se cer parcurgeri in arbori binari, implementari in pseudocod sau C++, si aplicarea algoritmilor Kruskal si Prim pe grafuri concrete.
Concepte cheie: Arbore: graf conex, aciclic, n noduri si n-1 muchii, Arbore binar: fiecare nod are cel mult 2 fii; parcurgeri in-ordine, pre-ordine, post-ordine, Arbore partial de cost minim (MST): algoritmi Kruskal si Prim, baza greedy, Union-Find pentru detectarea ciclurilor in Kruskal, Complexitati: Kruskal O(E log E), Prim O(E log V) cu heap
Vrei exerciții pe lecția asta + AI care te ajută pas cu pas?
Cont gratuit — 20 întrebări AI/zi, exerciții nelimitate.