Algorithms (Data Structures) Bootcamp in C++

Udemy Algorithms (Data Structures) Bootcamp in C++

Register & Get access to index
JdBnFzc.jpg

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

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
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)
  • 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!
Who this course is for:
  • Intermediate C++ developers curious about algorithms and data structures
Author
TUTProfessor
Downloads
35
Views
839
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from TUTProfessor