What you'll learn:
- Master Sorting Algorithms and Data Structures FAST
- Implement Selection, Bubble, Merge and Quick Sort
- Implement Binary Search Tree, AVL Tree, Linked List, Tries and Hash Tables
- Improve problem-solving skills & Construct Efficient Algorithms
This course is designed to help you understand sorting algorithms and data structures. In my experience most people focus on the programming language, but people often forget about algorithms.
Algorithmsare definitely more important than a programming language, you can learn a programming language in about week, but the problem-solving ability is much harder to learn. But the benefits are worth it.
When you get tointerviewmostly they care about yourproblem-solving abilities, algorithms and data structures.
To get your dream job, you need to know how to solve whatever problem they have. In this course, you will learn how to do that.
Also, I believe thatnobodyhas time for long and boring lectures, so inthis class, Itry to explain theimportant thingsin afast and engagingway, so I won't bore you to death.
We start off withSorting algorithms:
- Selection Sort
- Bubble Sort
First there is the explenation lecture where you learn the idea behind an algorithm, then there is the implementation lecture, where we implement the algorithm in Javascript.
Then I show you how Recursion works, once again I try to explain what recursion means, then we implement some recursion algorithms and we use debugger to see how computer evaluates recursive functions.
Then we move on to recursive Sorting Algorithms
- Merge sort
- Quick sort
These algorithms are most commonly used. With each algorithm I explain the idea, then we implement the algorithm.
Once you learn sorting algorithms, we move on to Time Complexity:
- What is time Complexity
- Big O notation
I explain what is time complexity and why we need it, also, I will show you how to compare sorting algorithms, so that we can see which one is the "best".
In this section you also find an article with a lot of problems, where you can train your problem solving skills.
After that we take a look atData Structures, Ichoose In my opinion the best dat structures for you to learn the important concepts.
We start of with Tree Data Structures:
- Binary Search Tree
- AVL tree
You learn how these works and also how to implement them.
Then we take a look at Linked List, Stack, Tries and Hash Tables. Once again we implement all of these in Javascript.
I believe that learning and understanding these concepts willhelp you solve problems more efficiently.