Obiectivele disciplinei "Structuri de date, algoritmi și tehnici de
programare"
Având în vedere că, în abordarea procedurală a programării, este
valabilă relația
Program = Date + Algoritm
scopul acestei discipline este cunoașterea aprofundată a
principalelor tipuri și structuri de date folosite în programare și
algoritmilor de largă utilizare folosiți pentru aceste structuri,
precum și a unor tehnici generale de elaborare a algoritmilor. Această
concepție rămâne valabilă și în programarea orientată pe obiecte, în
care clasa este o generalizare a conceptului de tip de date, iar metoda
este un program în abordare procedurală (o funcție sau o procedură). De
fapt, la elaborarea programului pentru rezolvarea unei probleme cu
ajutorul calculatorului, este necesar întotdeauna să se stabilească
datele și structurile de date specifice domeniului problemei respective
și algoritmul folosit la rezolvarea acesteia.
Marii diversități a aplicațiilor calculatoarelor îi corespunde,
desigur, o mare diversitate de structuri de date și de algoritmi
utilizați. Cu toate acestea, se pot indica unele familii de structuri
de date și de algoritmi specifici de tratare a acestora care au
aplicabilitate foarte largă, însușirea lor fiind una din componentele
de bază ale pregatirii oricărui programator.
În consecință, în cadrul acestei discipline vom urmări realizarea
urmatoarelor obiective:
- însușirea unor concepte fundamentale necesare în programare, cum
sunt cele de structură de date, complexitate a algoritmilor și
recursivitate;
- aprofundarea conceptului de tablou și studierea principalilor
algoritmi folosiți in lucrul cu tablouri;
- studierea structurilor de date liniare (lista, stiva, coada,
tabela de dispersie) și a algoritmilor generali de efectuare a
principalelor operații asupra acestor structuri;
- studierea structurilor de arbore și a algoritmilor generali de
tratare a acestora;
- o introducere in studierea grafurilor și a unor algoritmi larg
utilizați pentru tratarea grafurilor;
- însușirea unor tehnici generale de elaborare a algoritmilor, a
căror cunoaștere este utilă in rezolvarea pe calculator a unor probleme
diverse.
Deși cunostințele care fac obiectul acestei discipline de studiu nu
sunt specifice unui anumit limbaj de programare, aplicațiile din acest
curs vor fi făcute in limbajul Java. Aceasta va permite:
- aprofundarea cunoașterii limbajului Java și a programării
orientate pe obiecte;
- cunoașterea interfețelor și claselor Java corespunzătoare
principalelor structuri de date studiate și însușirea utilizării
acestora în elaborarea aplicațiilor.
Ne vom convinge că utilizarea claselor de colecții din pachetul java.util
poate constitui un important mijloc de ușurare a efortului de programare
necesar la dezvoltarea diverselor aplicații în care se folosesc
structurile de date și algoritmii studiați în acest curs.
© Copyright 2001 - Severin
BUMBARU, Universitatea "Dunărea de Jos" din Galați
