Studies

Courses

641 - Introduction to the Theory and Analysis of Algorithms

This course focuses on the basic tools and techniques for designing and analyzing algorithms with an emphasis on speed efficiency. Subjects covered include the following: complexity of algorithms, asymptotic complexity, techniques for algorithm design (divide and conquer, dynamic programming, greedy algorithms backtracking, recursion, solution space exploration etc.), searching and sorting, selection problems, lower bounds to problems, graph algorithms, arithmetic of integers, algorithms for matrix multiplication, complexity classes (emphasis on P and NP). There is also a laboratory class in which exercises are solved with the participation of students.

Wep Page (In Greek): http://www.cs.uoi.gr/~charis/algo641

Teachers