What you'll learn:
- Sort algorithms (bubble, insertion, selection, quick, merge, heap, radix), Search algorithms (linear, hash-table, binary, ternary, jump, exponential, fibonacci), Binary Search Trees, AVL trees, Red-Black trees, B-Trees, B+Trees, Min Binary Heap, Max Binary Heap, Min-Max Binary Heap
This course teaches a comprehensive list of basic and advanced data structures and algorithms, an essential topic of coding interviews at tech companies.
The course is paired with a C# GitHub open source project (username: PiJei, repository name:AlgorithmsAndDataStructures) where each algorithm is tagged with its space and time complexities (Big O), and tested for correctness with the exact same examples used in this course.
If you are a developer or a graduate student who is preparing for coding interviews at large tech firms as Google, Amazon, Facebook, Apple, Microsoft, or smaller high tech companies, you have landed in the right place. By attending this course you will learn the essential and complex data structures and algorithms, once and for all.
Some algorithms are taught over a medium size example such that the algorithm repeats itself several times until it is no longer complex and rather easily understood.
You are expected to maintain the knowledge gained via this course for a very long period of time. This is because this course makes heavy usage of animations , examples, and repetitions, which are the keys for deeply learning new topics.
The course has 45 lectures (~ 400 minutes) covering the following topics:
Search Algorithms:
Linear Search
Hash-Table Search
Jump Search
Exponential Search
Fibonacci Search
Binary Search
Ternary Search
Interpolation Search
Sort Algorithms:
Bubble Sort
Insertion Sort
Selection Sort
Quick Sort
Merge Sort
Radix Sort
Heap Sort
Binary Heaps:
Min Binary Heap
Max Binary Heap
Min-Max Binary Heap
With these operations:
Build
Insert
Delete
Binary Trees:
Binary Search Tree
AVL Tree
RedBlack Tree
With these operations:
Insert
Delete
Nary Trees:
B Tree
B+ Tree
With these operations:
a. Insert
b. Delete