/Data-Structures-and-Algorithms

A repository that holds implementation for most of the commonly used Data Structures, these are implemented in Python Language.

Primary LanguagePython

Data-Structures-and-Algorithms

A repository that holds implementation for most of the commonly used Data Structures, these are implemented in Python.


What are Data-Structures and Algorithms ?

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

ezgif com-webp-to-jpg


Common Data Structures and Algorithms:

  1. Linear Data Structures.

    Linear data structures organize and store elements sequentially, such as Linked Lists, Queues, and Stacks.

    • Linked List.
    • Queue.
    • Stack.
  2. Hash Tables.

    Hash tables are data structures that use a hash function to store and retrieve values based on keys efficiently.

    • Hash Maps / Hash Tables.
  3. 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.
  4. Tree-Based Data Structures.

    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.

Notes

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.

Useful Resources


Cheers,
Muhammad Hamza Saeed.