Introduction to Algorithms and Data structures in C++
- Description
- Curriculum
- FAQ
- Reviews
***Big update – Dynamic programming***
- Fibonacci sequence
- Dynamic programming
- How to spot recurrence relations?
- 0/1 Knapsack problem
- Stack
- Check parenthesis expression
- Queue
“I learned a lot of things from this course. The GOLD trick was awesome.” Arpan P.
“I started thinking about problems in a more efficient way…” Mokshagna S.
“It’s deep, rich in information, consistent and dense” Laurentiu M.
“It’s a very good course, it focuses on building your concept.” Saransh S.
“Awesome, it’s just awesome” Yazan R.
I’m a competitive programmer, World Finalist in Google HashCode algorithmic challenge, and a 3x Gold Medalist in the Computing Olympiad C/C++. You will learn fundamentals Algorithms & Data structures fast and the knowledge will resist because I teach you using visual examples.
You will get my advice every time you need it! Just message me.
If you know the basics of C++, this course suits you perfectly !
I’ve designed this course to take you down a guided learning path. You will find some GOLD tricks sprinkled throughout the course that will help you become an algorithmic ninja!
What can you take from me ?
I have spent 5 years of my life learning this topic by myself. You have the possibility to take my knowledge for granted! I’m teaching in the way I learnt: with illustration and examples.
My Promise to You
Algorithms and Data structures brought me success and immense satisfaction. I created this course to share my knowledge with you because I love this topic and I promise to teach you with enthusiasm! If you need support, I will be just a message away.
My Approach
Practice, practice and more practice. After each lecture, I will guide you to solve little problems! The most important thing you can obtain from this course is to think like a problem solver!
-
5What is STL ?Video lesson
Tired of writing redundant code? Learn to use Standard Template Library (or STL), which is a collection of functions embedded into C++.
-
6Time is your single competitorText lesson
-
7Global/Local variables: Part oneVideo lesson
Understanding the differences between Global and Local variable is crucial in order to become a professional programmer. This lecture will give you a deeper insight about them.
-
8Global/Local variables: Part twoVideo lesson
Go deeper into the differences between local and global variables.
-
9How to prepare for competitive programming ?Text lesson
-
10Global/Local variablesQuiz
-
11Global/Local variables: Part threeVideo lesson
You will understand everything about variables. It will help you also with other programming languages.
-
12Lessons from my CS degreeText lesson
-
13How debug effectivelyVideo lesson
Learn how to debug effectively and get rid of bugs.
-
14Algorithms complexityVideo lesson
The bigger the complexity, the slower the algorithm. You will be able to classify algorithms based on Big O complexity notation!
I am sure this lecture will give you the 'aha, I got it now' sensation.
-
15Complexity analysisQuiz
-
16Appearance arrayVideo lesson
Learn to use appearance array. Later you'll extend the principle to hashmaps and dictionaries.
-
17PRACTICAL EXERCISE - Counting sortVideo lesson
Learn one of the quickest way to sort small inputs.
-
18StackVideo lesson
Understand how to use Stacks properly. It has a complexity of O(1) which makes it useful for many applications.
-
19PRACTICAL EXERCISE: Check parenthesis expressionVideo lesson
How can you better practice using a stack than checking a parenthesis expression ?
-
20QueueVideo lesson
What is a queue? It's like a queue of people waiting somewhere.
People that come will stay in the back of the queue, and people can go out the queue from the front.
So in a queue you can add elements from one end, called back, and remove from the other end, called front.
Every operation on a queue executes in O(1).
-
21PRACTICAL EXERCISEText lesson
-
22How to prepare for the coding interview?Text lesson
-
23Binary searchVideo lesson
You will learn the principle behind binary search and understand how it works. You will also learn how to calculate binary search complexity.
-
24GOLD trick: Mars trickeryVideo lesson
This is the solution to the previous exercise. Very nice trick to put in your repertoire!
-
25Finding first or last occurrence of a numberVideo lesson
You will some one of the most common interview question using binary search.
-
26PRACTICAL EXERCISEText lesson
-
27PRACTICAL EXERCISE - Number of occurrencesVideo lesson
You will some one of the most common interview question using binary search.
-
28Basic sortingVideo lesson
You will learn how to sort small inputs.
-
29Fast sorting: Sort from STLVideo lesson
Sorting from STL is fast and easy to implement. You will learn how to use it effectively, sorting in the way you need.
-
30PRACTICAL EXERCISE: Majority elementVideo lesson
You will understand how to find the majority element using a super-trick :).
-
31Data structures: Part oneVideo lesson
Data structures are very handy in real world situations. You will understand how they work and where you can use them.
-
32Data structures: Part twoVideo lesson
You will go deeper into Data structures.
-
33Constructors: Part oneVideo lesson
Constructors are useful in programming real world applications.
-
34Constructors: Part twoVideo lesson
Polish you understanding about constructors.
-
35Sorting structuresVideo lesson
Sorting arrays in a custom order is crucial in order to become a problem solver! I am sure you will find this lesson easy to understand.
-
36Fibonacci sequenceVideo lesson
Fibonacci sequence is found all over nature. You will find out how it relates to programming.
-
37Dynamic programmingVideo lesson
What is dynamic programming? How does dynamic programming really work? You will be able to answer those questions.
-
38How to spot recurrence relations?Video lesson
Understand one of the hardest parts of programming, finding the dynamic programming recurrence.
-
390/1 Knapsack problemVideo lesson
Solve one of the most famous dynamic programming problems. It is extended in many other applications.
External Links May Contain Affiliate Links read more