Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2024/2025

Advanced algorithms

The course is not on the list Without time-table
Code Completion Credits Range Language
AE4M33PAL Z,ZK 6 2P+2C English
Relations:
During a review of study plans, the course A4M33PAL can be substituted for the course AE4M33PAL.
It is not possible to register for the course AE4M33PAL if the student is concurrently registered for or has already completed the course A4M33PAL (mutually exclusive courses).
It is not possible to register for the course AE4M33PAL if the student is concurrently registered for or has already completed the course B4M33PAL (mutually exclusive courses).
It is not possible to register for the course AE4M33PAL if the student is concurrently registered for or has previously completed the course A4M33PAL (mutually exclusive courses).
It is not possible to register for the course AE4M33PAL if the student is concurrently registered for or has previously completed the course B4M33PAL (mutually exclusive courses).
Course guarantor:
Lecturer:
Tutor:
Supervisor:
Department of Cybernetics
Synopsis:

Basic graph algorithms and graph representation. Application of formal languages theory in computer science - syntax analysis and pattern matching. Selected topics of floating-point arithmetic.

Requirements:

Individual implementation of data types and algorithms discussed in the lectures is an important part of the exercises. Thus, capabilty of programmatic manipulation of linked data structures in some of the prevalent languages (C/C++/Java/...) is indispensable.

Syllabus of lectures:

Formal and informal analysis of the memory and time complexity of all data sructures and algorithms taught is an integral part of the course, it is not expicitely listed under particular topics.

1. Asymptotic complexity of algorithms. Graphs, their properties and memory representation.

2. Graph searching applications: Shortest path algorithms: weighted, unweighted, directed, undirected.

3. Directed graphs: Acyclic, topologically ordered, rooted trees. Algorithms and implementation.

4. Text searching and pattern matching. Algorithms KMP, BM, Karp-Rabin and their variants.

5. Pattern matching automata. Factor, prefix and suffix automata.

6. Text compression, Huffman coding, LZW algorithm.

7. Design and implementation of lexical analyzer.

8. LL and LL(1) grammars, parsing tables.

9. Syntax analysis algorithm., top-down parsing.

10. Floating-point representation of numbers, formats, operations, NaN, infinity. Propagation of rounding errors.

11. (Pseudo)random number generators, periodicity, distribution.

12. Estimation of rounding errors in numerical algorithms. Roots of functions, matrix inversion, system of linear equations

13. (Reserve) Exact calculation of mathematical function values, compatibility across architectures, languages and compilers.

Syllabus of tutorials:

Exercises and related homeworks are devoted mostly to implementation of lecture topics. Consequently, the themes of each exercise formally correspond to those of respective lecture.

Study Objective:

Fundamental overview and skills related to the topics of the course.

Study materials:

R. Sedgewick: Algoritmy v C, SoftPress 2003,

T. H. Cormen, C. E. Leiserson, R. L. Rievest, C. Stein: Introduction to Algorithms, 2nd ed., MIT Press, 2001

B. Melichar: Jazyky a překlady, Praha , ČVUT 1996

J. E. Hopcroft, R. Motwani, J. D. Ullman: Introduction to Automata Theory, Languages, and Computation, 2nd ed., Addison-Wesley, 2001

Note:
Further information:
http://cw.felk.cvut.cz/doku.php/courses/ae4m33pal/start
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2024-11-07
For updated information see http://bilakniha.cvut.cz/en/predmet12823304.html