Detail předmětu
Algoritmy
IAL Ak. rok 2006/2007 zimní semestr 5 kreditů
Přehled základních datových struktur a jejich použití. Principy dynamického přidělování paměti. Specifikace abtraktních datových typů (ADT). Specifikace a implementace ADT: seznamy, zásobník, fronta, množina, pole, vyhledávací tabulka, graf, binární strom. Algoritmy nad binárním stromem. Vyhledávání: sekvenční, v neseřazeném a seřazeném poli, vyhledávání se zarážkou, binární vyhledávání, binární vyhledávácí strom, vyvážený strom (AVL). Vyhledávání v tabulkách s rozptýlenými položkami. Řazení, principy, řazení bez přesunu položek, řazení podle více klíčů. Nejznámější metody řazení: Select-sort, Bubble-sort, Heap-sort, Insert-sort a jeho varianty, Shell-sort, Quick sort v rekurzívní a nerekurzívní notaci, Merge-sort, List-merge-sort, Radix-sort. Sekvenční metody řazení. Rekurze a algoritmy s návratem. Vyhledávání podřetězců v textu. Dokazování programů, tvorba dokázaných programů.
Garant předmětu
Jazyk výuky
Zakončení
Rozsah
- 39 hod. přednášky
- 13 hod. projekty
Zajišťuje ústav
Získané dovednosti, znalosti a kompetence z předmětu
Seznámit se s metodami dokazování správnosti programů a s tvorbou dokázaných programů. Seznámit se základními principy složitosti algoritmů. Seznámit se základními abstraktními datovými typy a strukturami, naučit se je implementovat a používat. Seznámit se s principy dynamického přidělování paměti. Naučit se rekurzívní a nerekurzívní zápisy základních algoritmů. Naučit se vytvářet a analyzovat algoritmy vyhledávání a řazení.
Cíle předmětu
Seznámit se s metodami dokazování správnosti programů a s tvorbou dokázaných programů. Seznámit se základními principy složitosti algoritmů. Seznámit se základními abstraktními datovými typy a strukturami, naučit se je implementovat a používat. Seznámit se s principy dynamického přidělování paměti. Naučit se rekurzívní a nerekurzívní zápisy základních algoritmů. Naučit se vytvářet a analyzovat algoritmy vyhledávání a řazení.
Doporučené prerekvizity
- Základy programování (IZP)
Požadované prerekvizitní znalosti a dovednosti
Nejsou žádné prerekvizity.
Literatura studijní
- Honzík, J., Hruška, T., Máčel, M.: Vybrané kapitoly z programovacích technik, Ed.stř.VUT Brno,1991.
Literatura referenční
- Knuth, D.: The Art of Computer programming, Vol.1,2,3. Addison Wesley, 1968
- Wirth, N.: Alorithms+Data Structures=Programs, Prentice Hall, 1976
- Horovitz, Sahni: Fundamentals of Data Structures.
- Amsbury, W: Data Structures: From Arrays to Priority Queues.
- Cormen, T.H., Leiserson, Ch.E., Rivest, R.L.: Introduction to Algorithms.
- Aho A.V., Hoppcroft J.E., Ullman J.D.: Data Structures and Algorithms.
- Kruse, R.L.: Data Structures and Program Design. Prentice- Hall,Inc. 1984
- Baase, S.: Computer Algorithms - Introduction to Design and Analysis. Addison Wesley, 1998
- Sedgewick,R.:Algoritmy v C. (Základy. Datové struktury. Třídění. Vyhledávání.) Addison Wesley 1998. Softpress 2003.
Osnova přednášek
- Přehled datových struktur. Abstraktní datový typ a jeho specifikace.
- Specifikace, implementace a použití ADT seznam.
- Specifikace, implementace a použití ADT zásobník, fronta. Vyčíslení výrazů s použitím zásobníku.
- ADT pole, množina, graf, binární strom.
- Algoritmy nad binárním stromem.
- Vyhledávání, sekvenční, v poli, binární vyhledávání.
- Binární vyhledávácí stromy, AVL strom.
- Vyhledávání v tabulkách s rozptýlenými položkami.
- Řazení, principy, bez přesunu, s vícenásobnám klíčem.
- Známé metody řazení polí
- Známé motody řazení polí, řazení souborů.
- Rekurze, algoritmy s návratem.
- Dokazování správnosti programů, tvorba dokázaných programů.
Průběžná kontrola studia
- Získání minimálně 20 bodů za semestr.
- Pokud bude odhalena nedovolená spolupráce na domácích úlohách nebo na projektech, zápočet nebude udělen a dále bude zváženo zahájení disciplinárního řízení.
Kontrolovaná výuka
- Opravované domácí úlohy - 20 bodů
- Půlsemestrální písemná zkouška - 15 bodů
- Hodnocený projekt s obhajobou - 15 bodů
- Závěrečná písemná zkouška - 50 bodů