Documente Academic
Documente Profesional
Documente Cultură
RAPORT
despre lucrarea de laborator nr. 5
la Programarea Calculatoarelor
Tema: Analiza prelucrarii structurilor de date arboriscente
CHIȘINĂU
2018
Scopul lucrării:
Insusirea materialului teoretic pentru prelucrarea structurilor de date cu arbori.
Analiza modurilor de prelucrarea a structurilor de date arboriscente.
Studierea modurilor de parcurgere ale arborilor.
Sarcina lucrării:
De efectuat un program care sa creeze un arbore binar si sa-l parcurga in toate cele 3
moduri studiate.
Mersul lucrării:
NOȚIUNI GENERALE
Parcurgerea in PREORDINE:
Se viziteaza radacina – subarborele stang – subarborele drept.
Parcurgerea in INORDINE:
Se viziteaza subarborele stang – radacina – subarborele drept.
Parcurgerea in POSTORDINE:
Se viziteaza subarborele stang – subarborele drept – radacina.
Textul programului:
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
struct nod
{
int rad;
struct nod *st, *dr;
};
struct nod* r;
void inordine(struct nod* c)
{
if(c)
{
inordine(c->st);
printf(" %d",c->rad);
inordine(c->dr);
}
}
void preordine(struct nod* c)
{
if(c)
{
printf(" %d",c->rad);
preordine(c->st);
preordine(c->dr);
}
}
if(nr)
{
c->rad=nr;
c->st=citire("st",nr);
c->dr=citire("dr",nr);
return c;
}
else return 0;
}
void main()
{
r=citire("rd",0);
printf("\nparcurgere in INORDINE:\n");
inordine(r);
printf("\nparcurgere in PREORDINE:\n");
preordine(r);
printf("\nparcurgere in POSTORDINE:\n");
postordine(r);
getch();
printf("\n\nSfarsit.\n");
}
Schema-bloc:
Start
r=citire("rd",0);
parcurgere in INORDINE:
inordine(r);
parcurgere in PREORDINE:
preordine(r);
parcurgere in POSTORDINE:
postordine(r);
getch();
Sfarsit.
Sfarsit
start
inordine(struct nod* c)
DA c!=0 NU
inordine(c->st);
c->rad
inordine(c->dr);
Sfarsit
Organigrama:
2 3
4 5 NULL 6
NULL
Screen-shots:
Concluzie:
In urma efectuarii lucrarii date, am acumulat experienta in domeniul prelucrarii
structurilor arboriscente. Aici am utilizat functiile recursive, deoarece este foarte comod de a
parcurge toate varfurile cu ajutorul lor. Este important de mentionat ca proiectarea algoritmilor
cu functii recursive necesita o atentie sporita si o experienta in domeniu.
Am reusit sa ma familiarizez cu structura de date e tip liste, ceea ce reprezinta o
experienta nepretuita. Sunt convins ca acestea ma vor ajuta in continuare la elaborarea
eficienta a algoritmilor de calcul.
Arborii binari au un potential extrem de mare, insa cel mai important este de a
cunoaste modul lor de functionare si domeniul de aplicare.