Semester:
2nd
Course Type:
Compulsory courses (YM)
Track:
-
Code:
Κ08
ECTS:
7
TEACHING HOURS per week
Theory:
3
Seminar:
1
Laboratory:
1
Specializations
Foundations of Computer Science (S1):
-
Data and Knowledge Management (S2):
-
Software (S3):
-
Hardware and Architecture (S4):
-
Communications and Networking (S5):
-
Signal and Information Processing (S6):
-
Related Courses
Detailed Description
Course Content
Basic programming knowledge using the C language (pointers, structures, linked data representations). Recursion. Modularity and data abstraction. Stacks. Queues. Algorithm analysis. Lists and strings. Trees and expression trees. Heaps. Binary search trees. AVL trees. M-way trees. 2-3 trees. 2-3-4 trees. B-trees. Red black trees. Hashing. Disjoint sets. Graphs and graph algorithms. Sorting.
LITERATURE AND STUDY MATERIALS - READING LIST
● Thomas A. Standish: Data Structures, Algorithms and Software Principles in C, Addison-Wesley. 1995.
● Robert Sedgewick: Algorithms in C
● Michael T. Goodrich, Roberto Tamassia: Data Structures and Algorithms in JAVA
● Slides from lectures
● Relevant material from the Web page of the course