Course Instructors: Alexandru Olteanu (ICA), Irina Mocanu (ICB), Serban Radu (ICC).
The course aims to specify and use abstract data types (ADT); implement Abstract Data Types using standard data structures; present fundamental Abstract Data Types (such lists, stacks, queues, trees, graphs), their implementation and associated algorithms; justify the choice of most appropriate data types for a given application; present data structures providing an efficient search, insertion and deletion in internal memory; present analysis tools of algorithms complexity: running time, asymptotic notations, etc; accustom students with recursive algorithms using recursive data structures (lists, trees); find correct, efficient and elegant solutions to solve problems; implement quick algorithms for searching and sorting using heaps, hash tables, etc. On completion of the course, the student should be able to: develop creatively applications using fundamental ADT; project and implement new data types, using existing data types; write correct, efficient, modular programs solving complex applications, using an imperative programming language; analyse adopted implementation solution.
Syllabus: