Udemy

Recursion, Algorithms and Data Structures Bootcamp in C++

Enroll Now
  • 10,490 Students
  • Updated 4/2023
  • Certificate Available
4.6
(435 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
17 Hour(s) 47 Minute(s)
Language
English
Taught by
Holczer Balazs
Certificate
  • Available
  • *The delivery and distribution of the certificate are subject to the policies and arrangements of the course provider.
Rating
4.6
(435 Ratings)
1 views

Course Overview

Recursion, Algorithms and Data Structures Bootcamp in C++

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!

Course Content

  • 23 section(s)
  • 151 lecture(s)
  • Section 1 Introduction
  • Section 2 ### RECURSION ###
  • Section 3 ### SEARCH ALGORITHMS ###
  • Section 4 ### BACKTRACKING ###
  • Section 5 ### DYNAMIC PROGRAMMING ###
  • Section 6 ### DATA STRUCTURES ###
  • Section 7 Data Structures - Arrays
  • Section 8 Data Structures - Linked Lists
  • Section 9 Data Structures - Stacks
  • Section 10 Data Structures - Queues
  • Section 11 Data Structures - Trees
  • Section 12 Priority Queues (Heaps)
  • Section 13 B-Trees
  • Section 14 Associative Arrays (HashTables)
  • Section 15 ### GRAPH ALGORITHMS ###
  • Section 16 Graph Algorithms - Breadth-First Search (BFS)
  • Section 17 Graph Algorithms - Depth-First Search (DFS)
  • Section 18 Graph Algorithms - Dijkstra's Shortest Path Algorithm
  • Section 19 Graph Algorithms - Bellman-Ford Algorithm
  • Section 20 ### SUBSTRING SEARCH ALGORITHMS ###
  • Section 21 ### SORTING ALGORITHMS ###
  • Section 22 Algorhyme FREE Algorithms Visualizer App
  • Section 23 DOWNLOADS (Course Materials)

What You’ll 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


Reviews

  • V
    Vinutha Ck
    5.0

    I it very informative and easy to understand course.

  • S
    Shikhar Singh
    4.5

    Just Wow! Great energy.

  • D
    Daniel Orozco
    4.5

    I really like the programming examples!!!

  • E
    Evgeniya
    4.0

    Good course with detailed and understandible explanation of algorithms. Just recommend to add sections with repetiotion of material or make quizes more complicated to better memorization

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed