When you enroll through our links, we may earn a small commission—at no extra cost to you. This helps keep our platform free and inspires us to add more value.

Udemy logo

Recursion, Algorithms and Data Structures Bootcamp in C++

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

     
  • 4.5
  •  |
  • Reviews ( 433 )
₹569

This Course Includes

  • iconudemy
  • icon4.5 (433 reviews )
  • icon17h 47m
  • iconenglish
  • iconOnline - Self Paced
  • iconprofessional certificate
  • iconUdemy

About Recursion, Algorithms and Data Structures Bootcamp in C++

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!

What You Will 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 Show moreShow less.