Skip to content

MoksedurRahman/data-structures-algorithms-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

data-structures-algorithms-python

curated collection of data structures, algorithms, and problem-solving techniques using Python. This repository is part of my learning and preparation journey for coding interviews and competitive programming.

data-structures-algorithms-python/

│ ├── README.md
├── LICENSE
├── .gitignore
│ ├── basics/
│ ├── variables.py
│ ├── loops.py
│ └── functions.py
│ ├── data_structures/
│ ├── arrays.py
│ ├── linked_list.py
│ ├── stack.py
│ ├── queue.py
│ ├── hash_table.py
│ ├── tree.py
│ └── graph.py
│ ├── algorithms/
│ ├── searching/
│ │ ├── linear_search.py
│ │ └── binary_search.py
│ ├── sorting/
│ │ ├── bubble_sort.py
│ │ ├── selection_sort.py
│ │ ├── insertion_sort.py
│ │ ├── merge_sort.py
│ │ └── quick_sort.py
│ └── recursion/
│ ├── factorial.py
│ └── fibonacci.py
│ ├── advanced/
│ ├── dynamic_programming/
│ │ ├── knapsack.py
│ │ ├── lcs.py
│ │ └── fibonacci_memo.py
│ ├── greedy/
│ │ └── activity_selection.py
│ ├── backtracking/
│ │ ├── n_queens.py
│ │ └── sudoku_solver.py
│ └── graph_algorithms/
│ ├── bfs.py
│ ├── dfs.py
│ ├── dijkstra.py
│ └── kruskal.py
│ ├── problems/
│ ├── leetcode/
│ ├── hackerrank/
│ └── codeforces/
│ ├── notebooks/
│ └── DSA-cheatsheet.ipynb
│ └── tests/
└── test_array.py

📚 Contents

  • 🔰 Basics
  • 🧱 Data Structures
  • ⚙️ Algorithms
  • 💡 Advanced Topics (DP, Greedy, Graphs)
  • 🧪 Unit Tests
  • 💻 Practice Problems (LeetCode, HackerRank, etc.)

🧰 Technologies

  • Python 3.x
  • Jupyter Notebook
  • pytest (for testing)

📈 Learning Progress

  • Arrays
  • Linked List
  • Binary Trees
  • Graph Algorithms
  • Dynamic Programming

🧠 What This Repo Is About

- A structured repository for learning and implementing Data Structures and Algorithms (DSA) in Python.

- Designed to strengthen problem-solving skills for coding interviews and competitive programming.

- Includes Python implementations, practice problems, and visual notebooks.

📌 Why I Built This Repo

- To prepare for technical interviews at top tech companies.

- To apply theoretical knowledge from my MSc in Applied Data Science.

- To showcase my understanding of algorithmic thinking and clean coding.

- To maintain a consistent habit of practicing DSA using Python.

🧱 What’s Covered

- Fundamental Data Structures: Arrays, Linked Lists, Stacks, Queues, Hash Tables, Trees, Graphs

- Core Algorithms: Searching, Sorting, Recursion, Backtracking

- Advanced Topics: Dynamic Programming, Greedy Algorithms, Graph Algorithms

- Practice Problems from LeetCode, HackerRank, Codeforces, etc.

🛠️ Tools & Technologies Used

- Python 3.x

- Jupyter Notebook (for visualizations and explanations)

- pytest for testing

- Git & GitHub for version control

📘 Learning Approach

- Hands-on implementation of each concept

- Code is written with comments and examples

- Covers time and space complexity analysis

- Incrementally adding unit tests and real-world applications

🎯 Goals of This Project

- Build a strong foundation in DSA with Python

- Help others learn DSA through clear, commented code

- Serve as a personal knowledge base for quick review

- Open-source contribution to support learners preparing for interviews

🚀 How to Run

# Clone the repo
git clone https://github.com/MoksedurRahman/data-structures-algorithms-python.git

# Run an example
python data_structures/stack.py

About

curated collection of data structures, algorithms, and problem-solving techniques using Python. This repository is part of my learning and preparation journey for coding interviews and competitive programming.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors