FEKT-BPC-ALGAcad. year: 2020/2021
Overview of fundamental data structures and their exploitation.
Principles of dynamic memory allocation.
Specification of abstract data types (ADT).
Specification and implementation of ADT's: lists, stack and its exploition, queue, set, array, searching table, graph, binary tree.
Algorithms upon the binary trees.
Searching: sequential, in the ordered and in not ordered array, searching with the guard (sentinel), binary search, search tree,
balanced trees (AVL). Searching in hash-tables.
Ordering (sorting), principles, sorting without the moving of items, sorting with multiple keys. Most common methods of sorting: Select-sort, Bubble-sort, Heap-sort, Insert-sort and its variants, Shell-sort, recursive and non-recursive notation of the Quick sort, Merge-sort,List-merge-sort, Radix-sort.
Recursion and backtrack algorithms. Searching the patterns in the text. Proving of correctness of programs, construction of proved programs.
Learning outcomes of the course unit
Recommended optional programme components
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
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Language of instruction
2. Specification, implementation and exploitation of ADT list.
3. Specification, implementation and exploitation of ADT stack, queue. Numeration of expressions with the use of stack.
4. ADT array, set, graph, binary tree.
5. Algorithms upon the binary tree.
6. Searching, sequential, in the array, binary search.
7. Binary search trees, AVL tree.
9. Ordering (sorting), principles, without movement, multiple key.
10. Most common methods of sorting of arrays, sorting of files.
11. Recursion, backtracking algorithms.
12. Proving the programs, costruction of proved programmes.
Specification of controlled education, way of implementation and compensation for absences
Classification of course in study plans
- Programme BPC-AUD Bachelor's
- Programme BPC-AMT Bachelor's, any year of study, winter semester, 5 credits, elective
- Programme BPC-EKT Bachelor's, any year of study, winter semester, 5 credits, elective
- Programme BPC-IBE Bachelor's, any year of study, winter semester, 5 credits, elective
- Programme BPC-MET Bachelor's, any year of study, winter semester, 5 credits, elective
- Programme BPC-SEE Bachelor's, any year of study, winter semester, 5 credits, elective
- Programme BPC-TLI Bachelor's, any year of study, winter semester, 5 credits, elective