This is now an important, a bit more advanced module. Throughout this course, you learned a lot about Javascript
and a lot about the important things that make up the language.
Now if you want to be a developer, no matter if it's Javascript or something else, you also need to be
able to solve more or less complex problems and therefore you need to be able to work out algorithms
and work with data structures
or as I also like to put it, you need to be able to think logically and also to find the best solution
for a given problem.
This is what this module is about and you could easily create an entire course about data structures
and algorithms
as it turns out and this of course is not the goal here but this will be an introductory module where
we dive into this topic quite deeply
so that you know how to get started and build upon this to learn all you need to learn about that topic.
Now what specifically is inside this module though?
We'll have a look at the what and why,
what exactly are algorithms and data structures and why do we need them
but then of course we'll also learn about them, learn some example algorithms and also explore how we
can compare different solutions against each other.
For that we'll dive into something which is called time complexity and the Big O notation, this will help
us measure the performance, you could say, of an algorithm and will help us make the decision on the best
algorithm, the best solution for a given problem.
Well and of course, we'll have a look at a couple of examples,
we'll build a couple of algorithms together from scratch
so that you get a feeling for how this works and how you should think about this to solve common problems
there. Well
with that,
let's dive right in and understand what exactly algorithms and data structures are and why we need
them.