Skip to content

Latest commit

 

History

History
18 lines (16 loc) · 1.75 KB

File metadata and controls

18 lines (16 loc) · 1.75 KB

Python Data Structures and Algorithms

This repository contains Jupyter Notebook files (.ipynb) covering various data structures and algorithms implemented in Python. Each notebook provides a comprehensive exploration of the theory, examples, and practical implementations of the respective topic. Whether you're a beginner looking to learn fundamental concepts or an experienced developer seeking to brush up on your knowledge, these notebooks serve as a valuable resource.

Topics Covered:

  1. Graphs.ipynb: Introduction to graphs, traversal algorithms, and graph representation techniques.
  2. Hashing.ipynb: Overview of hashing, hash functions, collision resolution strategies, and applications.
  3. Linked_lists.ipynb: Detailed explanation of linked lists, types of linked lists, and operations.
  4. Priority_queues_and_heaps.ipynb: Exploration of priority queues, binary heaps, and their applications.
  5. Queues.ipynb: Understanding queues, implementations, and applications of queue data structure.
  6. Recursion.ipynb: Concept of recursion, recursive algorithms, and their analysis.
  7. Searching_algorithms.ipynb: Overview of searching algorithms such as linear search, binary search, and their complexities.
  8. Sorting_algorithms.ipynb: Analysis and implementation of sorting algorithms including bubble sort, merge sort, quick sort, etc.
  9. Stacks.ipynb: Introduction to stacks, stack operations, and applications.
  10. Trees.ipynb: Detailed discussion on tree data structure, traversal techniques, and binary search trees.

Additional Information:

The slides used in these notebooks are adapted from a Udemy course Data Structures and Algorithms: In-Depth using Python by Syed Mohiuddin: https://www.udemy.com/course/learning-data-structures-algorithms-in-python-from-scratch