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.4. DETERMINATI GRADELE VARFURILOR UNUI GRAF,GRADUL MINIM SI GRADUL MAXIM. 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 laborator
# 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();
}
Preview document
Conținut arhivă zip
- Algoritmica Grafurilor.doc