a IX-a A0 lecții INFORMATICĂ | 2 lecții T.I.C.
T.I.C.
Lectia 01   |   Lectia 02
a IX-a B0 lecții INFORMATICĂ | 0 lecții T.I.C.
a IX-a C0 lecții INFORMATICĂ | 0 lecții T.I.C.
a IX-a D0 lecții INFORMATICĂ | 0 lecții T.I.C.
a IX-a E0 lecții INFORMATICĂ | 0 lecții T.I.C.
a X-a A0 lecții INFORMATICĂ | 0 lecții T.I.C.
a X-a B0 lecții INFORMATICĂ | 0 lecții T.I.C.
a X-a C0 lecții INFORMATICĂ | 0 lecții T.I.C.
a X-a D0 lecții INFORMATICĂ | 0 lecții T.I.C.
a XI-a A30 lecții INFORMATICĂ | 0 lecții T.I.C.
Informatică
Lectia 07   |   Lectia 08   |   Lectia 09   |   Lectia 10   |   Lectia 11   |   Lectia 12   |   Lectia 13   |   Lectia 14
Lectia 16   |   Lectia 18   |   Lectia 19   |   Lectia 20   |   Lectia 21
Lectia 23   |   Lectia 24
Lectia 36
Lectia 40   |   Lectia 41   |   Lectia 42   |   Lectia 43   |   Lectia 44   |   Lectia 45   |   Lectia 46
Lectia 46 --- [ Teorie + 0 Probleme rezolvate ]

CONEXITATE  IN GRAFURI

Se da un graf G=(X, U). Sa se determine numarul de componente conexe ale grafului.

Graful se va citi c o succesiune de muchii (doua varfuri). Numarul de muchii este m.

Odata cu citirea unei muchii se stabileste apartenenta celor doua varfuri la o componenta conexa. Astfel avem 3 cazuri:

  1. Daca varfurile nu apartin de nici o componenta conexa atunci se va crea una noua care sa contina cele doua varfuri
  2. Daca unul din varfuri apartine de o componenta conexa atunci se va introduce si celalalt sau ambele varfuri apartin de o componenta conexa, atunci nu se va face nimic.
  3. Daca unul din varfuri apartine la o componenta conexa si celalalt la o alta componenta conexa atunci cele doua componente conexe se vor uni si va contine toate varfurile de la cele doua si numarul de componente conexe va scade cu 1.

Algoritmul de determinare a nr. de componente conexe.

Pentru I = 1 la m executa

  Citeste x[I], y[I];

  k=0;

  Pentru j = 1 la nc executa

   Daca ((x[I] apartine CompCon[j])  sau (y[I] apartine CompCon[j]))   atunci

            k = k+1;

            u[k] = j;

   SfDaca

 SfPentru

  Daca (k =0) atunci

      nc = nc + 1;

      CompCon[nc] = {x[I], y[I]}

      Altfel    Daca (k=1) atunci

                         CompCon[u[1]] = CompCon[u[1]] U {x[I], y[I]}

                    &nb sp;        Altfel

                          CompCon[u[1]] = CompCon[u[1]] U CompCon[u[2]];

                          nc = nc –1;

                     SfDaca

    SfDaca

SfPentru

           m – numarul de muchii

x[I] – sir ce contine prima extremitate a muchiei

y[I] - sir ce contine a doua extremitate a muchiei

nc – numarul de componente conexe

CompCon[j] – vector ce memoreaza varfurice ce fac parte din componenta conexa j.

u[k] – memoreaza numarul componentei conexe din care fac parte cele doua varfuri

k – ne spune in ce situatie ne aflam (1, 2, sau 3)


Fii primul care comentează lecţia
     Submit
  |   Lectia 46_1
Lectia 47   |   Lectia 48   |   Lectia 49   |   Lectia 50   |   Lectia 50_1
Lectia 50_2
a XI-a B0 lecții INFORMATICĂ | 0 lecții T.I.C.
a XI-a C0 lecții INFORMATICĂ | 0 lecții T.I.C.
a XI-a D0 lecții INFORMATICĂ | 0 lecții T.I.C.
a XI-a E0 lecții INFORMATICĂ | 1 lecții T.I.C.
T.I.C.
Fişa 01
a XII-a A2 lecții INFORMATICĂ | 6 lecții T.I.C.
Informatică
Lectia 01   |   Lectia 02
T.I.C.

Fişa 01   |   Fişa 02   |   Fişa 03   |   Fişa 04   |   Fişa 05   |   Fişa 06
a XII-a B0 lecții INFORMATICĂ | 0 lecții T.I.C.
a XII-a C0 lecții INFORMATICĂ | 0 lecții T.I.C.
a XII-a D0 lecții INFORMATICĂ | 0 lecții T.I.C.
a XII-a E0 lecții INFORMATICĂ | 0 lecții T.I.C.
Excelenta A0 lecții INFORMATICĂ | 0 lecții T.I.C.