A structured collection of C++ exercises covering fundamental algorithms, matrix techniques, pattern matching, stacks, linked lists, and polynomial operations.
The repository is organized into three focused subprojects. Each subproject contains its own README with the exercises, concepts, and build instructions.
Data-Structures-and-Algorithms/
│
├── 01-Pattern-Matching/
│ ├── src/
│ │ ├── string_pattern_matching.cpp
│ │ └── matrix_pattern_matching.cpp
│ └── README.md
│
├── 02-Matrix-Algorithms/
│ ├── src/
│ │ ├── magic_square.cpp
│ │ └── diagonal_matrix_addition.cpp
│ └── README.md
│
├── 03-Data-Structures/
│ ├── src/
│ │ ├── stack_symmetry.cpp
│ │ └── polynomial_linked_list.cpp
│ └── README.md
│
├── .gitignore
├── LICENSE
└── README.md
Introduces direct string pattern matching and exact submatrix searching.
Topics: brute-force matching, string traversal, nested loops, matrix pattern recognition.
Contains a magic-square generator and compact three-diagonal matrix addition.
Topics: two-dimensional arrays, diagonal storage, modular indexing, matrix representation.
Contains stack-based symmetry checking and polynomial arithmetic using linked lists.
Topics: stacks, LIFO, pointers, linked lists, dynamic memory, polynomial representation.
This repository demonstrates practical work with:
- C++ fundamentals
- Functions and modular decomposition
- Arrays and matrices
- Strings
- Searching algorithms
- Stack data structures
- Linked lists
- Pointer manipulation
- Dynamic memory management
- Algorithmic problem solving
- C++17-compatible compiler
- GCC / MinGW, Clang, or MSVC
- Terminal or an IDE such as Visual Studio Code
Each subproject contains its own build instructions.
Example:
g++ -std=c++17 -Wall -Wextra -pedantic source_file.cpp -o programThe exercises are organized as a learning-oriented progression from basic algorithmic techniques toward explicit data-structure implementation.
The code intentionally keeps the core algorithms visible rather than hiding them behind large frameworks or external libraries.
The original coursework was supplied as separate series. To keep this repository limited to exactly three subprojects, the Series 3 stack exercise and Series 4 polynomial linked-list exercise are grouped under 03-Data-Structures.
A few original demonstration-level issues were corrected only where necessary for the examples to execute according to their stated purpose; the underlying exercise ideas and algorithms remain recognizable.
MIT License. See LICENSE.