Terminologie
Definiție
Graf orientat = un graf în care relația binară nu este simetrică:
Vârf
Vârf = element al mulțimii , unde este un graf orientat
Vârf izolat
Un vârf este izolat dacă are suma gradelor 0 Definiție alternativă: un vârf cu gradul interior 0 și gradul exterior 0
Vârf terminal
Un vârf este terminal dacă are gradul interior 1 și gradul exterior 0, practic dacă poți intra și nu mai poți ieși.
Arc
Arc = element al mulțimii , ce descrie o relație existentă între 2 vârfuri din , unde este un graf orientat
Extremitățile unui arc
Pentru arcul se numesc extremități ale sale nodurile și
- se numește extremitate (vârf) inițială, iar extremitate (vârf) finală
- este predecesorul lui , iar este succesorul lui Arcele sunt parcurse numai în direcția dată de relația .
Adiacență
Vârful este adiacent cu vârful dacă perechea , deci este adiacent cu doar dacă este succesorul acestuia.
Această definiție este controversată deoarece pe pbinfo se definesc 2 noduri ca fiind adiacente dacă există un arc în orice sens între ele.
- ⏫ de clarificat definiția adiacenței in graful orientat
Incidență
Un arc este incident cu un nod dacă îl are pe acesta ca extremitate. Arcul este incident cu respectiv . În cazul grafurilor orientate apar relațiile de incidență spre interior respectiv exterior.
Incidența spre interior
Un arc este incident spre interior cu un vârf dacă îl are pe acesta ca vârf terminal. Practic un arc este incident spre interior dacă acesta “intră” într-un vârf. Arcul este incident spre interior cu vârful .
Incidența spre exterior
Un arc este incident spre exterior cu un vârf dacă îl are pe acesta ca vârf inițial. Practic un arc este incident spre interior dacă acesta “pleacă” sau “iese” dintr-un vârf. Arcul este incident spre exterior cu vârful .
Grad
Grad interior
În cazul unui graf orientat fiecare vârf are are asociat un număr numit grad interior care este egal cu numărul de arce care îl au pe ca vârf terminal (numărul de arce incidente spre interior), sau numărul de noduri care îl au pe ca succesor, sau numărul de predecesori ai lui .
Grad exterior
În cazul unui graf orientat fiecare vârf are are asociat un număr numit grad exterior care este egal cu numărul de arce care îl au pe ca vârf inițial (numărul de arce incidente spre interior), sau numărul de noduri care îl au pe ca predecesor, sau numărul de succesori ai lui .
Teoreme și proprietăți
- Într-un graf orientat, suma gradelor exterioare a tuturor vârfurilor este egală cu suma gradelor interioare a tuturor vârfurilor și cu numărul de arce.
- Un vârf se numește izolat dacă gradul interior și gradul exterior sunt ambele egale cu 0.
Drum
Drumul este o secvență de vârfuri ale unui graf orientat legate fiecare de următorul printr-un arc. Trebuie să poată fii parcurs pe direcția de mers a arcului, în secvența .
cu proprietatea că
este un drum, dar nu este un drum
Proprietățile drumurilor și tipurile lor sunt similare cu cele ale lanțurilor.
Lungimea unui drum
Lungimea unui drum este numărul de arce din care este format
Drum simplu
Drumul simplu este drumul care conține numai arce distincte
Drum compus
Drumul compus este drumul care nu este format numai din arce distincte. Practic, dacă un drum nu este simplu, este compus.
Drum elementar
Drumul elementar este drumul care are numai vârfuri distincte
Circuit
Circuitul este un drum în care primul vârf coincide cu ultimul.
Lungimea unui circuit
Lungimea unui circuit este egală cu numărul de arce.
Circuit simplu
Circuitul simplu este un circuit în care nu se repetă nici un arc.
Circuit compus
Circuitul compus este un circuit care nu este format numai din arce distincte. Practic dacă un ciclu nu este Circuit simplu, este compus.
Circuit elementar
Un circuit este elementar dacă este format doar din vârfuri distincte, excepție făcând primul și ultimul. Implicit asta înseamnă că nu se repetă nici un arc. Deci orice circuit elementar este implicit și simplu, dar nu și invers.
Bucla
Bucla este un circuit format dintr-un singur arc și implicit un singur nod. Aceasta este reprezentată în ca .
Tare conexitate
Fie graful orientat
Graful se numește tare conex dacă între oricare două vârfuri distincte există cel puțin un drum.
Se numește componentă tare conexă un subgraf tare conex și maximal cu această calitate – dacă am mai adăuga un vârf, n-ar mai fi tare conex.
Exemplu:
Graful de mai sus nu este tare conex. El conține trei componente tare conexe formate din următoarele vârfuri:
- 1 3 4
- 2
- 5 6 7 8
Atenție: Un vârf al grafului face parte dintr-o singură componentă tare conexă. Dacă ar face parte din două componente tare conexe, ele s-ar “reuni” prin intermediul acelui vârf.
Acest articol conține mai multe detalii despre tare-conexitate (algoritmi de verificare a tare conexității, de determinare a componentelor tare-conexe, etc.).
Tipuri de grafuri orientate
Graf tare conex
Graful se numește tare conex dacă între oricare două vârfuri distincte există cel puțin un drum.
Graf complet
Graful se numește graf complet dacă oricare două vârfuri distincte ale sale sunt adiacente (vom folosi definiția de pe pbinfo)
- Numărul de grafuri orientate cu vârfuri este
- Nu putem știi numărul de arce într-un graf complet
Graf nul
Graful nul este graful în care nu există muchii, sau în care mulțimea muchiilor este vidă . A nu fi confundat cu cu graful vid. Graful complementar al grafului nul este graful complet.
Graf turneu
Graful se numește graf turneu dacă oricare ar fi 2 vârfuri distincte, între ele există un singur arc: pentru vârfurile și există arcele sau dar nu ambele.
- Orice graf turneu este și complet (dar nu și invers)
- În orice graf turneu există un drum elementar care trece prin toate vârfurile grafului.
- Numărul de grafuri turneu cu vârfuri este
Graf orientat hamiltonian
- Drumul elementar care conține toate vârfurile se numește hamiltonian.
- Circuitul elementar care conține toate vârfurile se numește hamiltonian.
- Graful care conține un circuit hamiltonian se numește hamiltonian.
Condiție de suficiență
Dacă este un graf cu vârfuri astfel încât gradul oricărui vârf verifică inegalitatea rezultă că este graf hamiltonian. Este foarte rar folosită, nu se întâmplă des ca un graf hamiltonian să îndeplinească această condiție (este suficientă, nu necesară)
Graf orientat eulerian
- Drumul simplu care conține toate arcele se numește eulerian.
- Circuitul simplu care conține toate arcele se numește eulerian.
- Graful care conține un circuit eulerian se numește eulerian.
Condiție necesară și suficientă
Un graf orientat este eulerian dacă și numai dacă:
- Este conex
- Oricare vârf are gradul interior egal cu gradul exterior
Reprezentarea grafurilor orientate
Matrice de adiacență
Fie un graf orientat cu vârfuri, în care nu există mai multe arce de la un nod la altul. Matricea de adiacență a grafului este o matrice cu linii și coloane și elemente din , astfel: Pentru graful de mai jos, matricea de adiacență este:

