Repository containing academic assignments focused on advanced C++ programming, including memory management, data structures, modern C++ features, and a mini-project implementing a Genetic Algorithm for optimization.
This repository documents practical exercises completed during university coursework.
It focuses on building a strong understanding of low-level and modern C++ concepts.
- raw pointers usage
- dynamic memory allocation (
new/delete) - pointer arithmetic
- avoiding memory leaks
- understanding memory ownership
- implementation of tree structures
- dynamic node management
- recursive operations on trees
- working with hierarchical data
- move constructor and move assignment
- rvalue references
std::unique_ptrstd::shared_ptr
Implementation of a Genetic Algorithm to solve the special version Travelling Salesman Problem.
Key elements:
- chromosome representation of routes
- population initialization
- fitness function (total path distance)
- selection
- crossover
- mutation
- iterative improvement over generations
- C++ (C++14; C++17)
- Standard Template Library (STL)
- Object-Oriented Programming (OOP)
- low-level memory management in C++
- understanding of pointers and ownership
- implementation of data structures (trees)
- usage of modern C++ features
- algorithm design and optimization techniques
- writing modular and maintainable code