Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

# Algorithms (Data Structures) Bootcamp in C++

via Udemy

## Overview

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

What you'll 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

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!

Holczer Balazs

## Reviews

Start your review of Algorithms (Data Structures) Bootcamp in C++

### Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.