Not from a CS background, I'm in math and stats at university and I'm starting a year long Internship that is more on the data science side. I want to start learning data structures and algorithms so I can interview with more tech integrated companies . Any advice or resources ? Is a book better or a Coursera course, if so which book or course. Thanks again. #tech #software #DSA #engineering #software #swe
You are pretty late. May be late by couple of decades...You should have started it in your mothers womb. cormen or TAOP series book should have been read to you when you were in womb
Fuck you're right I should've started doing leetcode hards by the first time I pissed my pants. No hope for me
Do you believe in reincarnation and the cycle of life and death? Doesn't matter what you believe, you should have learnt a bit of coding in each of your previous births.
Get this book https://en.m.wikipedia.org/wiki/Introduction_to_Algorithms
CLRS?
Try making a list of the commonly used algos used - you can find by simply googling - watch some videos or read about them from somewhere - solve LC tagged questions or if you'd like exploring competitive coding, you can try out Codechef/Codeforces.
Don't get stuck upon following some particular resources - read about the topic by googling and then just implement those concepts on some questions.
Algorithms I by robert sedgewick from Princeton helped me a lot. (Coursera) . Can recommend
Do I need to know a language or something? I only know python and R lol
The course examples are in Java... but i had never done java before knew only Javascript and a little python. I only learned a bit basic java to do the assignments. If you understand any object oriented language you should be good. I loved the course.
Cormen algo book as everyone said, Algorithms and data structures coursera offered by UCSD though it’s more on the academic side ; and the Algorithms book by Sedgewick is also great. Granted like many, most of my learning was done via YouTube and leetcode. If you reaaaaaally want a deep dive watch the 10hr series by William Fisset (believe he’s a Google engineer). Edit: YouTube channel Back to SWE and Dr Abdul Bari’s algo playlist good resources too
How did you learn from leetcode exactly? Like how did you develop the mindset to not brute force everything?
Take this with a grain of salt as im still a newb (1yoe). But basically I wanted a way to figure out how to effectively study for Faang/other tech interviews ; I was told to study the patterns (fast slow, sliding window, bfs dfs, merge intervals, topological sort, binary search, top K elements +many more) and what I did was practice problems relevant to each. Im not an expert but I feel im able to identify which subset a problem belongs to. Then it’s just a question of choosing the right approach. I still have a ways to go. Ideally I would’ve spent time finishing the UCSD course but given how academic it is I didn’t have to (it’s all Leetcode grind these days)
Read the book Grokking Algorithms. It's really beginner friendly. You can build solid mental model before going in depth.
http://jeffe.cs.illinois.edu/teaching/algorithms/ Read the concepts and understand the example problems and solve problems on leetcode.
Leetcode
There was a Standford course on cs on coursera, it also had assignments. It helped me. Also the lectures from mit algorithms classes helped me.