Sari la conținut

Ghid de informatică pentru admitere

Grafuri neorientate: grade, muchii și conexitate

Înainte să aplici o formulă, verifică tipul grafului. Aici lucrăm cu grafuri simple neorientate, fără bucle și fără muchii multiple. Gradul unui vârf, numărul total de muchii și conexitatea descriu lucruri diferite.

Lecție scrisă de Admitero · Actualizat la

Roadmap de admitere

Alege materia

Roadmap în Plus

Gradele numără fiecare muchie de două ori

Gradul d(v)d(v) este numărul de muchii incidente vârfului vv. O muchie cu extremitățile uu și vv contribuie cu 1 la fiecare dintre cele două grade. Pentru mm muchii:

∑v∈Vd(v)=2m.\sum_{v\in V} d(v)=2m.

Consecințe: suma gradelor este pară, iar numărul vârfurilor de grad impar este par. Un vârf izolat are gradul 0.

Pentru un graf simplu cu nn vârfuri, fiecare grad este între 0 și n−1n-1. Aceste condiții sunt necesare, dar nu suficiente pentru ca o listă de numere să fie lista gradelor unui graf. De exemplu, 3,3,1,13,3,1,1 are sumă pară și toate valorile cel mult 3, dar nu se poate realiza: fiecare dintre cele două vârfuri de grad 3 ar trebui să se lege de ambele vârfuri care au gradul 1.

Graful complet și matricea de adiacență

În graful complet KnK_n, fiecare pereche de vârfuri distincte este legată printr-o muchie. Fiecare grad este n−1n-1, iar numărul de muchii este:

mmax⁡=n(n−1)2.m_{\max}=\frac{n(n-1)}{2}.

În matricea de adiacență, aij=1a_{ij}=1 dacă există muchia dintre ii și jj, altfel aij=0a_{ij}=0. Pentru un graf simplu neorientat, matricea este simetrică și diagonala este nulă.

Suma liniei ii este gradul vârfului ii. Suma întregii matrice este 2m2m. Dacă numeri doar elementele de deasupra diagonalei principale, obții direct mm. Nu împărți încă o dată la 2.

Conexitate, componente și arbori

Un graf este conex dacă între oricare două vârfuri există un lanț. O componentă conexă este o parte maximală în care vârfurile sunt legate între ele prin lanțuri.

Un graf conex cu nn vârfuri are cel puțin n−1n-1 muchii. Totuși, m≥n−1m\geq n-1 nu garantează conexitatea. Un triunghi și un vârf izolat au n=4n=4 și m=3m=3, dar graful este neconex.

Un arbore este un graf conex fără cicluri. El are n−1n-1 muchii. Pentru un graf simplu neorientat cu n≥1n\geq1, dacă știi că este conex și are exact n−1n-1 muchii, poți concluziona că este arbore.

Pentru verificarea conexității poți porni o parcurgere dintr-un vârf și marca toate vârfurile accesibile. Dacă rămân nemarcate, graful are mai multe componente.

Câte muchii trebuie adăugate între componente?

Dacă graful are cc componente conexe, sunt necesare și suficiente c−1c-1 muchii noi ca să-l faci conex. Fiecare muchie între două componente poate reduce numărul componentelor cu cel mult 1.

Pentru a atinge limita, alegi câte un vârf din fiecare componentă și legi componentele într-un lanț. O muchie adăugată între două vârfuri din aceeași componentă nu ajută la unirea cu restul grafului.

La implementare, listele de adiacență ocupă O(n+m)O(n+m) memorie, iar matricea ocupă O(n2)O(n^2). Alegerea reprezentării influențează complexitatea algoritmului.

Greșeli de evitat

  • Egalezi suma gradelor cu numărul muchiilor și uiți factorul 2.

  • Consideri orice listă cu sumă pară drept o listă realizabilă de grade.

  • Deduci conexitatea doar din numărul de muchii.

  • Adaugi muchii în interiorul unei componente când scopul este conectarea componentelor.

Exemplu rezolvat

Problemă

Un graf simplu neorientat are vârfurile 1,2,3,4,5,61,2,3,4,5,6 și muchiile {1,2}\{1,2\}, {2,3}\{2,3\}, {1,3}\{1,3\}, {4,5}\{4,5\}. Determină gradele, componentele conexe și numărul minim de muchii care trebuie adăugate pentru a obține un graf conex.

Rezolvare

Vârfurile 1, 2 și 3 formează un triunghi și au fiecare gradul 2. Vârfurile 4 și 5 sunt legate între ele și au gradul 1. Vârful 6 este izolat, cu gradul 0.

Lista gradelor este 2,2,2,1,1,02,2,2,1,1,0. Suma este 8, adică 2⋅42\cdot4, ceea ce confirmă cele patru muchii.

Componentele sunt {1,2,3}\{1,2,3\}, {4,5}\{4,5\} și {6}\{6\}. Avem c=3c=3, deci sunt necesare 2 muchii. De exemplu, adăugăm {3,4}\{3,4\} și {5,6}\{5,6\}.

Graful final este conex, dar nu este arbore: triunghiul inițial a rămas, deci există un ciclu.

Treci la exersat

Exersează grafuri neorientate.

Pentru grile din această lecție, selectează informatică și subcapitolul grafuri neorientate.

Rezolvă grile de informatică

Continuă cu grile de informatică și lecții pentru admitere sau vezi grilele Poli și ghidurile facultăților.