Didaxis
lecție · Informatică

Subgraf și graf parțial

Eliminare de vârfuri sau de muchii.

Se face în:
Clasa a XI-a
Actualizat la: 30 octombrie 2026
1pe scurtstratul 1 din 3 · rezumatul lecției

Pe scurt

Un subgraf se obține prin eliminarea unor vârfuri împreună cu toate muchiile incidente lor. Un graf parțial păstrează toate vârfurile și elimină unele muchii. În triunghiul cu vârfurile 1, 2, 3 și muchiile [1,2], [2,3], [1,3], eliminarea vârfului 3 lasă subgraful cu vârfurile 1 și 2 și muchia [1,2]. Eliminarea doar a muchiei [1,3] dă un graf parțial cu trei vârfuri și două muchii.

Desen la lecția „Subgraf și graf parțial”
2în detaliustratul 2 din 3 · pentru clasă și Bacalaureat

În detaliu

Graful parțial păstrează toate vârfurile și elimină orice submulțime de muchii. Dacă graful inițial are muchii, are grafuri parțiale, incluzându-l pe el însuși și pe cel fără muchii. Subgraful se obține prin eliminarea unor vârfuri și a tuturor muchiilor incidente lor; pentru vârfuri există alegeri nevide ale vârfurilor rămase. Un subgraf obținut astfel este determinat de mulțimea vârfurilor păstrate, fiindcă rămân toate muchiile dintre ele (se numește și subgraf indus). Definiția generală din manuale permite ca un subgraf să piardă și muchii; în aceasta, un graf parțial este un caz particular de subgraf, iar cel obținut numai prin eliminarea vârfurilor este subgraful indus. În exerciții, citește enunțul: „se elimină vârfurile…” înseamnă subgraf indus, iar „se elimină muchiile…” înseamnă graf parțial.

În triunghiul cu vârfurile 1, 2, 3 și muchiile , , , eliminarea vârfului 3 lasă vârfurile 1, 2 și muchia ; eliminarea numai a muchiei produce un graf parțial cu toate cele trei vârfuri și două muchii.

Exemplul 1 — subgrafurile induse ale triunghiului. Fiecare submulțime nevidă de vârfuri se codifică printr-o mască de biți, iar programul numără muchiile care au ambele capete în mască:

#include <iostream>
using namespace std;
int main() {
    int e[3][2] = {{1, 2}, {2, 3}, {1, 3}};
    for (int mask = 1; mask < 8; ++mask) {
        int c = 0;
        for (auto& m : e)
            if ((mask >> (m[0] - 1) & 1) && (mask >> (m[1] - 1) & 1)) ++c;
        cout << c << " ";
    }
}

Se afișează 0 0 1 0 1 1 3. Cele șapte măști sunt cele alegeri nevide: trei subgrafuri cu un singur vârf (0 muchii), trei cu două vârfuri (câte o muchie) și triunghiul întreg (3 muchii). Subgraful pe două vârfuri are exact o muchie, nu două, pentru că a treia muchie ar avea un capăt eliminat.

Exemplul 2 — grafurile parțiale ale triunghiului. Fiecare submulțime de muchii dă un graf parțial, deci sunt . Programul numără câte dintre ele rămân conexe pe cele trei vârfuri:

#include <algorithm>
#include <iostream>
using namespace std;
int main() {
    int e[3][2] = {{1, 2}, {2, 3}, {1, 3}}, conexe = 0;
    for (int mask = 0; mask < 8; ++mask) {
        int c[4] = {0, 1, 2, 3};
        for (int rep = 0; rep < 3; ++rep)
            for (int i = 0; i < 3; ++i)
                if (mask >> i & 1) {
                    int mic = min(c[e[i][0]], c[e[i][1]]);
                    c[e[i][0]] = c[e[i][1]] = mic;
                }
        if (c[1] == c[2] && c[2] == c[3]) ++conexe;
    }
    cout << conexe;
}

Se afișează 4. Graful parțial fără muchii și cele trei cu o singură muchie nu sunt conexe, deoarece rămâne cel puțin un vârf izolat. Cele trei grafuri parțiale cu două muchii și triunghiul întreg sunt conexe. Între cele opt grafuri parțiale se află și graful inițial, ceea ce arată că definiția îl include.

