Recursion, Algorithms and Data Structures Bootcamp in C++
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 (Dijkstra's 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 (Dijkstra's 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: Knight's tour problem introduction
Lecture 11: Knight's 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
-
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!
You may also like
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024
- Top 10 Gardening Courses to Learn in November 2024