Grokking Data Structures & Algorithms for Coding Interviews

Unlock Coding Interview Success: Dive Deep into Data Structures and Algorithms!
Level:
Beginner
Study Time:
50h
Chapters:
165
Playgrounds :
185
Course Overview

In this comprehensive course, we delve deep into the world of data structures & algorithms, covering both the commonly used and the more advanced topics. Participants will learn the principles, usage, and implementation of various data structures, along with their time and space complexities. The course will feature multiple coding problems for each data structure and is tailored for coding interviews.

By the end of this course, learners will be adept at selecting and applying the most suitable data structure for any coding problem, ensuring optimized code performance. Prepare to elevate your coding skills and ace those coding interviews with confidence!

Image
Get instant access to all current and upcoming courses through subscription.
$19
.33
/mo
billed yearly ($231)
OR
Get Lifetime access to this course only.
$69
Certification on completing the course.
Course Content
14 Chapters • 165 Lessons
1.
Introduction to Data Structures
4 chapters
Who Should Take This Course?
Understanding Data Structures
Types of Data Structures
An Overview of Big-O
2.
Array
10 chapters
Introduction to Arrays
Arrays in Different Programming Languages
Problem 1: Running Sum of 1d Array (easy)
Solution: Running Sum of 1d Array (easy)
Problem 2: Contains Duplicate (easy)
Solution: Contains Duplicate
Problem 3: Left and Right Sum Differences (easy)
Solution: Left and Right Sum Differences (easy)
Problem 4: Find the Highest Altitude (easy)
Solution: Find the Highest Altitude (easy)
Introduction to Matrix
Problem 1: Richest Customer Wealth (easy)
Solution: Richest Customer Wealth (easy)
Problem 2: Matrix Diagonal Sum (easy)
Solution: Matrix Diagonal Sum (easy)
Problem 3: Row With Maximum Ones(easy)
Solution: Row With Maximum Ones(easy)
Introduction to Stack
Operations on Stack
Implementing Stack Data Structure
Applications of Stack
Problem 1: Balanced Parentheses
Solution: Balanced Parentheses
Problem 2: Reverse a String
Solution: Reverse a String
Problem 3: Decimal to Binary Conversion
Solution: Decimal to Binary Conversion
Problem 4: Next Greater Element
Solution: Next Greater Element
Problem 5: Sorting a Stack
Solution: Sorting a Stack
Problem 6: Simplify Path
Solution: Simplify Path
Problem 7: Remove All Adjacent Duplicates In String
Solution: Remove All Adjacent Duplicates In String
Problem 8: Removing Stars From a String
Solution: Removing Stars From a String
Problem 9: Make The String Great
Solution: Make The String Great
Introduction to Queues
Working with Simple Queues
Diving Deeper – Circular Queues and Deques
Applications and Advanced Concepts
Problem 1: Reverse a Queue
Solution: Reverse a Queue
Problem 2: Implement Stack using Queues
Solution: Implement Stack using Queues
Problem 3: Generate Binary Numbers from 1 to N
Solution: Generate Binary Numbers from 1 to N
Problem 4: Palindrome Check using Queue
Solution: Palindrome Check using Queue
Problem 5: Zigzag Iterator
Solution: Zigzag Iterator
Problem 6: Max of All Subarrays of Size 'k'
Solution: Max of All Subarrays of Size 'k'
Introduction to LinkedList
Operations on Singly Linked List
Operations on Doubly Linked List
Problem 1: Reverse Linked List (easy)
Solution: Reverse Linked List (easy)
Problem 2: Remove Duplicates from Sorted List (easy)
Solution: Remove Duplicates from Sorted List (easy)
Problem 3: Merge Two Sorted Lists (easy)
Solution: Merge Two Sorted Lists (easy)
Problem 4: Find if Doubly Linked List is a Palindrome (easy)
Solution: Find if Doubly Linked List is a Palindrome (easy)
Problem 5: Swap Nodes in Pairs (medium)
Solution: Swap Nodes in Pairs (easy)
Introduction to Tree
Binary Search Tree (BST)
Maximum Depth (or Height) of Binary Tree (easy)
Solution: Maximum Depth (or Height) of Binary Tree (easy)
Balanced Binary Tree (easy)
Solution: Balanced Binary Tree (easy)
Minimum Difference Between BST Nodes (easy)
Solution: Minimum Difference Between BST Nodes (easy)
Range Sum of BST (easy)
Solution: Range Sum of BST (easy)
Kth Smallest Element in a BST (medium)
Solution: Kth Smallest Element in a BST (medium)
Closest Binary Search Tree Value (medium)
Solution: Closest Binary Search Tree Value (medium)
Merge Two Binary Trees (medium)
Solution: Merge Two Binary Trees (medium)
Introduction to Hashing
Introduction to Hash Tables
Issues with Hash Tables
Problem 1: First Non-repeating Character (easy)
Solution: First Non-repeating Character (easy)
Problem 2: Largest Unique Number (easy)
Solution: Largest Unique Number (easy)
Problem 3: Maximum Number of Balloons (easy)
Solution: Maximum Number of Balloons (easy)
Problem 4: Longest Palindrome(easy)
Solution: Longest Palindrome(easy)
Problem 5: Ransom Note (easy)
Solution: Ransom Note (easy)
Introduction to HashSets
Problem 1: Counting Elements (easy)
Solution: Counting Elements (easy)
Problem 2: Jewels and Stones (easy)
Solution: Jewels and Stones (easy)
Problem 3: Unique Number of Occurrences (easy)
Solution: Unique Number of Occurrences (easy)
Problem 4: Longest Substring Without Repeating Characters (medium)
Solution: Longest Substring Without Repeating Characters (medium)
Introduction to Heap
Take Gifts From the Richest Pile(easy)
Solution: Take Gifts From the Richest Pile(easy)
Sort Characters By Frequency (easy)
Solution: Sort Characters By Frequency (easy)
Minimum Cost to Connect Sticks(medium)
Solution: Minimum Cost to Connect Sticks(medium)
Find the Median of a Number Stream (medium)
Solution: Find the Median of a Number Stream
Introduction to Graph
Graph Representations
Graph as an Abstract Data Type (ADT)
Graph Traversal - Depth First Search(DFS)
Graph Traversal - Breadth First Search (BFS)
Problem 1: Find if Path Exists in Graph(easy)
Solution: Find if Path Exists in Graph(easy)
Problem 2: Number of Provinces (medium)
Solution: Number of Provinces (medium)
Problem 3: Minimum Number of Vertices to Reach All Nodes(medium)
Solution: Minimum Number of Vertices to Reach All Nodes(medium)
Introduction to Trie
Implement Trie (Prefix Tree) (medium)
Solution: Implement Trie (Prefix Tree)
Index Pairs of a String (easy)
Solution: Index Pairs of a String
Extra Characters in a String (medium)
Solution: Extra Characters in a String
Search Suggestions System (medium)
Solution: Search Suggestions System
Design Add and Search Words Data Structure (medium)
Solution: Design Add and Search Words Data Structure
Introduction to Greedy Algorithm
Valid Palindrome II (easy)
Solution: Valid Palindrome II
Maximum Length of Pair Chain (medium)
Solution: Maximum Length of Pair Chain
Minimum Add to Make Parentheses Valid (medium)
Solution: Minimum Add to Make Parentheses Valid
Remove Duplicate Letters (medium)
Solution: Remove Duplicate Letters
Largest Palindromic Number (Medium)
Solution: Largest Palindromic Number
Removing Minimum and Maximum From Array (medium)
Solution: Removing Minimum and Maximum From Array
Introduction to Divide and Conquer Algorithm
Majority Element (easy)
Solution: Majority Element
Longest Nice Substring (easy)
Solution: Longest Nice Substring
Sort List (medium)
Solution: Sort List
Beautiful Array (medium)
Solution: Beautiful Array
Median of Two Sorted Arrays (medium)
Solution: Median of Two Sorted Arrays
Related Courses
Image
Grokking the Coding Interview: Patterns for Coding Questions
Image
Grokking the Art of Recursion for Coding Interviews
What people say about our courses
Image
Get instant access to all current and upcoming courses through subscription.
$19
.33
/mo
billed yearly ($231)
OR
Get Lifetime access to this course only.
$69
Certification on completing the course.