Exemplul 3 — ciclul cu 4 vârfuri. Graful are vârfurile 1, 2, 3, 4 și muchiile , , , . Are grafuri parțiale. Dintre ele, 5 sunt conexe: graful întreg și cele patru obținute prin eliminarea câte unei muchii, adică lanțuri cu 3 muchii. Eliminarea vârfului 1 lasă 3 vârfuri și 2 muchii, și . Eliminarea vârfurilor 1 și 3 lasă vârfurile 2 și 4, fără nicio muchie. La eliminarea vârfurilor 1 și 2 dispar trei muchii, , și , deci muchie rămâne, ; muchia , incidentă cu ambele vârfuri eliminate, se scade o singură dată.

3pentru admiterestratul 3 din 3 · pentru examene

Pentru admitere

La eliminarea unui vârf, se elimină obligatoriu toate muchiile incidente lui. La eliminarea unei muchii, gradele celor două capete scad cu 1, dar numărul vârfurilor rămâne același. Pentru triunghi, subgraful indus de două vârfuri are exact o muchie. Pentru a număra muchiile unui subgraf indus, scade din muchiile incidente cu vârfurile eliminate, fără să numeri de două ori muchia dintre două vârfuri eliminate. Pentru a număra grafurile parțiale, ia în calcul doar muchiile: vârfurile rămân aceleași, iar numărul vine din . De exemplu, în triunghiul cu vârfurile 1, 2, 3, eliminarea vârfului 1 lasă un subgraf cu 2 vârfuri și 1 muchie, deoarece dispar cele două muchii incidente lui 1, adică muchii rămase. Eliminarea muchiei lasă un graf parțial cu 3 vârfuri și 2 muchii, în care gradul lui 2 și gradul lui 3 au scăzut de la 2 la 1.

Exemplu în formatul examenului. Un graf neorientat are 4 vârfuri și 5 muchii. Câte grafuri parțiale distincte are, inclusiv el însuși și graful fără nicio muchie?

  • a) 5
  • b) 16
  • c) 31
  • d) 32

Răspunsul corect este d). Un graf parțial păstrează toate cele 4 vârfuri și se determină prin alegerea muchiilor păstrate dintre cele 5, deci există alegeri. Varianta b), , numără submulțimile de vârfuri, nu de muchii. Varianta c), , ar exclude exact un graf, iar enunțul îl include și pe cel inițial, și pe cel fără muchii. Varianta a) este numărul muchiilor.

Greșeli frecvente

  • Greșit: după eliminarea vârfului 3, muchia rămâne.
    Corect: dispare odată cu vârful incident.
  • Greșit: un graf parțial elimină obligatoriu și vârfuri.
    Corect: păstrează toate vârfurile.
  • Greșit: subgraful obținut prin eliminarea vârfului 3 poate omite muchia din triunghi.
    Corect: păstrează toate muchiile dintre vârfurile rămase.
în contul tăuPremium

Testează-te pe această lecție

Lecția o citești aici, fără cont. Testele pe lecții și capitole sunt în cont, cu grile originale Didaxis și explicația fiecăreia: gratuit 10 grile pe zi, fără limită cu Premium, 49 de lei pe lună pentru fiecare copil.

Înainte și după

Surse și referințe

Redactare proprie, conform programei:

  • OMECI 5099/2009, anexa 5, Informatică, p. 4–5, clasa XI intensiv; rocnee.eu
  • OMECI 5099/2009, anexa 5, Informatică, p. 4–5, clasa XI; plan de încadrare: OMEC 7723/2024, anexa 2, tabelele 1–25, legislatie.just.ro; filiera tehnologică: OMEC 7724/2024, anexa 4, tabelul calificării, legislatie.just.ro
  • UNSTPB, Regulament admitere licență 2026, Anexa II-1.2 p. Anx II-14 și Anexa XI-3 p. Anx XI-6–7 (PDF p. 64, 120–121); admitere.pub.ro
  • OMECTS 4800/2010, anexa 2, Informatică, p. 3–4; edu.ro

Documente consultate

  • UNSTPB, admitere 2026, anexa XI-3, p. Anx XI-6–7
  • Programa școlară de informatică, clasa a XI-a (OMECI 5099/2009, anexa 5), CNCE, p. 4–5; rocnee.eu
  • Programa de bacalaureat la informatică, matematică-informatică (anexa 2 la OMECTS 4800/2010), Ministerul Educației, p. 5–6; edu.ro
  • Subiectele și baremele Bacalaureatului 2026; subiecte2026.edu.ro

Desene: Redactare proprie (desen original), conform Programa școlară de informatică, clasa a XI-a (OMECI 5099/2009, anexa 5), CNCE; rocnee.eu

lecțiile sunt gratuite

Ai citit lecția. Acum verifică-te.