Recursion, Algorithms and Data Structures Bootcamp in C++

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

Recursion, Algorithms and Data Structures Bootcamp in C++

Recursion, Algorithms and Data Structures Bootcamp in C++ udemy course free download

Recursion, Backtracking, Dynamic Programming, Graphs, Data Structures, Sorting and Substring Search 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!