### Grokking Data Structures & Algorithms for Coding Interviews

Unlock Coding Interview Success: Dive Deep into Data Structures and Algorithms!

Level:

Beginner

Study Time:

50h

Lessons:

194

Playgrounds :

221

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!

Get instant access to all current and upcoming courses through subscription.

$21

.42

/mo

billed yearly ($257)

OR

Get Lifetime access to this course only.

$79

Certification on completing the course.

Course Content

• 16 Chapters • 194 Lessons

3.

Matrix

7 lessons

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)

4.

Stack

22 lessons

Introduction to Stack

Operations on Stack

Implementing Stack Data Structure

Applications of Stack

Problem 1: Balanced Parentheses (easy)

Solution: Balanced Parentheses

Problem 2: Reverse a String (easy)

Solution: Reverse a String

Problem 3: Decimal to Binary Conversion (medium)

Solution: Decimal to Binary Conversion

Problem 4: Next Greater Element (easy)

Solution: Next Greater Element

Problem 5: Sorting a Stack (easy)

Solution: Sorting a Stack

Problem 6: Simplify Path (medium)

Solution: Simplify Path

Problem 7: Remove All Adjacent Duplicates In String (medium)

Solution: Remove All Adjacent Duplicates In String

Problem 8: Removing Stars From a String (medium)

Solution: Removing Stars From a String

Problem 9: Make The String Great (easy)

Solution: Make The String Great

5.

Queue

16 lessons

Introduction to Queues

Working with Simple Queues

Diving Deeper – Circular Queues and Deques

Applications and Advanced Concepts

Problem 1: Reverse a Queue (easy)

Solution: Reverse a Queue

Problem 2: Implement Stack using Queues

Solution: Implement Stack using Queues (easy)

Problem 3: Generate Binary Numbers from 1 to N

Solution: Generate Binary Numbers from 1 to N (medium)

Problem 4: Palindrome Check using Queue (easy)

Solution: Palindrome Check using Queue

Problem 5: Zigzag Iterator (medium)

Solution: Zigzag Iterator

Problem 6: Max of All Subarrays of Size 'k'

Solution: Max of All Subarrays of Size 'k' (medium)

6.

LinkedList

13 lessons

Introduction to LinkedList

Operations on Singly Linked List

Operations on Doubly Linked List

Problem 1: Reverse Linked List (easy)

Solution: Reverse Linked List

Problem 2: Remove Duplicates from Sorted List (easy)

Solution: Remove Duplicates from Sorted List

Problem 3: Merge Two Sorted Lists (easy)

Solution: Merge Two Sorted Lists

Problem 4: Find if Doubly Linked List is a Palindrome (easy)

Solution: Find if Doubly Linked List is a Palindrome

Problem 5: Swap Nodes in Pairs (medium)

Solution: Swap Nodes in Pairs

7.

Tree & Binary Search Tree

16 lessons

Introduction to Tree

Binary Search Tree (BST)

Maximum Depth (or Height) of Binary Tree (easy)

Solution: Maximum Depth (or Height) of Binary Tree

Balanced Binary Tree (easy)

Solution: Balanced Binary Tree

Minimum Difference Between BST Nodes (easy)

Solution: Minimum Difference Between BST Nodes

Range Sum of BST (easy)

Solution: Range Sum of BST

Kth Smallest Element in a BST (medium)

Solution: Kth Smallest Element in a BST

Closest Binary Search Tree Value (medium)

Solution: Closest Binary Search Tree Value

Merge Two Binary Trees (medium)

Solution: Merge Two Binary Trees

8.

Hash Table (aka Hashmap or Dictionary)

13 lessons

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)

9.

HashSet

9 lessons

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)

10.

Heap

9 lessons

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

11.

Graph

11 lessons

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)

12.

Trie (aka Prefix Tree)

11 lessons

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

13.

Sorting

16 lessons

Introduction to Sorting Algorithms

Advanced Sorting Techniques

Apple Redistribution into Boxes (easy)

Solution: Apple Redistribution into Boxes

Sort Array by Increasing Frequency (easy)

Solution: Sort Array by Increasing Frequency

Sort Vowels in a String (medium)

Solution: Sort Vowels in a String

Reduction Operations to Make the Array Elements Equal (medium)

Solution: Reduction Operations to Make the Array Elements Equal

Divide Array Into Arrays With Max Difference (medium)

Solution: Divide Array Into Arrays With Max Difference

Top 'K' Frequent Numbers (medium)

Solution: Top 'K' Frequent Numbers

Meeting Rooms II (medium)

Solution: Meeting Rooms II

14.

Searching

13 lessons

Introduction to Searching Algorithms

Maximum Count of Positive Integer and Negative Integer (easy)

Solution: Maximum Count of Positive Integer and Negative Integer

Minimum Common Value (easy)

Solution: Minimum Common Value

Frequency of the Most Frequent Element (medium)

Solution: Frequency of the Most Frequent Element

Minimize the Maximum of Two Arrays (medium)

Solution: Minimize the Maximum of Two Arrays

Search a 2D Matrix II (medium)

Solution: Search a 2D Matrix II

Sqrt (medium)

Solution: Sqrt

15.

Greedy Algorithm

13 lessons

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

16.

Divide and Conquer Algorithm

11 lessons

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

What people say about our courses

Get instant access to all current and upcoming courses through subscription.

$21

.42

/mo

billed yearly ($257)

OR

Get Lifetime access to this course only.

$79

Certification on completing the course.