4 ms·
Since you don't have a CS degree, and since your goal might be characterized as practical growth, here's a shortcut guide: * Learn the Big-O notation character
by firebones 10y ago
Since you don't have a CS degree, and since your goal might be characterized as practical growth, here's a shortcut guide:
* Learn the Big-O notation characteristics of data structures and algorithms you're going to use in the real world. Understanding data structure selection is probably more important than understanding the algorithms
* If you want to learn algorithms, the best (empirical) place to start is with solving real problems, efficiently. So some of the contests/HackerRank type things here would be very good. Try them on your own--don't worry about efficiency, just worry about a working answer. Then go study the right answer for the problems. Understand the solutions thoroughly.
* Don't be afraid to prematurely optimize some problem you have to solve. Trying to eke out more performance is a great way of understanding the representation of data and its transformation. You'll be well on your way.
I've been in the industry for decades. The number of sorting algorithms I've written in college versus ones I've written in industry is still at least 5:1. But I've had to optimize far more stuff in industry than I did in college, and develop algorithms for solving real problems that wouldn't make sense to teach in school. So expose yourself to solving real problems! It'll pay off.