While in CS, you learn lots of algorithms, you will never need most of them. You learn a lot of them to get a better understanding of logical thinking and how stuff has developed and came to be. One example is BubbleSort. It is very slow and no one would use it in a real-world application, however it is easy to explain and understand for a programming newcomer.
That's why I think it is a lot more important to take a look at simple real-world algorithms, instead of going for theoretical basics. I recommend taking a look at the GameProgrammingPatterns, which are useful for all kinds of applications. You will be able to find them everywhere in source-code, and sometimes even use them without thinking about them in particular, since they really come naturally!
Theofanis Despoudis
Senior Software Engineer @teckro, Experienced mentor @codeinstitute, Technical Writer @fixate.io. Tweet me at @nerdokto
While the are tons of algorithms in CS you should focus on the basic ones and master them.
Here is an excellent website about Algorithms and Data structures.
geeksforgeeks.org/fundamentals-of-algorithms
Focus on the fundamental ones.