Grafuri

Seminar
7/10 (3 voturi)
Conține 4 fișiere: doc, cpp
Pagini : 5 în total
Cuvinte : 1602
Mărime: 83.33KB (arhivat)
Publicat de: Gherasim Sima
Puncte necesare: 0

Extras din seminar

Definire:

Graful, asemenea arborelui, este o structura în care relatia dintre nodul parinte si nodul fiu este una ierarhica, dar care este mai putin restrictiva în sensul ca un nod are mai multi succesori, dar si mai multi predecesori. El este definit ca o colectie de date reunite în doua multimi: multimea N = { N1, N2, …, Nn | n – numarul de noduri al grafului}ce contine toate nodurile grafului si multimea A = { ( Ni, Nj ) = Aij | Ni, Nj N si i,j = 1,n cu i j}care contine arcele dintre doua noduri vecine.

Graful este de mai multe tipuri, fiind clasificat în functie de :

- directia arcelor; în cazul în care arcele dintre nodurile grafului sunt nedirectionate atunci graful este unul neorientat; când exista sens între doua noduri Ni, Nj si arcul este directionat (Ni Nj sau Ni Nj sau NiNj) atunci graful este unul orientat;

- greutatea arcelor; daca oricare arc dintre doua noduri ale grafului are asociata o valoare numerica (care reprezinta de cele mai multe ori distanta, durata de timp sau costul), atunci graful este cu greutate; în cazul în care arcele nu au asociate valori numerice, graful este unul fara greutate;

- existenta arcelor; daca într-un graf nu exista nici un nod izolat, altfel spus pentru oricare nod Ni cu i = 1..n exista cel putin un nod Nj cu 1 j n si i j pentru care exista arcul Aij asociat, atunci graful este conectat; un graf este neconectat daca exista cel putin un nod izolat.

Exista numeroase metode de reprezentare în memoria calculatorului a grafului, fiecare cu avantajele si dezavantajele ei :

- matricea de adiacenta;

- liste înlantuite;

- un vector de pointeri la liste simple sau dublu înlantuite de noduri adiacente;

- o lista simplu sau dublu înlantuita de pointeri la liste simple sau dublu înlantuite de noduri adiacente;

- un vector de pointeri la liste simple sau dublu înlantuite de arce.

Dintre toate, cele mai utilizate metode sunt primele doua.

Reprezentare prin matricea de adiacenta:

Reprezentarea prin matrice de adiacenta a grafului este eficienta când se cunoaste numarul nodurilor si numarul mediu al arcelor; acesta din urma trebuie sa fie mare pentru ca gradul de umplere al matricei de adiacenta sa fie scazut.

Initial matricea de adiacenta are toate elementele egale cu valoarea 0. Pentru a reprezenta arcul Aij dintre nodurile Ni si Nj (orientat de la Ni la Nj) la intersectia liniei i cu coloana j se trece valoarea 1, în cazul grafului cu fara greutate, sau greutatea arcului, pentru graful cu greutate.

Lungimea drumului dintre doua noduri ale unui graf orientat fara greutate este data de numarul de arce.

Reprezentare prin liste inlantuite:

Se defineste structura arc care este asociata elementelor din multimea arcelor:

struct arc

{

struct nodgraf * destinatie; // adresa nodului catre care exista arc

struct arc* next_arc; // referinta catre elementul urmator din lista de arce

int greutate; //greutatea arcului

}

Este vorba de o lista a arcelor ce este construita dinamic. Structura este cea a unei liste oarecare, cuprinzând informatia propriu-zisa, greutatea arcului, precum si cea necesara înlantuirii în lista, adresa elementului urmator.

La crearea grafului se introduc initial informatiile nodurilor, creându-se astfel lista lor. Dupa aceasta se vor crea listele de arce introducându-se informatia nodului sursa, a nodului destinatie si greutatea arcului.

Preview document

Grafuri - Pagina 1
Grafuri - Pagina 2
Grafuri - Pagina 3
Grafuri - Pagina 4
Grafuri - Pagina 5

Conținut arhivă zip

  • Grafuri
    • ex1.cpp
    • ex2.cpp
    • ex3.cpp
    • Seminar_10.doc

Alții au mai descărcat și

Sistem Informatic privind Evidența Resurselor Umane la Întreprindere

INTRODUCERE În perioada de tranziţie la economia de piaţă o importanţă deosebită capătă automatizarea proceselor de prelucrare a informaţiei....

Catalog Virtual

I. JUSTIFICAREA TEMEI Odată cu extinderea atribuţiilor ce revin diriginţilor în ce priveşte urmărirea evoluţiei elevilor din clasa pe care o...

Proiect informatică - fișiere text

1.Fişiere 1.1.Noţiuni introductive Un fişier este o colecţie de date de acelaşi tip, memorate pe suport extern (hard-disc, dischetă, CD etc)....

Matrice

Matrice (tablou bidimensional) Matricea este un tip de data la care elementele sunt asezate pe linii si pe coloane. Un element se identifica...

Plan de măsuri TIC

Ministerul Comunicaţiilor şi Tehnologiei Informaţiei realizează politicile şi strategiile în domeniul comunicaţiilor şi tehnologiei informaţiei,...

Manual Grafuri

1. Preliminarii 1.1. Algoritmi Toti algoritmii descrisi în cadrul acestei lucrari folosesc structuri de date de tip graf. Unele descrieri sînt...

Baze de Date - Meniu în VFP

perspectiva contactului cu utilizatorul, punctul de plecare sau poarta către funcţionalitatea practică a unei aplicaţii, prin obiecte cum sunt...

Algoritmi și Programare

În anul 1642, matematicianul si fizicianul Blaise Pascal (1623-1662) a inventat prima masina mecanica, cu roCi dinCate, capabila sa realizeze...

Te-ar putea interesa și

Elemente de Teoria Grafurilor

INTRODUCERE IN TEORIA GRAFURILOR Exista situatii când oameni ce lucreaza în diverse domenii ajung la reprezentarea unor cazuri concrete prin...

Grafuri Neorientate - Euleriene

’’ Ideile, si daca sunt abstracte si daca nu, ca sa le poti manui, trebuie sa le ai. Calculatorul, ca sa-si faca treaba, trebuie sa inteleaga...

Grafuri Neorientate

GRAFURI NEORIENTATE NOTIUNI INTRODUCTIVE NOTIUNI DE BAZA DEFINITIE: Se numeste graf neorientat o pereche ordonata de multimi(X,U), X fiind o...

Grafuri Neorientate

Grafuri neorientate Definiţie. Se numeşte graf neorientat o pereche ordonată de mulţimi (X, U), X fiind o mulţime finită şi nevidă de elemente...

Grafuri Celebre

1. Introducere Numeroase situatii din viata cotidiana pot fi modelate cu ajutorul teoriei grafurilor. Teoria grafurilor este o importanta...

Manual Grafuri

1. Preliminarii 1.1. Algoritmi Toti algoritmii descrisi în cadrul acestei lucrari folosesc structuri de date de tip graf. Unele descrieri sînt...

Algoritmica grafurilor

Capitolul 1 INTRODUCERE Pentru noţiunile din acest paragraf am consultat Behzad, Chartrand, Foster, Croitoru, Olaru, Tomescu. Alte completări...

Ai nevoie de altceva?