This repository is dedicated to solving Data Structures and Algorithms (DSA) problems while also exploring the inner workings of inbuilt data structures by implementing custom-built versions in various programming languages.
- Solutions to DSA problems categorized by topic (arrays, linked lists, trees, graphs, etc.).
- Custom implementations of fundamental data structures (linked lists, hashmaps, stacks, queues, etc.) to understand how built-in structures work under the hood.
- Solutions written in multiple languages, including JavaScript, Python, Java, and C#.
Many programming languages provide built-in data structures that abstract away complexity. However, understanding how these structures work internally can significantly improve problem-solving skills and coding efficiency. This repository serves as a hands-on approach to mastering DSA by implementing key structures from scratch.
📦 DSA
├── 📂 problems
│ ├── arrays
│ ├── linked-lists
│ ├── trees
│ ├── graphs
│ ├── dynamic-programming
│ └── sorting-algorithms
├── 📂 custom-built-data-structures
│ ├── python
│ │ ├── linked_list.py
│ │ ├── hashmap.py
│ │ ├── stack.py
│ │ ├── queue.py
│ ├── javascript
│ │ ├── LinkedList.js
│ │ ├── HashMap.js
│ │ ├── Stack.js
│ │ ├── Queue.js
│ ├── java
│ │ ├── LinkedList.java
│ │ ├── HashMap.java
│ │ ├── Stack.java
│ │ ├── Queue.java
│ ├── csharp
│ │ ├── LinkedList.cs
│ │ ├── HashMap.cs
│ │ ├── Stack.cs
│ │ ├── Queue.cs
└── README.md
- Clone the repository:
git clone https://github.com/austinmusuya/DSA.git
- Navigate to the desired language folder:
cd DSA/custom-built-data-structures/python - Run any file to test a custom implementation:
python linked_list.py
Feel free to contribute by adding new problem solutions, optimizing existing implementations, or adding more custom-built data structures.
Step-by-step explanations and visual insights into common sorting algorithms like Bubble Sort, Merge Sort, and Quick Sort.
Feel free to contribute by adding new problem solutions, optimizing existing implementations, or adding more custom-built data structures.
This repo is a continuous learning space. Keep solving, keep optimizing, and keep building!