An open API service indexing awesome lists of open source software.

https://github.com/spo0kydev/datastructures-cpp

Data Structures in C++
https://github.com/spo0kydev/datastructures-cpp

academic algortithms c-plus-plus computer-science cpp data-structures datastructures learning no-stl self-study

Last synced: 11 months ago
JSON representation

Data Structures in C++

Awesome Lists containing this project

README

          


Data Structures

A personal archive of fundamental data structures โ€” built from scratch in C++, for clarity, control, and understanding.

---

# ๐Ÿงฌ Data Structures in C++

This repository is a look into the structures beneath the surface โ€” lists, trees, maps, and memory.
It's not meant to be flashy. It's a place to work through ideas, document the logic, and leave behind a clear trail.

Everything here is built from scratch in C++, piece by piece โ€” as both study and statement.

---

## ๐ŸŽฏ Project Goals

This repo is about clarity โ€” understanding how data is stored, accessed, and shaped in memory.

- Practice writing clean, self-contained C++ code
- Reinforce computer science foundations (with testable proof)
- Build a long-term reference that I control and understand
- Leave behind something others can trace, if they choose to follow

---

## ๐Ÿ“ฆ Structures To Be Implemented

These are the structures Iโ€™ve chosen to build from the ground up โ€” not to check a box, but to understand their mechanics without abstraction.
Thereโ€™s a difference between knowing something works and knowing *why*.

### ๐Ÿ”น Core Foundations
- [ ] Array Operations
- [ ] Recursion (Call Stack Visualization)
- [ ] Algorithm Analysis (Big-O / Complexity Notes)

### ๐Ÿ”น Linear Structures
- [ ] Array-Based Stack
- [ ] Array-Based Queue
- [ ] Postfix Notation / Balanced Parentheses Parser
- [ ] Linked List (Singly)
- [ ] Doubly Linked List

### ๐Ÿ”น Priority & Sorting
- [ ] Array-Based Priority Queue
- [ ] Quicksort
- [ ] Heapsort
- [ ] Min Heap / Max Heap

### ๐Ÿ”น Hashing
- [ ] Hash Table (with Linear/Quadratic Probing)
- [ ] Hash Function Analysis

### ๐Ÿ”น Trees & Beyond
- [ ] Binary Search Tree (BST)
- [ ] Tree Traversals (Inorder, Preorder, Postorder)
- [ ] AVL Tree (if time allows)
- [ ] Graph (Adjacency List)

> These structures are implemented not just to function, but to be understood. No STL containers, no libraries โ€” only raw C++ and memory.

---

## ๐Ÿ› ๏ธ Code Style & Documentation

This codebase follows a simple rule: write for the person who comes after โ€” even if that person is just you, six months from now.

- Doxygen-style comments will be used throughout all source files
- Code is written with clarity in mind โ€” minimal abstraction, maximum readability
- Variable and function names are chosen with intention โ€” the code should tell the story without needing a decoder

Self-documenting code is the goal. Comments exist not to explain *what* the code is doing, but *why* itโ€™s doing it.

> I donโ€™t write code to impress the compiler โ€” I write it so I can read it later and know I wasnโ€™t lying to myself.
> Iโ€™m not here to obfuscate. Iโ€™m here to observe, implement, and understand.

---

// End of Line โ€” observed but not yet fully explained