This repository contains implementations of various data structures and algorithms, primarily for educational purposes. The goal is to provide a comprehensive collection of fundamental data structures and algorithms commonly used in computer science.
- Binary Search Tree: A binary tree where the nodes are arranged in a specific order. This allows for efficient searching, insertion, and deletion of elements.
- Binary Tree: A generic tree data structure where each node has at most two children, referred to as the left child and the right child.
- List And Vectors: Implementations of dynamic and static arrays and linked and static lists, providing efficient ways to store and manipulate collections of data in both ways.
- MatrixVec and MatrixCSR: Implementations for matrix-vector operations, including the Compressed Sparse Row (CSR) format for efficient storage of sparse matrices.
- Stack And Queue: Classic data structures used for various applications, such as function calls, expression evaluation, and breadth-first search.
The primary programming language used in this project is C++. C++ provides a balance of performance and flexibility, making it an excellent choice for implementing data structures and algorithms.