A personal library of Data Structures and Algorithms implemented from scratch in C++.
It may later be extended to Python or C for comparative learning.
I am actively working on this project to revisit and practice concepts from CLRS, Coursera, and other algorithmic resources.
| Section | Description |
|---|---|
| Data Structures | Core ADT implementations (stack, queue, trees, graph, etc.) |
| Miscellaneous | Specialized or utility data structures (e.g., matrix) |
| Algorithms | (Planned) Common algorithms like sorting, searching, and traversal |
| Updates | Progress logs and change history |
| Contribute | How to contribute or suggest improvements |
Below is the navigation for different readme files distributed throughout the repository for detailed guidance or notes on corresponding titular folder name.
| Readme Files |
|---|
| Graphs |
| Miscellaneous |
All core data structures are organized under the ADT subfolder.
| Category | Description | Link |
|---|---|---|
| Stack | LIFO implementation with templated support | View Folder |
| Queue | FIFO structure and variations | View Folder |
| Priority Queue | Min/Max heap-like structure | View pqueue.h |
| Trees | Binary trees, BSTs, AVL trees, etc. | View Folder |
| Graphs | Undirected and Directed graphs | View Folder |
Each folder may contain its own README.md file with details, structure, and usage examples. Navigation for the readme files is provided above.
Some data structures serve specific or utility purposes.
- Matrix Data Structure: Implements linear algebra operations and matrix manipulations.
- Additional structures are available in the
miscellaneousfolder.
This section will include algorithms implemented from CLRS, Coursera, and related resources.
Planned topics include:
- Sorting and Searching
- Graph Algorithms (UCS, A*, Dijkstra)
- Dynamic Programming
- Recursion and Divide & Conquer
Refer to the Algorithms folder once populated/created.
| Timestamp | Description |
|---|---|
| 1402240328 | Turned pqueue into a templated class for generality. Considering generalizing uGraph and diGraph next. |
| 11212022 | Implemented dequeue() in pqueue. Currently debugging element swapping logic. |
| 11162022 | Began implementing priority queue data structure for future graph search algorithms such as UCS and A*. |
I am expanding this repository as I continue revisiting data structure and algorithm concepts.
Contributions, suggestions, and improvements are always welcome.
- Open issues to suggest new structures or algorithms.
- Submit pull requests for code improvements or documentation updates.
- Use the discussion section for guidance or collaboration.