Brief Introduction
Recursion, backtracking, dynamic programming and data structures (linked lists, queues, stacks and binary search trees)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 my course, let's get started!
Requirements
- Requirements
- C++ fundamentals