Skip to content

Hamna-Munir/Advanced_DSA-for-ML

Repository files navigation

DSA-for-ML

Overview

Welcome to DSA-for-ML, a comprehensive repository designed to teach Data Structures & Algorithms (DSA) with a focus on Machine Learning applications.
This repository is structured to help beginners and intermediate learners understand algorithms, implement them in code, and see how they can be applied in AI/ML workflows.


Goals

  • Build a strong foundation in DSA.
  • Learn code implementation for all major data structures and algorithms.
  • Understand the time and space complexity of algorithms.
  • Apply DSA concepts to real-world ML problems.
  • Create a portfolio-ready project repository.

Repository Structure

DSA-for-ML/
│
├── 01_Basics/
├── 02_Arrays_and_Strings/
├── 03_Linked_Lists/
├── 04_Stacks_and_Queues/
├── 05_Trees/
├── 06_Graphs/
├── 07_Hashing_and_Sets/
├── 08_Recursion_and_Backtracking/
├── 09_Sorting_and_Searching/
├── 10_Dynamic_Programming/
├── 11_Advanced_Topics/
└── 12_ML_Application_of_DSA/

Each folder contains:

  • README.md → Concept explanation
  • Code_Examples/ → Implementations in Python
  • Optional diagrams, explanations, and notes

📆 Learning Roadmap

  1. Basics – Programming fundamentals, complexity analysis
  2. Arrays & Strings – Sliding window, two pointers
  3. Linked Lists – Singly, doubly, circular
  4. Stacks & Queues – Implementation and use-cases
  5. Trees – Binary trees, BST, AVL, Segment Trees, Trie
  6. Graphs – BFS, DFS, Dijkstra, Bellman-Ford
  7. Hashing & Sets – HashMaps, sets, collision handling
  8. Recursion & Backtracking – Problem-solving strategies
  9. Sorting & Searching – Merge, Quick, Heap, Binary Search
  10. Dynamic Programming – Knapsack, LCS, Matrix DP
  11. Advanced Topics – Greedy, Divide & Conquer, Graph Algorithms
  12. ML Applications – Feature engineering, trees in decision trees, graphs in GNN

💻 How to Use This Repo

  1. Clone the repo:
git clone https://github.com/yourusername/DSA-for-ML.git
  1. Navigate to any topic folder and explore:
cd 01_Basics
  1. Run code examples in Python:
python example.py

🤝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/your-topic)
  3. Commit your changes (git commit -m 'Add new topic explanation')
  4. Push to the branch (git push origin feature/your-topic)
  5. Open a Pull Request

📝 Author

— Hamna Munir


📌 License

This repository is licensed under the MIT License.

About

DSA-for-ML is a complete repository designed to teach Data Structures and Algorithms from scratch, with a focus on how these concepts are applied in Machine Learning. It includes detailed explanations, step-by-step code examples, complexity analysis, and practical ML applications, making it ideal for beginners and aspiring AI/ML engineers.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages