Skip to content

In-depth DSA guide with Python, from basics to advanced. 🐍

Notifications You must be signed in to change notification settings

tobisamcode/dsa-python-indepth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Œ DSA-Python-InDepth

Welcome to DSA-Python-InDepth! πŸš€ This repository provides a comprehensive deep dive into Data Structures and Algorithms (DSA) using Python, covering fundamental concepts, advanced techniques, and optimized implementations.


πŸ“– About This Repository

This repo is designed to help programmers, students, and coding enthusiasts master DSA in Python with:

  • Detailed Explanations of each data structure and algorithm
  • Python Implementations with optimized code
  • Time & Space Complexity Analysis
  • Practice Problems and solutions
  • Best Practices & Interview Tips

πŸ“‚ Folder Structure

πŸ“Œ The repository is organized as follows:

πŸ“¦ dsa-python-indepth
β”œβ”€β”€ πŸ“ data_structures
β”‚   β”œβ”€β”€ arrays.py
β”‚   β”œβ”€β”€ linked_list.py
β”‚   β”œβ”€β”€ stack.py
β”‚   β”œβ”€β”€ queue.py
β”‚   β”œβ”€β”€ hash_table.py
β”‚   β”œβ”€β”€ binary_tree.py
β”‚   β”œβ”€β”€ graph.py
β”‚   └── heap.py
β”‚
β”œβ”€β”€ πŸ“ algorithms
β”‚   β”œβ”€β”€ sorting
β”‚   β”‚   β”œβ”€β”€ bubble_sort.py
β”‚   β”‚   β”œβ”€β”€ merge_sort.py
β”‚   β”‚   β”œβ”€β”€ quick_sort.py
β”‚   β”‚   └── heap_sort.py
β”‚   β”œβ”€β”€ searching
β”‚   β”‚   β”œβ”€β”€ linear_search.py
β”‚   β”‚   β”œβ”€β”€ binary_search.py
β”‚   β”œβ”€β”€ recursion
β”‚   β”‚   β”œβ”€β”€ fibonacci.py
β”‚   β”‚   β”œβ”€β”€ factorial.py
β”‚   β”œβ”€β”€ dynamic_programming
β”‚   β”‚   β”œβ”€β”€ knapsack.py
β”‚   β”‚   β”œβ”€β”€ longest_common_subsequence.py
β”‚   β”œβ”€β”€ graph_algorithms
β”‚   β”‚   β”œβ”€β”€ dijkstra.py
β”‚   β”‚   β”œβ”€β”€ bfs.py
β”‚   β”‚   β”œβ”€β”€ dfs.py
β”‚   β”œβ”€β”€ greedy
β”‚   β”‚   β”œβ”€β”€ job_scheduling.py
β”‚   └── backtracking
β”‚       β”œβ”€β”€ n_queens.py
β”‚       β”œβ”€β”€ sudoku_solver.py
β”‚
β”œβ”€β”€ πŸ“ practice_problems
β”‚   β”œβ”€β”€ leetcode
β”‚   β”œβ”€β”€ hackerrank
β”‚   β”œβ”€β”€ codeforces
β”‚
β”œβ”€β”€ README.md
└── CONTRIBUTING.md

πŸš€ Topics Covered

βœ… Data Structures

  • Arrays & Strings
  • Linked Lists (Singly & Doubly)
  • Stacks & Queues
  • Hash Tables
  • Trees (Binary, BST, AVL, Trie, etc.)
  • Graphs (Adjacency List, Adjacency Matrix)
  • Heaps (Min Heap, Max Heap)

βœ… Algorithms

  • Sorting (Bubble, Merge, Quick, Heap Sort, etc.)
  • Searching (Linear, Binary Search, etc.)
  • Recursion & Backtracking
  • Greedy Algorithms
  • Dynamic Programming (DP)
  • Graph Algorithms (DFS, BFS, Dijkstra, Floyd-Warshall, etc.)
  • Divide & Conquer Techniques

πŸ›  How to Use This Repository?

  1. Clone the repository
    git clone https://github.com/your-username/dsa-python-indepth.git
    cd dsa-python-indepth
  2. Explore different data structures and algorithms in the respective folders.
  3. Run Python scripts to test implementations.
  4. Solve practice problems and improve problem-solving skills.

πŸ’‘ Contributing

We welcome contributions! Feel free to:

  • Fix bugs or optimize existing code.
  • Add new algorithms or data structures.
  • Solve and contribute practice problems.
  • Improve documentation.

πŸ“œ Check the CONTRIBUTING.md file for guidelines.


πŸ“š Resources & References


πŸ“© Contact & Support

If you find this repository helpful, give it a ⭐ and follow for updates!

πŸ“§ Feel free to reach out via GitHub Issues for questions and suggestions.

Happy Coding! πŸš€

About

In-depth DSA guide with Python, from basics to advanced. 🐍

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages