Simply put, algorithms are several steps to solve a specific problem (e.g., sort number, search value, transform data, etc.). Algorithms are an essential toolbox for every programmer. Even if you don't realize it, you use them every day. They are built-in in apps, programming languages, and libraries. However, to make use of them properly, you have to know the tradeoffs so you can choose the best tool for the job.
In this course, you are going to learn:
This came at the right time. I just got rejected for something due to lack of understanding of DS.-/u/IrtahkEnt
Started reading the book, the most through the comp sci dive in. But man, It feels nice to think about the problems in the language I work with most regularly. Can be so hard to read some of these books and understand the concepts when also trying to wrap your head around a language you don't know.-/u/sidious911
Nice one! Extremely useful-/u/pmc-a
Very cool stuff. I’m still looking through it, but it seems solid.-/u/ScientificBeastMode
When you interview with top tech companies, you will be expected up with algorithmic solutions on the spot. Even if you know how to solve the problem, 45 minutes is not enough time. So, you have to prepare for it beforehand and have concepts clear on your mind.
That's why I decided to change that, and I spent years studying algorithms and went back to school to get M.S. in Software (2012), but you don't have to. I realized school doesn't prepare you to think quickly on your feet and also sometimes goes too deep into theoretical concepts that are barely useful. You have to put the effort and keep learning and practicing on your own. This material is streamlined. It covers the fundamental concepts to help you improve your problem-solving skills. This is what I wished I had when I started.
As a programmer, we have to solve problems every day. If you want to solve problems well, then it's good to know about a broad range of solutions. A lot of times, it's more efficient to learn existing resources than stumble upon the answer yourself. The more tools and practice you have, the better. This book helps you understand the tradeoffs among data structures and reason about algorithms performance.
You will learn how to build: queues, stacks, linked lists, graphs, and trees. You’ll learn to implement several different sorting algorithms: bubble, insert, merge, and quick. Each of these lessons will not only teach you their implementation, but the tradeoffs made in choosing one over another. Also, you’ll learn about concepts like Big O notation.
To sum up, this book covers:
NO experience with data structures or computer science needed!
This book is currently available on PDF (180+ pages), ePub and Mobi.
Yes, there's always room for improvement, and this course will keep getting better. You will have access to the updated versions.
Yes. All course participants receive access to a Slack channel where you can discuss problems and solutions. I'll be sitting on that channel most of the day. Helping you get better is my job.
We accept all major debit and credit cards from customers in every country.
Paypal is not supported on this portal, but you can still buy this book on Gumroad which supports Paypal.
If you can't afford this book, you can reach out to me on Twitter at @amejiarosario and I can send you a discount code.