This repository contains a set of custom C++ libraries implementing various fundamental data structures and algorithms. These libraries were developed as part of the Programming and Algorithmization course to gain deeper understanding of algorithms and their practical implementation in C++.
-
Deque (dequeue)
- A double-ended queue allowing insertion and deletion of elements from both ends.
- Efficient for applications where both front and back access are needed.
-
Stack using Array (stackarr)
- A stack implemented using a fixed-size array.
- Supports common stack operations such as
push(),pop()and others.
-
Stack using Linked List (stacklst)
- A dynamic stack implementation using linked lists.
- Eliminates the need for a fixed size, allowing flexible memory usage.
-
Complex Number (complex)
- A library for handling complex numbers with real and imaginary components.
- Provides operations like addition, subtraction, multiplication, and division of complex numbers.
-
Rational Number (rational)
- A library for working with rational numbers (fractions) represented as two integers (numerator/denominator).
- Supports arithmetic operations and simplification of fractions.
-
Binary Search Tree (binarytree)
- A binary search tree (BST) implementation allowing for efficient searching, insertion, and deletion of elements.
- Supports common BST operations like in-order traversal, find, insert, and delete.
-
Hash Table (hashtable)
- A hash table implementation with collision handling using chaining or open addressing.
- Supports efficient insertion, deletion, and lookup of key-value pairs.