Course: Algorithms and Data Structures

« Back
Course title Algorithms and Data Structures
Course code AUIUI/AE4AL
Organizational form of instruction Lecture + Lesson
Level of course Bachelor
Year of study not specified
Semester Summer
Number of ECTS credits 5
Language of instruction Czech, English
Status of course unspecified
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Course availability The course is available to visiting students
Lecturer(s)
  • Dulík Tomáš, Ing. Ph.D.
Course content
- Definition of algorithm. The methods for specification of algoritms. Complexity and computability of algorithms - Abstract data structures: List, queue, stack, set. - Binary trees, AVL and Red-black trees - Hash tables - Stack-based algorithms: Postfix evaluation, infix2postfix, Non-recursive versions of binary tree operations - Search algorithms (binary search, search in texts..) - Sort algorithms: Bubble sort, Insert sort, Selection sort, Quick sort, Heap sort, Radix sort, Merge sort, ... - Introduction to text processing algorithms: - Finite state machines and regulard expressions - Grammars and parsers - Graphs and algorithms for graph processing - Computing algorithms

Learning activities and teaching methods
Lecturing, Exercises on PC
  • Participation in classes - 56 hours per semester
  • Preparation for course credit - 10 hours per semester
  • Home preparation for classes - 28 hours per semester
  • Term paper - 28 hours per semester
prerequisite
Knowledge
Programming in C language
Programming in C language
learning outcomes
explain the principles of dynamic data structures
explain the principles of dynamic data structures
describe algorithms for working with them
describe algorithms for working with them
explain binary trees and their operations
explain binary trees and their operations
define the principles of data mining algorithms
define the principles of data mining algorithms
define the principles of data sorting algorithms
define the principles of data sorting algorithms
Skills
evaluate expressions in postfix
evaluate expressions in postfix
apply algorithms for working with text
apply algorithms for working with text
apply graph algorithms
apply graph algorithms
apply algorithms for mathematical calculations
apply algorithms for mathematical calculations
apply substring search algorithms
apply substring search algorithms
teaching methods
Knowledge
Lecturing
Exercises on PC
Exercises on PC
Lecturing
assessment methods
Analysis of the student's performance
Written examination
Written examination
Analysis of the student's performance
Recommended literature
  • AHO, A. V., HOPCROFT, J. E., ULLMAN, J. D. Data Structures and Algorithms. Addison-Wesley, 1983.
  • AHO, A. V., HOPCROFT, J. E., ULLMAN, J. D. The Design and Analysis of Computer Algorithms. Addison-Wesley, 1974.
  • CORMEN, T., LEISERSON, Ch., RIVEST, R., STEIN, C. Introduction to Algorithms. McGraw-Hill, 2001.
  • DRÓZD, J., KRYL, R. Začínáme s programováním. Grada, 1992.
  • HONZÍK, J.,HRUŠKA, T.,MÁČEL, M. Vybrané kapitoly z programovacích technik. VUT Brno, 1991.
  • KNUTH, D. The Art of Computer programming, Vol.1,2,3. Addison Wesley, 1968.
  • VIRIUS, M. Základy algoritmizace. Praha : ČVUT, 1995. ISBN 80-01-01346-4.
  • WIRTH, N. Algorithmy a štruktúry údajov: Algorithm+Data Structures = Programs. Bratislava, 1989.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester