Skip to content

MaximilianMuza/algorithms-datastructures

Repository files navigation

algorithms-datastructures

This repository contains the exercises and mid-term tests completed for the "Algorithms and Data Structures" course during my Erasmus exchange program at the University of Southern Denmark, Odense.

Course Overview

The course focused on foundational and advanced topics in algorithms and data structures, with an emphasis on implementing efficient solutions using C++. It covered core concepts of object-oriented programming and practical problem-solving techniques.

Topics Covered

Key topics learned and implemented during the course include:

  • Principles of Object-Oriented Programming (OOP) in C++
    Fundamental concepts such as classes, objects, inheritance, and polymorphism.

  • Data Structures
    Implementation and manipulation of:

    • Linked Lists (e.g., Queues, Circular Queues)
    • Trees
    • Hash Tables
  • Sorting Algorithms
    Studied and implemented various sorting techniques, including:

    • Mergesort
    • Bubblesort
    • Quicksort
    • Bucketsort
    • Heapsort
  • Shortest Path Problems
    Solutions to finding the shortest path in various graph-based scenarios.

  • Graphs
    Implementation and traversal of graph structures using algorithms like DFS and BFS.

Highlights

Knight_King Mid-Term Exercise

One of the standout assignments from the course was the Knight_King exercise, where the goal was to develop an algorithm to determine the shortest path for a chess piece (Knight or King) between a given start and end position on a chessboard. The exercise required:

  • Designing an efficient pathfinding algorithm.
  • Working with graph traversal techniques.
  • Handling edge cases in the chessboard constraints.

This project showcases the practical application of data structures (graphs) and algorithms (shortest path techniques).

About

University course Algorithms and Data Structures

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors