456-0114/02 – Introduction to algorithms (T) (ZALT)
Gurantor department | Department of Computer Science | Credits | 4 |
Subject guarantor | RNDr. Daniela Szturcová, Ph.D. | Subject version guarantor | RNDr. Daniela Szturcová, Ph.D. |
Study level | undergraduate or graduate | Requirement | Choice-compulsory |
Year | | Semester | summer |
| | Study language | Czech |
Year of introduction | 2001/2002 | Year of cancellation | 2002/2003 |
Intended for the faculties | FEI | Intended for study types | Master |
Subject aims expressed by acquired skills and competences
Teaching methods
Summary
This course is determined for students of Computer Science.
Course goal is to gain an understanding of algorithms, data
organization and data abstraction. Study of advanced
programming techniques and data representations, including
data structures, recursion, stacks and queues; packaging
data abstraction; advanced searching, sorting and hashing;
files; binary search trees; analysis of algorithms and
computational complexity. Content of course is wider then
content of the basic one, course, for example, focuses on
some special types of trees (red-black trees..), number
representation.
Compulsory literature:
Recommended literature:
Way of continuous check of knowledge in the course of semester
Podmínky udělení zápočtu:
Zápočtový test 2*20 bodů (pro udělení zápočtu je nutno získat alespoň 15 bodů, z každého testu minimálně 5 bodů)
E-learning
Other requirements
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
Subject syllabus:
Přednášky:
Pojem algoritmu. Konstanty, proměnné, výrazy, přiřazení. Návrh algoritmu. Řídicí struktury. Krokovací tabulka.
Princip číslicového počítače. Reprezentace čísel v číslicovém počítači. Číselné soustavy.
Základní datové typy. Vlastnosti datových typů. Jednoduché datové typy (boolean, číselné typy, znak) a operace nad nimi. Ukazatel.
Strukturované datové typy a operace nad nimi. Pole, struktura.
Abstraktní datové typy. Zásobník, fronta, graf (strom), stream, tabulka, seznam.
Implementace. Procedury a funkce.
Rekurze. Rekurzivní a nerekurzivní definice a algoritmus. Rekurzivní funkce.
Složitost. Dominantní operace, O(f) notace.
Třídění. Třídění přímým vkládáním, přímým výběrem. Bubble sort, Quick sort, Heap sort, Radix sort.
Vnější třídění. Princip slévání, Merge sort.
Hashing. Hashovací funkce, řešení kolizí. Separate chaining, Linear probing.
Vyhledávání. Sekvenční, binární vyhledávání. Vyhledávání k-tého prvku.
Vyhledávání podřetězce (Pattern Matching). Jednotlivé algoritmy.
Operace se stromy (vkládání, vyhledávíní, rušení uzlů). Průchody stromem. Operace vyvažování. Vybrané typy stromů (Red-Black stromy, B-stromy řádu n).
Zpracování aritmetických výrazů, prefix, infix a postfix.
Cvičení:
Cvičení navazuje na přednášky praktickými příklady.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction
Předmět neobsahuje žádné hodnocení.