Lecturer(s)
|
-
Bajer Libor, Ing.
-
Kavička Antonín, prof. Ing. Ph.D.
-
Fikejz Jan, Ing. Ph.D.
-
Šroll Josef, Ing. Ph.D.
-
Kadaňka Tomáš, Ing.
|
Course content
|
Introduction, basic notions, properties of data, motivation examples . Abstract data types a their specification, memory demands and computational complexity of operations/algorithms. Memory management as an abstract data type, implementation of memory managers. Basic data types in programming languages, data type Set. Arrays, multidimensional arrays and their implementations. Linear data structures: Lists, Stacks, Queues and their implementations. Tree data structures: Unary tree, Binary tree, K-way tree - memory representations and operations. Data type Table and its basic implicit and explicit implementations (using Lists, Arrays, Binary search trees, Hashing techniques etc.). Table sorting algorithms (Quicksort, Heapsort, Mergesort, Radixsort etc.). Data type Priority queue and its basic implicit and explicit implementations (using Lists, Binary heaps etc.). Data type Graph and its basic vertex-oriented and edge-oriented implementations. Organisation and principles of sequential files. Organisation and principles of random access files .
|
Learning activities and teaching methods
|
Monologic (reading, lecture, briefing), Dialogic (discussion, interview, brainstorming), Skills training
|
Learning outcomes
|
The main goal of the course is to familiarise students with the elementary data structures and relevant algorithms as essentials of the efficient programming.
Passing the course enables to manage elementary abstract data types, their applications and efficient implementations which support creation of high-quality software products.
|
Prerequisites
|
unspecified
|
Assessment methods and criteria
|
Oral examination, Written examination, Home assignment evaluation
Form, contents and length of the exam are determined in accordance with Study and Examining Rules of University of Pardubice. The exam consists of three parts: (i) successful implementation of three software tasks (focused on programming of selected data structures and relevant algorithms) - that part is elaborated during the semester, (ii) a written part specialized in describing theoretical foundation of data structures and (iii) an oral part composed of additional question related to practical concepts of algorithms and data structures.
|
Recommended literature
|
-
Cenek, Petr. Optimalizace dopravních a spojových procesů. Žilina: Vysoká škola dopravy a spojov, 1994. ISBN 80-7100-197-X.
-
Cormen, T. H. et al. Introduction to algorithms. Boston: MIT Press, 2001. ISBN 0-262-03293-7.
-
Lewis, H. R., Denenberg, L. Data structures and their algorithms. Berkley, Adison-Wesley, 1997. ISBN 978-0673397362.
-
Volek, Josef. Operační výzkum I. Pardubice: Univerzita Pardubice, 2002. ISBN 80-7194-410-6.
-
Wirth, N. Algoritmy a štruktúry údajov. Bratislava, Alfa, 1988.
-
Wróblewski, Piotr. Algoritmy : datové struktury a programovací techniky. Brno: Computer Press, 2004. ISBN 80-251-0343-9.
|