Lecturer(s)
|
-
Bajer Libor, Ing.
-
Kavička Antonín, prof. Ing. Ph.D.
-
Fikejz Jan, 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
Given assignment confirms that a student has attended lessons to the extent required and fulfilled qualified requirements (elaboration of three software tasks focused on programming of selected data structures and relevant algorithms). Form, contents and length of the exam are determined in accordance with Study and Examining Rules of University of Pardubice. The exam consists of two parts, a written test and a theoretical exam. Student passes successfully the written test as well as the theoretical part of the exam if he/she obtains at minimum 50% of possible points in each part.
|
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.
|