Sunday, November 5, 2017

Structuri de date

Disciplina Structuri de date se găsește în străinătate la alte universități sub denumirea Data Structures sau Structures de données. Ideia de bază a fost că la formularea programei analitice am procedat astfel:
- menținerea unei denumiri unanim recunoscute;
- includerea de cursuri care se regăseau la mari universități;
- existența unei corespondențe cu cărți celebre;
- preluarea unul vocabular format din cuvinte cheie consacrate.
Am avut la bază lucrările lui KNUTH și WIRTH dar și multe altele. Pe Dâmbovița se impune ca tot profesorul care ține un curs să-și scrie cartea lui, ceea ce mi se pare un pic vulgar, din moment ce pe la case mult mai amri se alege o carte de succes din domeniu și se predă după ea, fără ca profesorului care o folosește să-i cadă cumva blazonul. La noi niecare face cartea lui, chiar dacă ceea ce face nu este de top. Când am anunțat la un curs că voi preda după o anumită carte referită prin: Aaron M. TENENBAUM, Yedidyah LANGSAM, Moshe J. AUGENSTEIN - Data Structure Using C,Prentice-Hall Englewood Cliffs, New Jersey, 1990, 661 pg.,ISBN 0-13-0200411-9, am fost tras de urechi de către colegi, că trebuie să am cursul meu. Eu scrisesem împreună cu Romică ADAM și curs și culegere de probleme, dar mi se părea necesară o aliniere la ceea ce face lumea bună, inclusiv vecinii noștri bulgari. Adică să predăm după lucrări celebre care săp facă ușoară echivalarea de studii pentru absolvenții care pleacă să lucreze în alte țări. În vogă mai era cartea deosebită referită prin: Robert KRUSE - Data Structures and Program Design, Prentice Hall Inc, Englewood Cliffs, N.J., 1994,
485pg, ISBN 0-13-196253-1.
Un curs de structuri de date care se respectă are în el capitole despre:
- tipuri abstracte de date;
- masive;
- articole;
- fișiere;
- liste simple;
- liste duble;
- stvă;
- coadă;
- arbori binari;
- arbori B;
- grafuri;
- obiecte.
Am pornit în 1990 la structurarea disciplinei folosind cartea Niklaus WIRTH -Alorithms + Data Structures = Programs, Prentice-Hall Englewood Cliffs, New Jersey, 1976, 366 pg.,ISBN 0-13-022418-9 dar și volumul 1 din Tratatul de programare a calculatoarelor al lui D.E. KNUTH, apărut în Editura tehnică.
 N-am uitat că prietenul și colegul meu Valer ROȘCA inclusese în lucrarea INFORMATICA, publicată în 1987 în Editura științifică și enciclopedică din București,  a cărei coordonare o asigurase conferențiarul Gh. DODESCU, un capitol de structuri de date.
 Nu am găsit necesar să includ sortarea acolo, căci mi se parte ca aceasta să fie tratată la grămadă cu operațiile de creare, numărare, inserare, ștergere, traversare, conversie, agregare, interschimb, restructurare, dar și cu alte operații, atât realizate ca proceduri clasice, cât și ca proceduri recursive căci sunt ceva mai  drăgălașe.. Am agreat realizarea structurilor de date folosind alocări dinamice, fiind enervat de așa-zisele simulări folosind vectori în memorie. Mi s-a părut interesantă definirea unor metrici din care să rezulte care sunt momentele când este rezonabil să se folosească o anumită structură de date și nu alta.
A, admirat lucrarea referită prin Saumyendra SENGUPTA, Carl Philip KOROBKIN - C++ Object-Oriented data Structured,Springer Verlag, Berlin, 1994, 708 pg.,ISBN 0-387-94194-0, mai ales că avea programe complete și un CD, iar bibliotecile de funcții erau perfecte.
Am scris împreună cu un colectiv de peste 20 de cadre didactice la mai toate universitățile de la noi și din R: Moldova o carte de structuri de date în două volume referită prin:
Ion IVAN, Marius POPA, Paul POCATILU - Structuri de date, Vol. 1, Editura ASE, Bucuresti, 2008, 768 pg., ISBN 978-606-505-032-7. 
Ion IVAN, Marius POPA, Paul POCATILU - Structuri de date, Vol. 2, Editura ASE, Bucuresti, 2008, 532 pg., ISBN 978-606-505-033-4
care a fost recompensată cu premiul Tudor TĂNĂSESCU al Academiei Române pe anul 2008.
Un impact major l-a avut lucrarea de la editura TEORA realizată de un grup de profesori din Universitatea Politehnica și referită prin: Valentin CRISTEA, Irina ATHANASIU, Eugenia KALISZ, Valeriu IORGA - Tehnici de programare, Editura TEORA, Bucuresti, 1997, 169 pg, ISBN 973-601-072-4. Procedurile incluse în paginile acestei cărți sunt de o frumusețe clasică, dusă la perfecțiune. Este deosebit de important pentru toți programatorii să gestioneze corect structurile de date căci între un program foarte bun și unui bun, acum când toate aplicațiile sunt de tip online, diferența este imensă, fiind preferat programul foarte bun, bazat pe o alegere a unei structuri de date eficiente, care face ca durata tranzacției să fie minimă, lucru agreat de fiecare utilizator, adică de fiecare client.



(05 noiembrie 2017)

No comments:

Post a Comment