Introduction to Algorithms and Data structures in C++

A step-by-step guide with solved problems. I'm teaching visually with lots of examples.
Free tutorial
Rating: 4.2 out of 5 (4,836 ratings)
69,366 students
Introduction to Algorithms and Data structures in C++
Free tutorial
Rating: 4.2 out of 5 (4,836 ratings)
69,366 students
Deeply understand basic Algorithms & Data Structures concepts
Apply Algorithms & Data structures to new problems
Analyse algorithms efficiency
Find efficient algorithms
Solve algorithmic problems!
Learn more advanced topics

Requirements

  • Desire to learn
  • The basic syntax of C or C++
Description

***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!

Who this course is for:
  • You, if you don't know where to start.
  • You, if you watched many YouTube videos without understanding!
  • You, if you want to learn Algorithms & Data Structures fast!
  • You, if you want to solve algorithmic problems!
Curriculum
5 sections • 39 lectures • 3h 15m total length
  • Introduction
  • Curriculum overview & Video quality
  • Installing IDE: Codeblocks
  • Creating a project
  • What is STL ?
  • Time is your single competitor
  • Global/Local variables: Part one
  • Global/Local variables: Part two
  • How to prepare for competitive programming ?
  • Global/Local variables
  • Global/Local variables: Part three
  • Lessons from my CS degree
  • How debug effectively
  • Complexity analysis
  • Appearance array
  • PRACTICAL EXERCISE - Counting sort
  • Stack
  • PRACTICAL EXERCISE: Check parenthesis expression
  • Queue
  • PRACTICAL EXERCISE
  • How to prepare for the coding interview?
  • Binary search
  • GOLD trick: Mars trickery
  • Finding first or last occurrence of a number
  • PRACTICAL EXERCISE
  • PRACTICAL EXERCISE - Number of occurrences
  • Basic sorting
  • Fast sorting: Sort from STL
  • PRACTICAL EXERCISE: Majority element
  • Data structures: Part one
  • Data structures: Part two
  • Constructors: Part one
  • Constructors: Part two
  • Sorting structures
  • Fibonacci sequence
  • Dynamic programming
  • How to spot recurrence relations?
  • 0/1 Knapsack problem
  • Finding the ideal complexity
  • PRACTICAL EXERCISE: Finding a sum

Instructor
Google HashCode World finalist, 3x Gold medalist
Andrei Margeloiu
  • 4.2 Instructor Rating
  • 4,836 Reviews
  • 69,366 Students
  • 1 Course

In 2017 he ranked 1st out of UK universities in the Google HashCode worldwide algorithmic competition and participated in the World Finals at Google Paris HQ.

Andrei is a competitive programmer who has learnt C++ from scratch, and in the first year, he won the prestigious Gold Medal in the Computing Olympiad!

In the next years, he has become one of the most award-winning students in his generation, winning a total of 3 Gold Medals out of 4 possible! He has a deep understanding of C++ principles, algorithms and data structures. He has solved more than 1000 competitive problems, and he has even built a program that simulates an online shop deliveries using drones!

Andrei has helped more than 7000 students to learn Algorithms & Data structures from scratch! He loves to explain in the way he wished he has been taught! As he was thinking of becoming a teacher, he dives deep to the core principles, crack hard problems in small pieces that can be understood quickly and finally explain the logic behind the program. By joining him, you will not only become fluent in C++, but you will develop a real programmer logic and be able to switch rapidly to other programming languages!

Now, Andrei is studying Computer Science at the prestigious University College London to dive further into this amazing field!

Join him on this incredible journey and discover Algorithms & Data structures!