Algorithms

Basic concepts: algorithms, computational models, computability, complexity. Analysis of algorithms: recurrence, asymptotic growth of functions. Ordering: lower bounds, optimal algorithms, heaps, priority queues. Graph algorithms: breadth and depth, connectivity, connected components, spanning trees. Algorithms in mathematics: polynomials, Fast Fourier Transform, modular arithmetic,  primality tests, RSA encryption. Geometric algorithms: convex hull, locating of points, intersection of segments, closest pair, minimal enclosing circle,  triangulation of polygons, triangulation of points. NP-complete problems.

Reference:
THOMAS H. CORMEN, CHARLES E. LEISERSON, RONALD L. – Introduction to Algorithms, Third Edition. Rivest and Clifford Stein MIT Press, 2009 ISBN-10: 0-262-03384-4 ISBN-13: 978-0-262-03384-8.

 

* Standard program. The teacher has the autonomy to make any changes.