C++ este un limbaj de programare ale cãrui utilizãri se întind pe mai multe domenii ale tehnicii şi are o aplicabilitate din ce în ce mai mare în tehnologii de maximã actualitate.
Ȋnvãţând tehnicile de programare veţi avea acces la cea mai importantã piaţã a muncii din industria IT.
Lucrarea aceasta cuprinde o vedere de ansamblu asupra tehnicilor de programare şi se adreseazã universităţilor cu profil tehnic şi inginerilor implicaţi în activitatea de programare.
Studiul lucrãrii de faţã necesitã cunoştinţe de bazã privind programarea calculatoarelor.
Pornind de la o apreciabilă experinţă didactică dar şi practică a autoarei, lucrare are ca scop îndrumarea studenţilor la orele de laborator, prezentând în acelaşi timp o serie de noţiuni teoretice.
Prin această lucrare îmi exprim speranţa că instrucţia studenţilor va beneficia de un plus de calitate, această carte dispunând de o colecţie cuprinzătoare de exemple şi studii de caz, venind în completarea noţinunilor teoretice prezentate.
Cuprins
CAPITOLUL 1. STRUCTURI DE DATE.
Conceptul de structură de date.
1.1. Structura de tip listă liniară.
Reprezentarea listelor în memorie.
1.1.1. Liste alocate secvenţial.
1.1.2. Liste alocate înlănţuit.
1.1.2.1. Liste simplu înlănţuite.
Structura unei liste simplu înlănţuite.
Operaţii care se pot realiza într-o listă simplu înlǎnţuită.
Probleme propuse – liste simplu înlănțuite.
1.1.2.2. Lista dublu înlãnţuitã.
Structura unei liste dublu înlănţuite.
Operaţii care se pot realiza în cadrul listelor dublu înlǎnţuite.
Probleme propuse – liste dublu înlănțuite.
1.1.2.3. Lista circularã.
A. Lista circularã simplu înlănţuită.
Structura unei liste circulare simplu înlănțuite.
Operaţii care se pot realiza într-o listă circulară simplu înlănţuită.
B. Lista circularã dublu înlănţuită.
Structura unei liste circulare dublu înlănțuite.
Operaţii care se pot realiza într-o listă circulară dublu înlănţuită.
Probleme propuse – lista circularã dublu înlănţuită.
1.2. Structura de tip coadă.
Unde poate fi utilizată structura de tip coadă?
Modul de declarare a unei cozi.
Implementarea statică a unei cozi printr-un vector
Implementarea dinamică a unei cozi printr-o listă simplu înlănţuită
Operaţii care se pot realiza într-o coadă.
Probleme propuse – coada.
1.3. Structura de tip stivă.
Unde poate fi utilizată structura de tip stivă?
Utilizarea stivei la apelul prin valoare.
Utilizarea stivei la apelul prin referinţă cu ajutorul pointerilor.
Modul de declarare a unei stive.
Implementarea statică a unei stive printr-un vector
Implementarea dinamică a unei stive printr-o listă simplu înlănţuită
Operaţii care se pot realiza într-o stivă.
Probleme propuse – stiva.
1.4. Grafuri.
1.4.1. Grafuri neorientate.
Probleme propuse - grafuri neorientate.
1.4.2. Grafuri orientate.
Probleme propuse - grafuri orientate.
1.5. Arbori.
1.5.1. Noţiunea de arbore.
1.5.2. Modalităţi de parcurgere a arborilor binari
1.5.3. Noţiunea de arbore parţial.
Capitolul 2. Algoritmi.
2.1. Metoda Divide et Impera (Metoda Divizãrii).
Sortarea prin interclasare (Merge Sort).
Problema turnurilor din Hanoi
Probleme propuse - Metoda Divide et Impera (Metoda Divizãrii).
2.2. Metoda Greedy (Metoda optimului local).
Greedy Euristic.
Plata unei sume într-un număr minim de bacnote.
Probleme propuse - Metoda Greedy.
2.3. Metoda Backtracking (Metoda cãutãrii cu revenire).
Problema labirintului.
Probleme propuse - Metoda Backtracking.
Bibliografie.