1 / 18

Drumuri în grafuri. Conexitate

?. ?. ?. ?. Grafuri. Drumuri în grafuri. Conexitate. Drumuri în graf. Fie un graf , . Secvenţa de vîrfuri este un u-v drum dacă , , , . Lungimea drumului , notată este egală cu . Convenţional se numeşte drum trivial un drum cu .

azize
Download Presentation

Drumuri în grafuri. Conexitate

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ? ? ? ? Grafuri Drumuriîn grafuri. Conexitate

  2. Drumuri în graf • Fie un graf, . Secvenţa de vîrfuri esteun u-v drumdacă, , ,. • Lungimeadrumului, notatăesteegală cu . Convenţional se numeştedrum trivial un drum cu. • Fie un drum în graful . este un drum închis dacă; în caz contrar se numeşte drum deschis. • Drumul este elementar dacă oricare două vîrfuri din sînt distincte, cu excepţia, eventual, a extremităţilor. • Drumul este proces dacă pentru orice ,.

  3. Drumuri în graf • Fie un drum în graful . este un subdrumal lui dacă este un drum şi pentru orice j, , există i, astfel încît .Orice drum cu lungime cel puţin 1 conţine cel puţin un drum elementar cu aceleaşi extremităţi. => =>

  4. Matricea existenței drumurilor • Fie un graf, A matricea de adiacenţă.indică numărul de drumuri distincte de lungime pîntre oricare 2 vîrfuri. • Fie operaţiile binare de adunare şi înmulţire. Notînd , ,, , indică existența unui drum de lungime pîntre oricare 2 vîrfuri. • - matricea existenței drumurilor în graful G.

  5. Matricea existenței drumurilor

  6. Algoritmul Roy - Warshall unsignedchar ** Roy_Warshall(unsignedchar**a,unsigned n) {int i,j,k; unsignedchar**m; m = new unsigned char*[n]; for(i=0;i<n;i++) m[i] = new unsigned char[n]; for(i=0;i<n;i++) for(j=0;j<n;j++) m[i][j]=a[i][j]; for(j=0;j<n;j++) for(i=0;i<n;i++) if(m[i][j]) for(k=0;k<n;k++) if(m[i][k]<m[k][j]) m[i][k] = m[k][j]; return m; } 1 0

  7. Componente conexe • Fie graf netrivial. Vîrfurile și sînt conectatedacă există un u-v drum în . • Dacă este un graf, atunci o componentă conexă a lui este un subgraf conex al lui , maximal în raport cu proprietatea de conexitate. • Un graf este conex dacă şi numai dacă numărul componentelor sale conexe este 1. • Mulţimile de vîrfuri corespunzătoare oricăror două componente conexe distincte sînt disjuncte.

  8. Componente conexe • Algoritmpentrudeterminareauneicomponenteconexe • I: , , • E: • Se iniţializează componenta vidă • Se adaugă la mulţimea de vîrfuri vîrful iniţial • Repetă • Se caută toţi vecinii noi ai vîrfurilor din şi se adaugă la mulţimea de vîrfuri • Se caută toate muchiile noi dintre vîrfurile din şi se adaugă la mulţimea de muchii • Pînă cînd nu se mai găsesc vîrfuri noi Parcurgere în adîncime / lățime Din matricea existenței drumurilor • Se determină mulțimea vîrfurilor conectate cu • Se adaugă la toate muchiile dintre vîrfurile din

  9. Drumuri de cost minim • Fie un graf ponderat. Costul drumului , notat, este definit prin: • Pentru orice şi vîrfuri conectate în , , dacă este mulțimea tuturor drumurilor între şi , w-distanţaîntre şi , notată , este definită prin • Drumul pentru care , se numeştedrum de cost minim.

  10. Algoritmul Roy - Floyd float** Roy_Floyd (float**w,unsignedn) {int i,j,k; float **d; d = new float*[n]; for(i=0;i<n;i++) d[i] = new float[n]; for (i=0;i<n;i++) for (j=0;j<n;j++) d[i][j]=w[i][j]; for ( j=0; j<n; j++) for ( i=0; i<n; i++) if( d[i][j] < INF ) for ( k=0; k<n; k++) if ( d[i][k]>d[i][j]+d[j][k]) d[i][k]=d[i][j]+d[j][k]; return d; }

  11. Algoritmul Yen • I: W, n, k • E: B • pentru • determină pa.î. și e minim • pentru

  12. Algoritmul Dijkstra • fie , , graf conex • etichete pentru fiecare vîrf : • pentru fiecare vîrf , • , , = • pentru • pentru fiecare vîrf • dacă • determină un vîrf a.î. este minimă

  13. Drumuri de cost minim • , 1 • , 1 • , 1

  14. Drumuri de cost minim

  15. Drumuri de cost minim • , 2 • , 2

  16. Drumuri de cost minim • , 4

  17. Drumuri de cost minim • Drum pînă la : • repetă • adaugă la drum • pînă cînd • Drum pînă la : • 5 • 4, 5 • 2, 4, 5 • 1, 2, 4, 5

  18. Spor la învățat!

More Related