Data structures and algorithms
Study programs
Teaching information
Teaching form
Lecture, Seminar, Numerical exercises, Laboratory exercise, Project work, Studio, Internship, Excursion, Specialistic practiceStudy method
AttendanceLanguage
slovenskýHours per week (full-time)
2,0,0,2,0,0,0,0,0Hours per semester (part-time)
ZS 26,26Teachers
prof. Ing. Jozef Juhár, PhD. Ing. Renát Haluška, PhD. doc. Ing. Daniel Hládek, PhD. Ing. Matúš Čavojský
Schedule
Learning outcomes
The student will gain knowledge about data structures, their properties and their relationship to algorithms. They will get acquainted with the methods of creating effective programs. Gain knowledge of sorting and retrieval of data. They will learn to use the acquired knowledge in practice.
Course outline
1. Algorithm, notation and analysis of algorithms. Calculation models. 2. Elementary data structures (ADT list, ADT stack, ADT queue) 3. Elementary data structures (ADT graph, ADT tree), transition strategies. 4. Methods of efficient algorithms design - recursion, Divide and Conquer. 5. Methods of efficient algorithms design - balancing, dynamic programming. 6. Sorting, Radix sort - lexicographic sorting. 7. Sorting by comparison. Selection of the k-th smallest element of the sequence. 8. Hashing, hash functions. Binary Search Trees (BVS). 9. Optimal BVS. Balanced trees. 10. Union-Find problem. Data structures on balanced trees. 11. Data structures and algorithms for external memories, sorting on external memories. 12. Data structures for external memories.
Completion conditions
Assessment and completion of the course: Credit test and examination Continuous assessment: Student passes the continuous assessment and receives credits when he or she meets the requirement to obtain at least 21% out of 40%. Credit test Final assessment: Student passes the final assessment and passes the examination when he or she meets the requirement to obtain at least 31% out of 60%. Examination Overall assessment: Overall assessment is the sum of the assessments obtained by students in the assessment period. The overall result is determined in accordance with the internal regulations of the Technical University in Košice. (Study Regulations, the internal regulation principles of doctoral studies)
Recommended literature
1. Aho, A.V., Hopcroft, J.E., Ullman, J.D.: Design and Analysis of Computer Algorithms, Addison-Wesley, 1974. 2. Aho, A.V., Ullman, J.D., Hopcroft, J.E.: Data Structures and Algorithms, Addison-Wesley, 1987. 3. Wirth, N.: Algoritmy a štruktúry údajov, Alfa, 1989. 4. Goodrich, M.T., Tamassia, R.: Algorithm Design, John Wiley a Sons, Inc., 2002. 5. Sedgewick, R.: Algorithms in C++, Addison Wesley Professional, 1998. 6. Hudák, Š., Šimoňák, S.: Programovacie techniky, 1. vyd., FEI TU Košice, 2010. 7. Mehlhorn, K., Sanders, P.: Algorithms and Data Structures, Springer-Verlag, 2008. 8. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, MIT Press, 2009. 9. Skiena, S.: The Algorithm Design Manual, Springer-Verlag, 2008. 10. Töpfer, P.: Algoritmy a programovací techniky, Prometheus, 1995. 11. Heileman, G.L.: Data Structures, Algorithms and Object-oriented Programming. McGraw-Hill, 1996.
Notes
To successfully complete the course, it is necessary to obtain a credit and successfully pass the exam. This includes the student's participation in educational activities of direct teaching, lectures, exercises, as well as independent study and independent creative activity of the student in processing the semester assignment / assignments, project on a specified topic, to a specified extent, in a specified design of a total of 180 hours intensity of the student's work per semester.
Grade distribution
Total graded students: 1119