Cuprins
MOTIVAŢIA LUCRARII 4
CAPITOLUL I
Concepţia structurii de grafuri 5
1.1 Noţiuni generale 5
1.2 Noţiunea de graf 5
1.2.1 Definiţia grafului neorientat şi orientat 6
1.2.2 Moduri de reprezentare ale unui graf 6
1.3 Noţiuni de baza în teoria grafurilor 8
1.3.1 Proprietăţi 8
1.3.2 Ordinul unui graf 9
1.3.3 Gradul unui nod dintr-un graf 10
1.3.4 Drumuri şi cicluri într-un graf 11
1.3.5 Conexiuni într-un graf 13
CAPITOLUL II
Concepţia structurii de arbore 16
2.1 Noţiuni generale 16
2.1.1 Noţiunea de arbore, proprietăţi 16
2.1.2 Arbori cu rădăcină 20
2.2 Arbori binari 23
2.2.1 Definiţie 24
2.2.2 Proprietăţile unui arbore binar 25
CAPITOLUL III
Algoritmul şi reprezentarea unui graf în limbajul java 26
3.1 Probleme de drumuri minime intr-un graf 26
3.1.1 Întroducere 27
3.1.2 Algoritmul lui Dijkstra 27
3.2 Structuri de date utilizate în reprezentarea grafurilor 30
3.2.1 Matricea de adiacenţă 30
3.2.2 Liste de adiacenţă (vecinilor) 31
3.3 Adăugarea vârfurilor şi a muchiilor într-un graf 32
3.4 Reprezentarea stivelor şi cozilor în limbajul java 34
3.4.1 Stiva 34
3.4.2 Coada 36
3.5 Algoritmul Depth-First Search (DFS) –parcurgerea în adâncime 42
3.6 Algoritmul Breadth-First Search (BFS) – parcurgerea în lăţime 48
3.7 Algoritmul de căutare a unui arbore de acoperire de lungime minimă 52
3.7.1 Reprezentarea algoritmului 52
3.7.2 Întroducerea datelor de la tastatură.Importarea claselor 55
CAPITLUL IV
Interfeţe grafice. Reprezentarea aplicaţiei în limbajul java 57
4.1 Interfeţe grafice 58
4.1.1. Componente grafice 58
4.1.2. Peer 60
4.1.3 Afişarea componentelor 61
4.1.4 Organizarea componentelor 61
4.2 Pachete AWT şi SWING 63
4.2.1 Noţiuni generale 63
4.2.2 Ferestre 64
4.3 Elemente de control (widgets) 65
4.3.1 Butoane 65
4.3.1.1 RadioButton 66
4.3.1.2 ListBox 66
4.4 REPREZENTAREA APLICAŢIEI 67
CONCLUZII 74
BIBLIOGRAFIE 75
Extras din document
Motivaţia lucrării
Structurile de date reprezintă modalitatea în care datele sunt dispuse în memoria calculatorului(sau păstrate pe disc).
Algoritmul reprezinta procedura pe care programele le efectuiaza pentru a manipula datele din aceste structuri.
Lucrarea trateaza subiectul structurilor de date şi al algoritmilor utilizaţi în programarea la calculator.În lucrare, voi trece în revistă, principalele structuri de date despre care vor fi analizate.
Printre alte structuri de date, se găsesc şi liste înlănţuite , arbori binari.Algoritmii pot manipula datele din aceste structuri în mai multe moduri, căutând un anumit element sau sortând datele.
Activitatea programului devine odata cu eliminările restricţiilor impuse de sistemele de calcul o activitate de alocare si nivelare a resurselor software.Dintr-o multitudine de limbaje, medii de programare si biblioteci de programe trebuie alese si asamblate acele componente care conduc la produse program performante. Pentru efectuarea unei alegeri corespunzatoare, resursele trebuie cunoscute în cele mai mici detalii.
Într-un context mai larg, structurile de date se constituie ca resurse la dispoziţia programatorilor, care prin diversitate influenţeaza hotarâtor calitatea programelor. Diferenţa dintr-o aplicţie care este conceputa pentru a nu utiliza fişiere şi aceeasi aplicaţie care utilizeaza fişiere se reflecta la nivelul costurilor prin câştig sau pierdere, dupa cum soluţia aleasă este sau nu adecvată.
Rezolvarea unei probleme începe cu definirea structurilor de date, continua cu utilizarea acestora si se încheie cu stocarea rezultatelor prelucrării, tot sub forma unor structuri de date.Studierea structurilor de date revine la clasificarea datelor, a operaţiilor posibile cu fiecare tip de date, în aşa fel încât realizarea si dezvoltarea programelor să devina avantajoasă atât pentru programator cât şi pentru utilizator. Există două modalitati distincte de a analiza structurile de date: abordarea logică, filozofia de realizare, formalizare si de transformare si construirea efectiva a structurilor utilizând resursa memorie calculator împreuna cu algoritmii de încărcare si de adresare.
Dezvoltările teoretice au menirea de a oferi modele pentru fiecare structură de date si pentru a permite considerarea unora mai simple dintre ele drept cazuri particulare ale altor structuri. Generalizările conduc la includerea însăşi a programului în categoria structurilor de date.
Capitolul 1 – Concepţia structurii de grafuri
1.1. Noţiuni generale
În general, pentru situaţiile care necesită la rezolvare un oarecare efort mintal, se caută, în primul rând, o metodă de reprezentare a lor care să permită receptarea întregii probleme dintr-o privire şi prin care să se evidenţieze cât mai clar toate aspectele acesteia.
În acest scop se folosesc imagini grafice gen diagrame, schiţe, grafice etc. O reprezentare dintre cele mai utilizate este cea prin grafuri. Acestea sunt utilizate în special pentru vizualizarea sistemelor şi situaţiilor complexe. În general, vom reprezenta componentele acestora prin puncte în plan iar relaţiile (legăturile, dependenţele, influenţele etc.) dintre componente prin arce de curbă cu extremităţile în punctele corespunzătoare. Între două puncte pot exista unul sau mai multe segmente (în funcţie de câte relaţii dintre acestea, care ne interesează, există),iar segmentelor li se pot asocia sau nu orientări (după cum se influenţează cele două componente între ele), numere care să exprime intensitatea relaţiilor dintre componente etc.
Preview document
Conținut arhivă zip
- Structuri de Date in Limbajul Java.doc
- Structuri de Date in Limbajul Java.ppt