Algorithms Bootcamp in C++
4.6 (202 ratings)
8,148 students enrolled

# Algorithms Bootcamp in C++

Recursion, backtracking, dynamic programming and data structures (linked lists, queues, stacks and binary search trees)
4.6 (202 ratings)
8,148 students enrolled
Created by Holczer Balazs
Last updated 7/2020
English
English [Auto]
Current price: \$12.99 Original price: \$19.99 Discount: 35% off
14 hours left at this price!
30-Day Money-Back Guarantee
This course includes
• 8 hours on-demand video
• 3 articles
• Access on mobile and TV
• Certificate of Completion
Training 5 or more people?

What you'll learn
• what is recursion
• what are backtracking and dynamic programming
• what are the fundamental data structures: array, linked lists, stacks, queues and binary search trees
Course content
Expand all 79 lectures 08:00:10
+ Algorithms - Recursion
10 lectures 48:50
Recursion and stack memory (stack overflow)
10:22
Factorial problem
05:22
Fibonacci-numbers problem
04:51
Fibonacci-numbers with tail recursion
00:20
Binary search with recursion
05:43
Towers of Hanoi introduction
06:00
Towers of Hanoi implementation
04:14
Recursion and iteration (differences)
01:43
+ Algorithms - Backtracking
8 lectures 01:04:15
What is backtracking?
06:06
N-queens problem introduction
10:10
N-queens problem implementation
12:41
Coloring problem introduction
09:12
Coloring problem implementation
09:01
Knight's tour problem introduction
04:06
Knight's tour problem implementation
09:08
Problems with NP-complete problems
03:51
+ Algorithms - Dynamic Programming
6 lectures 47:09
What is dynamic programming?
03:22
Fibonacci numbers introduction
05:34
Fibonacci numbers implementation
04:34
Knapsack problem introduction
12:49
Knapsack problem example
13:18
Knapsack problem implementation
07:32
+ Data Structures - Arrays
3 lectures 18:43
Arrays introduction - basics
05:55
Arrays introduction - operations
05:53
Arrays in C++
06:55
+ Data Structures - Linked Lists
4 lectures 33:13
07:09
09:32
06:36
09:56
+ Data Structures - Stacks
5 lectures 28:55
Stack introduction
04:00
Stacks in memory management ( stacks, heaps )
07:23
Stacks and recursive method calls
07:02
Stacks implementation with arrays
06:54
03:36
+ Data Structures - Queues
2 lectures 12:17
Queues introduction
05:12
07:05
+ Data Structures - Trees
9 lectures 51:09
Binary search trees theory - basics
10:23
Binary search trees theory - search, insert
04:25
Binary search trees theory - delete
06:08
Binary search trees theory - in-order traversal
04:25
Binary search trees theory - running times
02:10
Binary search tree implementation I
05:45
Binary search tree implementation II
05:25
Binary search tree implementation III
09:22
Practical (real-world) applications of trees
03:06
Requirements
• C++ fundamentals
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)

• recursion and stack memory of the OS

• recursive problems: binary search and Towers of Hanoi problem

Chapter 2: Backtracking

• what is backtracking

• how to solve problems with backtracking

• N-queens problem, coloring problem and knight's tour

Chapter 3: Dynamic Programming

• overlapping subproblems and dynamic programming

• what is "memoization"

• Fibonacci numbers and knapsack problem

Chapter 4: Data Structures

• data structures and abstract data types (ADTs)

• stacks

• queues

• binary search trees

• priority queues (heaps)

• associative arrays (maps)

Thanks for joining my course, let's get started!

Who this course is for:
• Intermediate C++ developers curious about algorithms and data structures