# Algoritmica Grafurilor

(8/10 din 9 voturi)

Acest laborator prezinta Algoritmica Grafurilor.
Mai jos poate fi vizualizat cuprinsul si un extras din document (aprox. 2 pagini).

Arhiva contine 1 fisier doc de 30 de pagini .

Iti recomandam sa te uiti bine pe extras, cuprins si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, il poti descarca.

Domenii: Limbaje de Programare, Calculatoare

## Cuprins

1. LABORATOR 1 2
1.1. CREAREA UNUI ARBORE BINAR SI PARCURGEREA SA PRIN CELE 3 FORME: RSD, SRD,SDR 2
2. LABORATOR 2 4
2.1. CITIREA UNUI GRAF 4
2.2. OBTINEREA DINTR-UN GRAF A UNUI ALT GRAF PRIN CONTRACTIE. 4
3. LABORATOR 3 6
3.1. AVAND DAT UN GRAF,DETERMINATI UN SUBGRAF AL SAU. 6
3.2. AVAND DAT UN GRAF,DETERMINATI UN GRAF PARTIAL AL SAU. 6
3.3. DETERMINATI VECINII UNUI VARF AL UNUI GRAF. 8
3.5. DETERMINATI W+(A)-MULTIMEA ARCELOR INCIDENTE CU A CATRE EXTERIOR, W- (A)-MULTIMEA ARCELOR INCIDENTE CU A CATRE INTERIOR SI VECINII LUI A, UNDE A ESTE O SUBMULTIME DE VARFURI ALE GRAFULUI. 10
3.6. VERIFICATI DACA UN GRAF ESTE SIMETRIC/ANTISIMETRIC. 11
4. LABORATOR 4 12
4.1. DETERMINATI DACA DOUA GRAFURI SUNT IZOMORFE. 12
5. LABORATOR 5 14
5.1. ALGORITMUL ROY-WARSHALL. 14
5.2. ALGORITMUL ROY-FLOYD 14
5.3. ALGORITMUL LUI DIJKSTRA 16
6. LABORATOR 6 18
6.1. ALGORITMUL BELLMAN-FORD 18
6.2. ALGORITMUL LUI PRIM 19
6.3. ALGORITMUL LUI KRUSKAL 20
7. LABORATOR 7 24
7.1. COLORARAREA SECVENTIALA A UNUI GRAF 24
7.2. COLORAREA SECVENTIALA(ALGORITMUL LARGER FIRST) 25
8. LABORATOR 8 28
8.1. ALGORITMUL FORD-FULKERSON 28

## Extras din document

# include <stdio.h>

# include <conio.h>

# include <alloc.h>

# include <ctype.h>

typedef struct arbore

{

int inf;

struct arbore *st,*dr;

}arbore;

arbore *creare(void)

{

arbore *aux;

char ch;

printf("n e nod NULL?[d/n]");

ch=getche();

ch=toupper(ch);

if (ch=='N')

{

aux=(arbore *)malloc(sizeof(arbore));

printf("n informatia=");

scanf("%d",&aux->inf);

printf("n urmeaza succesorul stang al nodului cu informatia %d",aux->inf);

aux->st=creare();

printf("n urmeaza succesorul drept al nodului cu informatia %d",aux->inf);

aux->dr=creare();

return aux;

}

else return NULL;

}

void RSD(arbore *a)

{

if (a!=NULL)

{

printf("%d ",a->inf);

RSD(a->st);

RSD(a->dr);

}

}

void SRD(arbore *a)

{

if(a!=NULL)

{

SRD(a->st);

printf("%d ",a->inf);

SRD(a->dr);

}

}

void SDR(arbore *a)

{

if (a!=NULL)

{

SDR(a->st);

SDR(a->dr);

printf("%d ",a->inf);

}

}

void main(void)

{

clrscr();

arbore *a;

a=creare();

printf("n parcurgerea RSD este ");

RSD(a);

printf("n parcurgerea SRD este ");

SRD(a);

printf("n parcurgerea SDR este ");

SDR(a);

getch();

}

## Fisiere in arhiva (1):

• Algoritmica Grafurilor.doc