Algorithms Bootcamp in C++

Recursion, backtracking, dynamic programming and data structures (linked lists, queues, stacks and binary search trees)

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
  • Requirements
  • C++ fundamentals

Description

This course is for those who are interested in computer science and want to implement the algorithmsand 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)
  • arrays and linked lists
  • stacks
  • queues
  • binary search trees
  • priority queues (heaps)
  • associative arrays (maps)

Thanks for joining course, let’s get started!

Who this course is for: