Grafurile sunt structuri matematice utilizate în informatică pentru a reprezenta relații între obiecte. Un graf este format din:
Muchiile nu au direcție. Dacă există muchia dintre A și B, se poate merge în ambele sensuri.
Muchiile au direcție și se numesc arce.
Fiecare nod este conectat cu toate celelalte noduri.
Există drum între oricare două noduri ale grafului.
Grafurile pot fi reprezentate în mai multe moduri:
Exemplu de matrice de adiacență:
0 1 1
1 0 1
1 1 0
Breadth First Search parcurge graful pe niveluri și folosește o coadă.
Depth First Search explorează cât mai adânc fiecare ramură.
Algoritm utilizat pentru determinarea drumului minim într-un graf ponderat.
Grafurile sunt folosite în foarte multe domenii: