You’ve just stumbled upon the most complete, in-depth Algorithms and Data Structures course online.
Whether you want to:
- build the skills you need to get your first programming job
- move to a more senior software developer position
- become a computer scientist mastering in computation
- or just learn algorithms and data structures to be able to create your own apps quickly.
...this complete Algorithms and Data Structures Masterclass is the course you need to do all of this, and more.
You’ve just stumbled upon the most complete, in-depth Algorithms and Data Structures course online.
Whether you want to:
- build the skills you need to get your first programming job
- move to a more senior software developer position
- become a computer scientist mastering in computation
- or just learn algorithms and data structures to be able to create your own apps quickly.
...this complete Algorithms and Data Structures Masterclass is the course you need to do all of this, and more.
This course is designed to give you the Algorithms and Data Structures skills you need to become an advanced developer. By the end of the course, you will understand Algorithms and Data Structures extremely well and be able to build your own apps and be productive as a computer scientist and software developer.
What makes this course a bestseller?
Like you, thousands of others were frustrated and fed up with fragmented Youtube tutorials or incomplete or outdated courses which assume you already know a bunch of stuff, as well as thick, college-like textbooks able to send even the most caffeine-fuelled coder to sleep.
Like you, they were tired of low-quality lessons, poorly explained topics, and confusing info presented in the wrong way. That’s why so many find success in this complete Algorithms and Data Structures course. It’s designed with simplicity and seamless progression in mind through its content.This course assumes no previous coding experience and takes you from absolute beginner core concepts. You will learn the core computer science skills and master advanced algorithms. It's a one-stop shop to be an expert in computer science. If you want to go beyond the core content you can do so at any time.
Here’s just some of what you’ll learn
(It’s okay if you don’t understand all this yet, you will in the course)
Big O Notation, Big Omega, Big Theta
Complexity Analysis of Algorithms
Divide and Conquer
Dictionaries (Maps)
Stacks and Queues
Binary Search Trees
AVL Trees
Priority Queues
Graphs
Depth-First Search and Breadth-First Search
Generation and Exhaustive Search (Backtracking)
Greedy Algorithms
Dynamic Programming
Flow Networks
Ford-Fulkerson Algorithm
Hash Tables
Boom Filters
Max-flow Min-cut Algorithm
Fibonacci Heaps
How to develop powerful applications using Advanced Data Structures and Algorithms.
What if I have questions?
As if this course wasn’t complete enough, I offer full support, answering any questions you have.
This means you’ll never find yourself stuck on one lesson for days on end. With my hand-holding guidance, you’ll progress smoothly through this course without any major roadblocks.
There’s no risk either.
This course comes with a full 30-day money-back guarantee. Meaning if you are not completely satisfied with the course or your progress, simply let me know and I’ll refund you 100%, every last penny no questions asked.
You either end up with Algorithms and Data Structures skills, go on to develop great programs and potentially make an awesome career for yourself, or you try the course and simply get all your money back if you don’t like it…
You literally can’t lose.
Ready to get started, developer?
Enroll now using the “Add to Cart” button on the right, and get started on your way to creative, advanced Algorithms and Data Structures brilliance. Or, take this course for a free spin using the preview feature, so you know you’re 100% certain this course is for you.
See you on the inside (hurry, Algorithms and Data Structures are waiting. )
On this lesson we introduce the course and mention some of the main topics that we will work along the course.
On this lesson we study the course structure.
On this lesson we introduce some of the topics of Asymptotic Notation that we will study.
In this lesson we introduce the time complexity of an algorithm.
In this lesson we study the Big O Notation and see some examples.
In this lesson we study the Big Ω Notation and see some examples.
In this lesson we study the Big Θ Notation and see some examples.
On this lesson we solve the exercise 1 on cost analysis.
In this exercise we need to give the cost of different fragments of code.
On this lesson we solve the exercise 2 on cost analysis.
In this exercise we need to give the cost of different fragments of code.
On this lesson we introduce the dictionary data structure.
On this lesson we introduce how we can implement dictionaries in C++.
In this lesson we introduce the iteration over a dictionary.
On this lesson we see some more ways to iterate over a dictionary.
On this lesson we study the fundamental methods of dictionaries used in C++.
In this lesson we solve problem 1 of the problems section on dictionaries.
In this lesson we solve problem 2 of the problems section on dictionaries.
On this lesson we solve problem 3 of the problems section on dictionaries.
On this lesson we introduce the Stack data structure.
On this lesson we learn how to use Stacks in C++.
On this lesson we solve problem 1 of the problems section on Stacks.
On this lesson we solve problem 2 of the problems section on Stacks.
On this lesson we solve problem 3 of the problems section on Stacks.
On this lesson we introduce the Queue data structure.
On this lecture we see how to work with queues.
On this lesson we solve problem 1 of the problems section on Queues.
On this lesson we solve problem 2 of the problems section on Queues.
On this lesson we introduce the vector data structure.
On this lesson we begin to work with vectors.
On this lesson we study the fundamental methods of the vectors C++ library.
On this lesson we solve problem 1 of the problems section on Vectors.
On this lesson we solve problem 2 of the problems section on Vectors.
On this lesson we solve problem 3 of the problems section on Vectors.
On this lesson we introduce the Basic Sorting Algorithms section, and study the idea of sorting.
On this lesson we study the selection sort algorithm.
On this lesson we study the insertion sort algorithm.
On this lesson we study the bubble sort algorithm.
On this lesson we study the merge sort algorithm.
On this lecture we make a brief introduction to sets in computer science.
On this lecture we see how to work with sets.
On this lesson we introduce Graphs.
On this lesson we study the two main representations of graphs.
The adjacency list and the adjacency matrix.
On this lesson we study the adjacency matrix implementation for representing graphs. Implemented in C++.
On this lesson we study the adjacency list implementation for representing graphs. Implemented in C++.
On this lecture we introduce the Depth First Search Algorithm.
On this lecture we implement the Depth First Search Algorithm.
This algorithm is recursive. On future lessons we will study the iterative algorithm.
On this lesson we implement the General Depth First Search Algorithm to traverse all nodes in the Graph, even if the graph is disconnected.
On this lesson we solve problem 1 of the problems section on Depth First Search.
On this lesson we solve problem 2 of the problems section on Depth First Search.
On this lesson we solve problem 3 of the problems section on Depth First Search.
On this lesson we introduce the Breadth First Search Algorithm.
On this lecture we implement the Breath First Search Algorithm.
On this lesson we solve problem 1 of the problems section on Breadth First Search.
On this lesson we solve problem 2 of the problems section on Breadth First Search.
On this lecture we introduce the Topological Sort algorithm.
On this lecture we explain the Topological Sort algorithm.
On this lesson we implement the topological sort algorithm.
On this lesson we solve problem 1 of the problems section on Topological Sort.
On this lecture we introduce Binary Trees.
On this lecture we learn how to implement the binary tree data structure.
On this lecture we solve problem 1 of the problems section on Binary Trees.
On this lecture we solve problem 2 of the problems section on Binary Trees.
On this lecture we solve problem 3 of the problems section on Binary Trees.
On this lecture we solve problem 4 of the problems section on Binary Trees.
On this lecture we solve problem 5 of the problems section on Binary Trees.
On this lecture we solve problem 6 of the problems section on Binary Trees.
On this lecture we solve problem 7 of the problems section on Binary Trees.
On this lesson we introduce the flow network concept.
We introduce the statements of two flow network problems: max flow and min cut.
In this lesson we explain the foundation of residual graph in flow networks.
On this lecture we study the concept of augmenting path in Flow Networks.
On this lesson we introduce brute force algorithms.
On this lesson we introduce the backtracking technique.
On this lesson we provide a generic algorithm for solving backtracking problems.
On this lesson we solve problem 1 of the problems section on Backtracking.
On this lesson we solve problem 2 of the problems section on Backtracking.
On this lesson we solve problem 3 of the problems section on Backtracking.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.