- are zerouri pe diagonala principală (dacă în graf nu avem bucle)
- nu trebuie să fie simetrică față de diagonala principală
Lista de arce
Lista de arce a unui graf orientat reprezintă o mulțime (familie, dacă arcele se pot repeta) ce conține toate arcele din graf.
Pentru graful mai jos, lista de arce este:

Reprezentarea în memorie
Pentru reprezentarea în memorie putem folosi:
- un tablou unidimensional cu elemente de tip
struct {int I,J;} - două tablouri unidimensionale cu elemente de tip
int - o listă alocată dinamic
- etc.
Liste de adiacență (succesori)
Pentru un graf orientat cu se va memora numărul de [[#Vârf|#vârfuri]] și apoi, pentru fiecare vârf , lista succesorilor lui , adică vârfurilor cu proprietatea că există arcul . Pentru graful de mai jos acestea sunt:
1: 6
2: 1 4
3: 2
4: 2
5: 4
6: 1 2 4

Reprezentarea în memorie
La reprezentarea în memorie trebui avut în vedere că dimensiunile listelor de succesori sunt variabile. De aceea, este ineficientă (dar posibilă folosind o matrice cu n linii și n coloane) utilizarea unor tablouri alocate static. Astfel, putem folosi:
- un șir de
ntablouri unidimensionale alocate dinamic; - un șir de
nvectori din STL; - un șir de
nliste simplu (dublu) înlănțuite alocate dinamic.