Skip to content
UdemyData Structures and AlgorithmsPaid courseAll LevelsCertificate

Recursion, Algorithms and Data Structures Bootcamp in C++ (Udemy.com)

Recursion, Backtracking, Dynamic Programming, Graphs, Data Structures, Sorting and Substring Search Algorithms

Created by: Holczer Balazs

Last updated April 2023

icon
What you will learn

  • understand recursion and stack memory
  • understand backtracking
  • understand dynamic programming
  • understand the fundamental data structures
  • understand arrays and linked lists
  • understand stacks and queues abstract data types
  • understand tree data structures (binary search trees and heaps)
  • understand hashing and hash-based data structures such as hash tables
  • understand graph algorithms
  • understand breadth-first search and depth-first search
  • understand shortest path problem (Dijkstra's and Bellman-Ford algorithm)
  • understand substring search algorithms (Rabin-Karp, Knuth-Morris-Pratt and Z algorithms)
  • understand sorting algorithms

How it compares

Against the other 86 rated Udemy courses in Data Structures and Algorithms on CourseDuck:

  • Rating4.6 out of 5higher than 66% of them
  • Reviews439#42 of 87 by number of reviews
  • Length17.8 hourslonger than 67% of them
  • Last updatedApril 2023more recently than 51% of them

icon
Course Description

This course is for those who are interested in computer science and want to implement the algorithms and given data structures in C++ from scratch. In every chapter you will learn about the theory of a given data structure or algorithm and then you will implement them from scratch.

Chapter 1: Recursion

  • theory behind recursion (recursive function calls)

  • stack memory and heap memory

  • recursion and stack memory of the OS

  • recursive problems such as the Towers of Hanoi problem

Chapter 2: Backtracking

  • what is backtracking

  • how to solve problems with backtracking

  • N-queens problem

  • coloring problem

  • knight's tour

Chapter 3: Dynamic Programming

  • overlapping subproblems and dynamic programming

  • what is "memoization" and "tabulation"?

  • Fibonacci numbers

  • knapsack problem

Chapter 4: Data Structures

  • data structures and abstract data types (ADTs)

  • arrays

  • linked lists

  • stacks

  • queues

  • binary search trees

  • priority queues (heaps)

  • associative arrays (hash tables)

Chapter 5: Graphs

  • directed and undirected graphs

  • graph traversal: breadth-first search and depth-first search

  • shortest path algorithms

  • Dijkstra's algorithm

  • Bellman-Ford algorithm

Chapter 6: Substring Search Algorithms

  • the most relevant substring search algorithms

  • naive substring search

  • Knuth-Morris-Pratt (KMP) substring search algorithm

  • Rabin-Karp algorithm

  • Z algorithm (linear pattern matching)

Chapter 7: Sorting

  • stable sorting and adaptive sorting

  • comparison based and non-comparison based sorting algorithms

  • string sorting

  • bubble sort

  • selection sort and insertion sort

  • quicksort

  • merge sort

  • counting sort and radix sort

These are the topics we are going to consider on a one by one basis. After every topic there is a Q&A section where you can test your knowledge on the given topics. Thanks for joining my course, let's get started!

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Holczer Balazs

My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods and recipes such as solving differential equations, linear algebra, interpolation and extrapolation. These things may prove to be very very important in several fields: software engineering, research and development or investment banking. I have a special addiction to quantitative models such as the Black-Scholes model, or the Merton-model.

Take a look at my website if you are interested in these topics!

icon
More courses by Holczer Balazs

$16.99

$10.99

$11.99

$10.99

$13.99

$13.99

icon
More Data Structures and Algorithms courses

Free

$119.99

Free

$99.99

$109.99

$84.99

icon
Reviews

4.6

439 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Shay Hatan on 12/14/2021

Very clear, amazing presentations. Speaks slow and clear, furthere more there is subtitles.

By Ankitaben Patel on 4/4/2021

Very few courses actually in depth fundamentals of DS. These course's not only coverage is good, it also has lots of other information and different implementation. I was afraid of addressing knapsack problem and N-queen problem till now. Explanation given here made it so easy to understand. Must have course for every C++ developer.

By Neil Chokriwala on 7/9/2020

His code is really clean!!! You can learn just from the code itself and just his syntax and spacing, how he lays out comments, he picks a bunch of challenging problems. This is a really good course.

By José Zancada González on 4/7/2020

Combina muy bien la parte teórica con la práctica. La parte teórica está muy bien explicada con las ecuaciones, dibujos y gráficos y ejemplos sencillos necesarios. La parte práctica asienta lo que se ha desarrollado en la parte teórica con ejemplos concretos también sencillos pero que son necesarios para ver los algoritmos funcionando.

By Nahim EL ATMANI on 3/25/2020

I found the course a bit too boring, examples are already implemented and leave no space for tinkering and trying on our own. All those information are easily searchable online for free and would take far less time to go through than 7.5 hours.

By Vinayak Kukreja on 11/26/2019

The course is really nice and it is for everyone who needs a refresher or even a start with algorithms and data structures in C++. The pace of the course is very good, and the instructor's knowledge regarding the subject is also very good.

By Lewis Bawden on 9/27/2019

As someone with a background in C++ from experimental physics, but without a computer science background, I enjoyed this course and learnt a lot from it. It was a great introduction into basic abstract data types and basic graph search and recursive algorithms. The instructor covered interesting problems in a very clear way and slowly built up to the highest complexity problem, but without feeling like it was going at a painfully slow or lightning fast pace.

By Thomas Zoller on 8/1/2019

The course is good for total beginners or as a quick refresher for everyone with at least a little CS background. Author explains all topics in an easy to follow way. Examples are very abstract which is sufficient to explain the algorithms but gives no idea about practical application. There's nothing C++ specific except that the examples are implemented in C++. So, the learner should more expect lectures about algorithms than about C++. For anyone fluent in English, watch at 1.5x times speed.

By Salim Pamukcu on 6/9/2019

I started from the Graphs section since I needed to learn for computer graphics class; theory part is good so far..Hopefully there will be more coding examples as well :) Nice class :)

By Hazel Lovelock on 5/18/2019

Best course on Data Structures with C++ on Udemy, even makes use of modern C++ such as smart pointers which is a plus.

Showing all 10 reviews on CourseDuck

Read all 439 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100