Documente Academic
Documente Profesional
Documente Cultură
LUCRARE INDIVIDUALĂ
Nr.1
LA DISCIPLINA :
“Utilizarea tehnicilor de programare”
Grupa: W-1732
Elevul:
Strişca Veaceslav
Profesor:
Troian Veaceslav
Chişinău 2019
Cuprins :
Nr Continut Pagina
1. Cuprins 2
2. Arbori (Teorie) 3
3. Sarcina 5
4. Programul 6
5. Date intrare/iesire 7
6. Concluzie 8
7. Bibliografie 8
2
Arbori
Arborii sunt un caz particular al grafurilor. Acestia sunt compusi dintr-o serie de noduri
interconectate in care se gasesc informatii.
Definitie: Arborele este un graf neorientat conex fără cicluri în care unul din noduri este
desemnat ca rădăcină. Nodurile pot fi aşezate pe niveluri începând cu rădăcina care este
plasată pe nivelul 1.
Radacina unui arbore este un nod special care ajuta la delimitarea arborelui pe nivele. Acest nod
se afla pe cel mai inalt nivel din arbore.
Astfel, arborele devine mai usor de parcurs, deoarece plasarea nodurilor pe nivele duce la o
structurare mai eficienta a informatiilor. De asemenea, algoritmii ce folosesc arbori sunt foarte
usor de implementat recursiv, caci la fiecare pas, putem separa arborele in mai multi arbori mai
mici.
Exemplu de arbore:
In arborele de mai sus, putem privi nodul B ca radacina, a unui nou arbore, mai mic (sub-arbore).
In continuare vom prezenta cateva notiuni utile in intelegerea arborilor. Vom folosi ca exemplu
arborele de mai sus cu radacina F.
3
Un nod A este descendent al unui alt nod B, daca este situat pe un nivel mai mare decât B şi
există un lanţ care le uneşte şi nu trece prin rădăcină.Mai multe despre lanturi gasiti aici.
Exemplu: In arborele de mai sus E este descendentul lui B, si al lui A.
Un nod A este fiu/descendent direct al unui alt nod B, daca este situat pe nivelul imediat
urmator nodului B si exista muchie intre A si B.
Exemplu: In arborele de mai sus B si G sunt fii lui F(nodul radacina), A e fiul lui B, H e fiul lui I
etc.
Un nod A este ascendent al unui alt nod B, daca este situat pe un nivel mai mic decat B si exista
lant care le uneste si nu trece prin radacina.
Exemplu : In arborele de mai sus G este ascendentul lui H,B este ascendentul lui C.
Un nod A este parinte al unui alt nod B, daca este situat pe nivelui imediat superior nodului B si
exista muchie intre A si B.
Exemplu: In arborele de mai sus F este parintele lui B,D este parintele lui E, I este parintele lui H
etc.
Un nod este frunza daca nu are niciun fiu, adica se afla pe ultimul nivel.
Exemplu : In arborele nostru frunzele sunt C,E si H.
4
Sarcina :
Exemplu:
firma.in
8 (numarul de angajati)
4 3 0 3 2 1 2 1 (vectorul tata)
2 6 4 3 7 3 1 5 (salariul fiecarui angajat)
firma.out
14
5
Programul :
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("firma.in");
ofstream fout("firma.out");
6
Date intrare/iesire :
7
Concluzie:
In lucrarea individuală respectiva am descris una din metodele de optimizare combinatoriala,
ARBORII. Parcurgerea, structura, definitii, etc. Ulterior am elaborat un program ce ruleaza pe
baza de arbori binari. Pentru crearea programului am avut nevoie de cunostinte de baza in
programare, precum cunostinta limbajului C++, si structurii de grafuri (arborii). Nu a fost o
problema dificila, totusi a necesitat putina atentie sit imp.
Bibliografie:
https://invata.info/2017/04/02/arbori-c/