Slides, code examples and exercises (with solutions) for the PG4200 course: Algoritmer og datastrukturer (Algorithms and Data Structures). This course is taught at Kristiania University College, Oslo, Norway.
There are plenty of resources online to learn about algorithms and data structures in Java. However, one key aspect in this course is a strong emphasis on software testing. Furthermore, the math is kept to a minimum, whereas more focus is given to the practical usages of the algorithms.
- Lesson01: Arrays, Lists, and Unit Tests
- Lesson02: Generics, Stacks and Queues
- Lesson03: Runtime Analysis and Sorting
- Lesson04: Recursion and Test Driven Development (TDD)
- Lesson05: Tree Maps
- Lesson06: Hash Maps and Sets
- Lesson08: Iterators, Lambdas and Streams
- Lesson09: Graphs
- Lesson10: Text Search and Regular Expressions
- Lesson11: Data Compression
- Supplementary Optimization: Decision and Optimization Problems
- Supplementary Genetic Algorithms: Genetic Algorithms and Randomness
The code is written in Java, and it is divided into 3 Maven modules:
/lessons
: code for each lesson, divided into one package per lesson./exercises
: starting code used in some of the exercises (when applicable)./solutions
: code of the solutions of the exercises.
- Exercise01
- Exercise02
- Exercise03
- Exercise04
- Exercise05
- Exercise06
- Exercise08
- Exercise09
- Exercise10
- Exercise11
To have an idea of what to expect in the exam, and how the questions might be formulated, some PDFs of former exams can be found here and here .
The materials herein are all copyright of Andrea Arcuri and contributors. The material was/is produced while working at Westerdals Oslo ACT and Høyskolen Kristiania.
All the source code in this repository is released under LGPL version 3 license.
The documentation is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 4.0 Unported License.