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 **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)
- 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:

- Intermediate C++ developers curious about algorithms and data structures
- direct link – https://www.udemy.com/algorithms-bootcamp-in-c/?ranMID=39197&ranEAID=VkwVKCHWj2A&ranSiteID=VkwVKCHWj2A-tlOPjTc_Q24wM8kyCIvAgw&LSNPUBID=VkwVKCHWj2A