TDDB57 | Data Structures and Algorithms, 6,8 ECTS-points /Datastrukturer och algoritmer/ Advancement level: B | |
Aim: The course aims at presenting fundamental abstract data types and efficient inplementations of these, in terms of data structures and procedures, and also at introducing methods for design and analysis of algorithms. Prerequisites: Discrete mathematics and logic (corresponding to TATM 90 or TDDB 90). TDDB 92 or TDDB 93 Programming in Incremental Systems. Basic knowledge of programming in some imperative programming language. Supplementary courses: TDDA 32 Design and Analysis of Algorithms TDDB 45 Computability and Complexity Theory The course is further a prerequisite for the following courses: TDDB 12 Concurrent Programming TDDA 28 Compilers and Interpreters TDDA 37 Compiler Construction TDDB 38 Database Technology TDDA 13 Artificial Intelligence, D TDDA 58 Artificial Intelligence, CCourse organization: The purpose of the lectures is to present the theory. The purpose of the seminars is to practice the theory. The purpose of the laboratory sessions is to solve problem assessments, mostly using computers, but sometimes "by hand". Course content: - Basic notions - Fundamental abstract data types and data structures, such as lists, stacks, queues, search trees, hash tables and graphs - Efficiency analysis of algorithms - Sorting and searching - Algorithm paradigms Course literature: H. Lewis & L. Denenberg, Data Structures & Their Algorithms, Harper Collins, 1991. Compendium to be distributed by the Department of Computer and Information Science (IDA). | ||
TEN1 | Written examination, 3 p. | |
LAB1 | Laboratory work, 1,5 p. |