Data Structures and Algorithms
Data structures and algorithms are fundamental building blocks in almost all software products. Knowledge and skills in data abstraction, data structures, and algorithms are important in the construction, use, and maintenance of adaptable, reusable, correct, and efficient program components.
The course gives knowledge and skills in the construction and use of algorithms and data structures, an introduction to various techniques for the analysis of algorithms, and insights in the advantages of using data abstraction in program development.
The following topics are covered by the course:
- abstract data types
- common data structures such as arrays, linked lists, unbalanced and balanced trees, heaps, and hash tables
- how these can be used to implement abstract data types such as stacks, queues, priority queues, maps, sets, and graphs
- standard algorithms for these data structures, including their resource demands
- searching and sorting algorithms
- standard libraries for data structures and algorithms
- asymptotic efficiency and simple complexity analysis of data structures and algorithms