CE 302 – Data structures
CE 302 – Data structures; Weekly hours: 2+1, ECTS: 6
The purpose of this course is to introduce the students to the potential and the power of data structure concept, an issue central to the art of computer programming. The course is structured around a set of computer assignments providing hands-on experience. Our programming language of choice will be C++, although certain Java additions and concepts are also used. In particular, the emphasis of this course is on the organization of information, the implementation of common data structures such as arrays, lists, stacks, queues, trees, sets, heaps and graphs, and techniques of data abstraction, including encapsulation and inheritance. We will also explore recursion and the close relationship between data structures and algorithms Introduction to data structures and algorithms; Basics of object-oriented programming; Arrays, link lists, sorted and unsorted lists; Interfaces, algorithm analysis; Stacks and queues; Linked structures; Circular lists; Doubly linked lists; Recursion; Trees; Binary search trees; Priority queues and heaps; Graphs and sets; Maps, Sets and hash tables; Sorting and searching algorithms.