Algorithms


The aim of this course is to familiarize the students with basic principles related to the design and analysis of algorithms. At first, basic concepts related to the course are presented which are then followed by an introduction to a set of basic design techniques. The remainder of the course focuses on issues related to space and time trade-offs, dynamic programming, greedy algorithms and iterative improvement. Finally, the course discusses algorithmic power limitations and methods to overcome them. Additionally, this course investigates a big variety of sorting, search, graph, string matching, combinatorial, geometrical and numerical problems.


Objectives

Not available


Prerequisites

Training on methodologies for algorithm design, familiarization with the main problem solving strategies and understanding of their core features and of basic features of algorithms’ analysis. Acquisition (a) of skills in applying algorithms to known types of problems, in designing algorithms and in solving new problems, and (b) of basic algorithm analysis knowledge.


Syllabus

Introduction Analysis of Algorithms Brute Force Divide and Conquer Decrease and Conquer Transform and Conquer Space and Time Trade-off in Algorithms Dynamic Programming Greedy Algorithms Iterative Improvement Limitations of Algorithm Power Coping with the Limitations of Algorithm Power

COURSE DETAILS

Level:

Type:

Undergraduate

(A-)


Instructors: Yannis Manolopoulos
Department: School of Informatics
Institution: Aristotle University of Thessaloniki
Subject: Computer Science, Information Technology, Telecommunications
Rights: CC - Attribution-NonCommercial-ShareAlike

Visit Course Page

SHARE THIS COURSE
RELATED COURSES