A repository that holds implementation for most of the commonly used Data Structures, these are implemented in Python.
Data Structures and Algorithms (DSA) encompass the tools (data structures) and procedures (algorithms) used in computer science to organize and manipulate data efficiently for problem-solving
-
Linear data structures organize and store elements sequentially, such as Linked Lists, Queues, and Stacks.
- Linked List.
- Queue.
- Stack.
-
Hash tables are data structures that use a hash function to store and retrieve values based on keys efficiently.
- Hash Maps / Hash Tables.
-
Search and Sorting Algorithms.
Search algorithms locate specific elements within data, while sorting algorithms rearrange data elements in a particular order for efficient retrieval.
- Binary Search Algorithm.
- Bubble Sort.
- Counting Sort.
- Insertion Sort.
- Merge Sort.
- Quick Sort.
- Radix Sort.
- Tim Sort.
-
Tree-based data structures, like Heaps and Binary Trees, are hierarchical structures used for tasks such as prioritization and efficient searching.
- Binary Search Tree.
- Heap.
I acknowledge that these implementations are primarily the result of my work, and any instances of borrowed code are duly credited to the original authors. While I have strived to optimize efficiency throughout, I humbly acknowledge that errors may exist. Please be attentive to the following symbol ⚠, which signifies areas where I have sought enhancements and improvements.
- In addition to my Python implementations, I have also worked on data structures in the ⚠ C language ⚠ during my participation in the CS50X course, specifically in Week 3 and 5.
- Cheat Sheet: https://www.bigocheatsheet.com/
Cheers,
Muhammad Hamza Saeed.