Learning Data Structures and Algorithms as Machine Learning Engineer
Why revisit DS and algorithms
I am a fresh graduate from AI college, i spent the last 4 years learning about both Computer science and AI.
I was learning some math, machine learning , Deep learning and a lot of programming with python and C++, spent some a lot of time learning web also for freelance jobs.
a lot of time i had multiple interviews while i was a student in the summer and all the time the questions was about linkedlist, and some medium leetcode question and a few of them was about frameworks like pytorch or pandas.
I faced a strange fact when i started to work on life projects or some advanced books…etc they require a strong problem solving skills that i don’t have!!
I am revisiting these topics and will try to get out from the juypter notebook and kaggle world in software engineer with python and focus more on open source projects.
I want to reazlie the time/memeory order of the data structures i am using in my projects
I have read the algorithm book v3 and spent 6 months on codeforces with c++ i remember these days where i could spent around 10 hours per day solving problems with myself before the AI assistants like GPT..etc i am missing the good feeling after every problem i manage to solve and i was able to write around 90 lines of code without research or AI help..etc.
I will start learning again about this topics and make them a daily habit to solve a problem per day: - [grokking_ds] - it’s a new book about data structure in python and explained with the grokking style
[DS with python] - it’s a mostafa saad ibrhaim udemy course with python version with a lot of problems to solve
[neetcode] - a roadmap to focus on some problems selected from neetcode
[coding challenges] - A SE problems to help you focus more on how to build projects not just problem solving which will help me to start doing some open source
times i needed DS
- multiple time when i was trying to building some solutions related to NLP or graph neural network i know that this problem must solved with Linkedlist and this needs a type of tree then i struggle to continue....
- Learning about some NLP Algorithms or the new searching and matching techniques most of the time they are math equations with some optimizations you can't fully understand unless your skills in problem solving
- research in DL needs a huge skills in problem solving and how to understand the following architectures then update or utilize them to your needs more in this in the future but i think the better you are in SE the better you are in ML.