# Efficient Algorithms (MAE748)

### General

School School of Science Department of Mathematics Undergraduate MAE748 7 Efficient Algorithms Lectures (Weekly Teaching Hours: 3, Credits: 6) Special Background - Greek Yes See eCourse, the Learning Management System maintained by the University of Ioannina.

### Learning Outcomes

Learning outcomes The course is introducing advanced algorithmic concepts and techniques. Several optimization problems are examined and solved using algorithmic techniques. Upon a successful completion of the course, the student will be able to: apply advanced algorithmic techniques and methods to solve advanced optimization problems, understand and apply advanced algorithmic analysis methods to study the efficiency of algorithms, analyze and compare the effectiveness of different algorithmic methods, combine advanced algorithmic techniques to solve new problems. Search for, analysis and synthesis of data and information, with the use of the necessary technology Adapting to new situations Criticism and self-criticism Production of free, creative and inductive thinking

### Syllabus

Basics: Algorithm analysis (correctness, time and space complexity), asymptotic analysis (worst and average care), recursive algorithms (Strassen’s algorithm for the matrix multiplication problem), lower bounds (comparison-based sorting, the convex-hull problem). Amortized analysis: The accounting, aggregate and potential methods. Minimum spanning trees: The greedy algorithms by Tarjan, Prin and Kruskal. Minimum cuts: The algorithm by Stoer and Wagner. Maximum flows: Basis terminology (flow network, augmenting path, residual network) the max-flow min-cut theorem, the algorithms by Ford και Fulkerson, Edmonds και Karp, and Dinitz. Planar graphs: Basic terns, Euler’s formula, Kurantowski Theorem, the 5-color theorem, drawings of planar graphs: the algorithm by de Fraysseix, Pach and Pollack, the crossing Lemma. Approximation algorithms: simple algorithms of constant approximation factor, Christofides’ algorithm for the traveling salesman problem, approximation schemes for knapsack and bin packing. Randomized algorithms: simple randomized algorithms for verifying polynomial identities and 2-SAT, random walks.

### Teaching and Learning Methods - Evaluation

Delivery

Face to face

Use of Information and Communications Technology Yes
Teaching Methods