HOME > Development > Recursion, Algorithms and Data Structures Bootcamp in C++

Recursion, Algorithms and Data Structures Bootcamp in C++

  • Development
  • Mar 02, 2025
SynopsisRecursion, Algorithms and Data Structures Bootcamp in C++, av...
Recursion, Algorithms and Data Structures Bootcamp in C++  No.1

Recursion, Algorithms and Data Structures Bootcamp in C++, available at $84.99, has an average rating of 4.55, with 174 lectures, 43 quizzes, based on 426 reviews, and has 10310 subscribers.

You will learn about 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 (Dijkstras and Bellman-Ford algorithm) understand substring search algorithms (Rabin-Karp, Knuth-Morris-Pratt and Z algorithms) understand sorting algorithms This course is ideal for individuals who are Intermediate C++ developers curious about algorithms and data structures It is particularly useful for Intermediate C++ developers curious about algorithms and data structures.

Enroll now: Recursion, Algorithms and Data Structures Bootcamp in C++

Summary

Title: Recursion, Algorithms and Data Structures Bootcamp in C++

Price: $84.99

Average Rating: 4.55

Number of Lectures: 174

Number of Quizzes: 43

Number of Published Lectures: 151

Number of Published Quizzes: 32

Number of Curriculum Items: 217

Number of Published Curriculum Objects: 183

Original Price: $19.99

Quality Status: approved

Status: Live

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 (Dijkstras and Bellman-Ford algorithm)
  • understand substring search algorithms (Rabin-Karp, Knuth-Morris-Pratt and Z algorithms)
  • understand sorting algorithms
  • Who Should Attend

  • Intermediate C++ developers curious about algorithms and data structures
  • Target Audiences

  • Intermediate C++ developers curious about algorithms and data structures
  • 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!

    Course Curriculum

    Chapter 1: Introduction

    Lecture 1: Introduction

    Chapter 2: ### RECURSION?###

    Lecture 1: What are stack and heap memory?

    Lecture 2: Stack memory and heap memory simulation

    Lecture 3: What is recursion (recursive function call)?

    Lecture 4: Head and tail recursion implementation

    Lecture 5: Recursion and stack memory (stack overflow)

    Lecture 6: Factorial problem – with head recursion and accumulator

    Lecture 7: Factorial problem – visualizing the stack

    Lecture 8: Fibonacci numbers problem – with head recursion

    Lecture 9: Fibonacci numbers – visualizing the stack memory

    Lecture 10: Fibonacci-numbers with tail recursion solution

    Lecture 11: Towers of Hanoi introduction

    Lecture 12: Towers of Hanoi implementation

    Lecture 13: Towers of Hanoi – visualizing the stack

    Lecture 14: Recursion and iteration (differences)

    Chapter 3: ### SEARCH ALGORITHMS ###

    Lecture 1: What is linear search?

    Lecture 2: Linear search implementation

    Lecture 3: What is binary (logarithmic) search?

    Lecture 4: Binary search implementation

    Chapter 4: ### BACKTRACKING ###

    Lecture 1: What is backtracking?

    Lecture 2: Brute-force search and backtracking

    Lecture 3: N-queens problem introduction

    Lecture 4: What is the search tree?

    Lecture 5: N-queens problem implementation

    Lecture 6: N-queens problem and the stack memory

    Lecture 7: Coloring problem introduction

    Lecture 8: Coloring problem visualization

    Lecture 9: Coloring problem implementation

    Lecture 10: Knights tour problem introduction

    Lecture 11: Knights tour problem implementation

    Lecture 12: What is the problem with backtracking?

    Chapter 5: ### DYNAMIC PROGRAMMING ###

    Lecture 1: What is dynamic programming?

    Lecture 2: Fibonacci numbers introduction

    Lecture 3: Fibonacci numbers implementation

    Lecture 4: Knapsack problem introduction

    Lecture 5: Knapsack problem example

    Lecture 6: Knapsack problem implementation

    Chapter 6: ### DATA STRUCTURES ###

    Lecture 1: Why do we need data structures?

    Lecture 2: Data structures and abstract data types

    Chapter 7: Data Structures – Arrays

    Lecture 1: What are array data structures?

    Lecture 2: Arrays introduction – operations

    Lecture 3: Arrays in C++

    Chapter 8: Data Structures – Linked Lists

    Lecture 1: What are linked lists?

    Lecture 2: Linked list theory – operations

    Lecture 3: Pros and cons of linked lists

    Lecture 4: Linked list implementation

    Lecture 5: Comparing linked lists and arrays

    Lecture 6: Practical (real-world) applications of linked lists

    Chapter 9: Data Structures – Stacks

    Lecture 1: What are stacks?

    Lecture 2: Stacks in memory management (stacks and heaps)

    Lecture 3: Stack memory visualization

    Lecture 4: Stacks implementation with arrays

    Lecture 5: Stack implementation with linked lists

    Chapter 10: Data Structures – Queues

    Lecture 1: What are queues?

    Lecture 2: Queue implementation with linked list

    Chapter 11: Data Structures – Trees

    Lecture 1: Binary search trees theory – basics

    Lecture 2: Binary search trees theory – search, insert

    Lecture 3: Binary search trees theory – delete

    Lecture 4: Binary search trees theory – in-order traversal

    Lecture 5: Binary search trees theory – running times

    Lecture 6: Binary search tree implementation I

    Lecture 7: Stack memory visualization – finding max (min) items

    Lecture 8: Stack memory visualization – tree traversal

    Lecture 9: Binary search tree implementation II

    Lecture 10: Binary search tree implementation III

    Lecture 11: Practical (real-world) applications of trees

    Chapter 12: Priority Queues (Heaps)

    Lecture 1: What are priority queues?

    Lecture 2: Heap introduction – basics

    Lecture 3: Heap introduction – array representation

    Lecture 4: Heap introduction – remove operation

    Lecture 5: Using heap data structure to sort (heapsort)

    Lecture 6: Heap introduction – running times

    Lecture 7: Binomial and Fibonacci heaps

    Lecture 8: Heaps implementation I

    Lecture 9: Heaps implementation II

    Instructors

  • Recursion, Algorithms and Data Structures Bootcamp in C++  No.2
    Holczer Balazs
    Software Engineer
  • Rating Distribution

  • 1 stars: 8 votes
  • 2 stars: 10 votes
  • 3 stars: 40 votes
  • 4 stars: 156 votes
  • 5 stars: 212 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!