Obiectivele disciplinei "Structuri de date, algoritmi si tehnici de programare"
Avand in vedere ca, in abordarea procedurala a programarii, este valabila
relatia
Program = Date + Algoritm
scopul acestei discipline este cunoasterea aprofundata a principalelor
tipuri si structuri de date folosite in programare si algoritmilor de larga
utilizare folositi pentru aceste structuri, precum si a unor tehnici generale
de elaborare a algoritmilor. Aceasta conceptie ramane valabila si in programarea
orientata pe obiecte, in care clasa este o generalizare a conceptului de
tip de date, iar metoda este un program in abordare procedurala (o functie
sau o procedura). De fapt, la elaborarea programului pentru rezolvarea
unei probleme cu ajutorul calculatorului, este necesar intotdeauna sa se
stabileasca datele si structurile de date specifice domeniului problemei
respective si algoritmul folosit la rezolvarea acesteia.
Marii diversitati a aplicatiilor calculatoarelor ii corespunde, desigur,
o mare diversitate de structuri de date si de algoritmi utilizati. Cu toate
acestea, se pot indica unele familii de structuri de date si de algoritmi
specifici de tratare a acestora care au aplicabilitate foarte larga, insusirea
lor fiind una din componentele de baza a pregatirii oricarui programator.
In consecinta, in acest semestru vom urmari realizarea urmatoarelor
obiective:
-
insusirea unor concepte fundamentale necesare in programare, cum sunt cele
de structura de date, comlexitate a algoritmilor si recursivitate;
-
aprofundarea conceptului de tablou si studierea principalilor algoritmi
folositi in lucrul cu tablouri;
-
studierea structurilor de date liniare (lista, stiva, coada, tabela de
dispersie) si a algoritmilor generali de efectuare a principalelor operatii
asupra acestor structuri;
-
studierea structurilor de arbore si a algoritmilor generali de tratare
a acestora;
-
o introducere in studierea grafurilor si a unor algoritmi larg utilizati
pentru tratarea grafurilor;
-
insusirea unor tehnici generale de elaborare a algoritmilor, a caror cunoastere
este utila in rezolvarea pe calculator a unor probleme diverse.
Desi cunostintele care fac obiectul acestei discipline de studiu nu sunt
specifice unui anumit limbaj de programare, aplicatiile din acest curs
vor fi facute in limbajul Java. Aceasta va permite:
-
aprofundarea cunoasterii limbajului Java si a programarii orientate pe
obiecte;
-
cunoasterea interfetelor si claselor Java corespunzatoare principalelor
structuri de date studiate si insusirea utilizarii acestora in elaborarea
aplicatiilor.
Ne vom convinge ca utilizarea claselor de colectii din pachetul Java.util
poate constitui un important mijloc de usurare a efortului de programare
necesar la dezvoltarea diverselor aplicatii in care se folosesc structurile
de date si algoritmii studiati in acest curs.
© Copyright 2001 - Severin
BUMBARU, Universitatea "Dunarea de Jos" din Galati