Course details
Algorithms
IAL Acad. year 2003/2004 Winter semester 5 credits
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 exploitation, 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 a jeho varianty, 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.
Guarantor
Language of instruction
Completion
Time span
Department
Subject specific learning outcomes and competences
To acquaint with the methods of proving of correctness of programs and with construction of proved programms. To learn the fundamentals of algorithm coplexity. To acquaint with basic abstract data types and to command its implementation and exploitation. To learn the principles of dynamic memory allocation. To learn and command recursive and non recursive notation of basic algorithms. To overrule the implementation and analysis of most used algorithms for searching and sorting.
Learning objectives
To acquaint with the methods of proving of correctness of programs and with construction of proved programms. To learn the fundamentals of algorithm coplexity. To acquaint with basic abstract data types and to command its implementation and exploitation. To learn the principles of dynamic memory allocation. To learn and command recursive and non recursive notation of basic algorithms. To overrule the implementation and analysis of most used algorithms for searching and sorting.
Recommended prerequisites
Study literature
- Honzík, J., Hruška, T., Máčel, M.: Vybrané kapitoly z programovacích technik, Ed.stř.VUT Brno,1991.
Fundamental literature
- 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.
Progress assessment
- Evaluated home assignments - 20 points
- Mid-term written examination - 15 point
- Evaluated project with the defense - 15 points
- Final written examination - 50 points
Course inclusion in study plans
- Programme IT-BC-3, field BIT, 2nd year of study, Compulsory
- Programme IT-BC-3 (in English), field BIT, 2nd year of study, Compulsory