Mô tả

Welcome to the Java Data Structures and Algorithms Masterclass, the most modern, and the most complete Data Structures and Algorithms in Java course on the internet.

At 45+ hours, this is the most comprehensive course online to help you ace your coding interviews and learn about Data Structures and Algorithms in Java. You will see 100+ Interview Questions done at the top technology companies such as Apple,Amazon, Google and Microsoft and how to face Interviews with comprehensive visual explanatory video materials which will bring you closer towards landing the tech job of your dreams!

Learning Java is one of the fastest ways to improve your career prospects as it is one of the most in demand tech skills! This course will help you in better understanding every detail of Data Structures and how algorithms are implemented in high level programming language.

We'll take you step-by-step through engaging video tutorials and teach you everything you need to succeed as a professional programmer.

After finishing this course, you will be able to:

Learn basic algorithmic techniques such as greedy algorithms, binary search, sorting and dynamic programming to solve programming challenges.

Learn the strengths and weaknesses of a variety of data structures, so you can choose the best data structure for your data and applications

Learn many of the algorithms commonly used to sort data, so your applications will perform efficiently when sorting large datasets

Learn how to apply graph and string algorithms to solve real-world challenges: finding shortest paths on huge maps and assembling genomes from millions of pieces.


Why this course is so special and different from any other resource available online?


This course will take you from very beginning to a very complex and advanced topics in understanding Data Structures and Algorithms!

You will get video lectures explaining concepts clearly with comprehensive visual explanations throughout the course.

You will also see Interview Questions done at the top technology companies such as Apple,Amazon, Google and Microsoft.

I cover everything you need to know about technical interview process!


So whether you are interested in learning the top programming language in the world in-depth and interested in learning the fundamental Algorithms, Data Structures and performance analysis that make up the core foundational skillset of every accomplished programmer/designer or software architect and is excited to ace your next technical interview this is the course for you!


And this is what you get by signing up today:


Lifetime access to 44+ hours of HD quality videos. No monthly subscription. Learn at your own pace, whenever you want

Friendly and fast support in the course Q&A whenever you have questions or get stuck

FULL money back guarantee for 30 days!


This course is designed to help you to achieve your career goals. Whether you are looking to get more into Data Structures and Algorithms , increase your earning potential or just want a job with more freedom, this is the right course for you!

The topics that are covered in this course.

Section 1 - Introduction

  • What are Data Structures?

  • What is an algorithm?

  • Why are Data Structures and Algorithms important?

  • Types of Data Structures

  • Types of Algorithms

Section 2 - Recursion

  • What is Recursion?

  • Why do we need recursion?

  • How Recursion works?

  • Recursive vs Iterative Solutions

  • When to use/avoid Recursion?

  • How to write Recursion in 3 steps?

  • How to find Fibonacci numbers using Recursion?

Section 3 - Cracking Recursion Interview Questions

  • Question 1 - Sum of Digits

  • Question 2 - Power

  • Question 3 - Greatest Common Divisor

  • Question 4 - Decimal To Binary

Section 4 - Bonus CHALLENGING Recursion Problems (Exercises)

  • power

  • factorial

  • productofArray

  • recursiveRange

  • fib

  • reverse

  • isPalindrome

  • someRecursive

  • flatten

  • captalizeFirst

  • nestedEvenSum

  • capitalizeWords

  • stringifyNumbers

  • collectStrings

Section 5 - Big O Notation

  • Analogy and Time Complexity

  • Big O, Big Theta and Big Omega

  • Time complexity examples

  • Space Complexity

  • Drop the Constants and the non dominant terms

  • Add vs Multiply

  • How to measure the codes using Big O?

  • How to find time complexity for Recursive calls?

  • How to measure Recursive Algorithms that make multiple calls?

Section 6 - Top 10 Big O Interview Questions (Amazon, Facebook, Apple and Microsoft)

  • Product and Sum

  • Print Pairs

  • Print Unordered Pairs

  • Print Unordered Pairs 2 Arrays

  • Print Unordered Pairs 2 Arrays 100000 Units

  • Reverse

  • O(N)  Equivalents

  • Factorial Complexity

  • Fibonacci Complexity

  • Powers of 2

Section 7 - Arrays

  • What is an Array?

  • Types of Array

  • Arrays in Memory

  • Create an Array

  • Insertion Operation

  • Traversal Operation

  • Accessing an element of Array

  • Searching for an element in Array

  • Deleting an element from Array

  • Time and Space complexity of One Dimensional Array

  • One Dimensional Array Practice

  • Create Two Dimensional Array

  • Insertion - Two Dimensional Array

  • Accessing an element of Two Dimensional Array

  • Traversal - Two Dimensional Array

  • Searching for an element in Two Dimensional Array

  • Deletion - Two Dimensional Array

  • Time and Space complexity of Two Dimensional Array

  • When to use/avoid array


Section 8 - Cracking Array Interview Questions (Amazon, Facebook, Apple and Microsoft)

  • Question 1 - Missing Number

  • Question 2 - Pairs

  • Question 3 - Finding a number in an Array

  • Question 4 - Max product of two int

  • Question 5 - Is Unique

  • Question 6 - Permutation

  • Question 7 - Rotate Matrix

Section 9 - CHALLENGING Array Problems (Exercises)

  • Middle Function

  • 2D Lists

  • Best Score

  • Missing Number

  • Duplicate Number

  • Pairs


Section 10 - Linked List

  • What is a Linked List?

  • Linked List vs Arrays

  • Types of Linked List

  • Linked List in the Memory

  • Creation of Singly Linked List

  • Insertion in Singly Linked List in Memory

  • Insertion in Singly Linked List Algorithm

  • Insertion Method in Singly Linked List

  • Traversal of Singly Linked List

  • Search for a value in Single Linked List

  • Deletion of node from Singly Linked List

  • Deletion Method in Singly Linked List

  • Deletion of entire Singly Linked List

  • Time and Space Complexity of Singly Linked List

Section 11 - Circular Singly Linked List

  • Creation of Circular Singly Linked List

  • Insertion in Circular Singly Linked List

  • Insertion Algorithm in Circular Singly Linked List

  • Insertion method in Circular Singly Linked List

  • Traversal of Circular Singly Linked List

  • Searching a node in Circular Singly Linked List

  • Deletion of a node from Circular Singly Linked List

  • Deletion Algorithm in Circular Singly Linked List

  • Method in Circular Singly Linked List

  • Deletion of entire Circular Singly Linked List

  • Time and Space Complexity of Circular Singly Linked List

Section 12 - Doubly Linked List

  • Creation of Doubly Linked List

  • Insertion in Doubly Linked List

  • Insertion Algorithm in Doubly Linked List

  • Insertion Method in Doubly Linked List

  • Traversal of Doubly Linked List

  • Reverse Traversal of Doubly Linked List

  • Searching for a node in Doubly Linked List

  • Deletion of a node in Doubly Linked List

  • Deletion Algorithm in Doubly Linked List

  • Deletion Method in Doubly Linked List

  • Deletion of entire Doubly Linked List

  • Time and Space Complexity of Doubly Linked List

Section 13 - Circular Doubly Linked List

  • Creation of Circular Doubly Linked List

  • Insertion in Circular Doubly Linked List

  • Insertion Algorithm in Circular Doubly Linked List

  • Insertion Method in Circular Doubly Linked List

  • Traversal of Circular Doubly Linked List

  • Reverse Traversal of Circular Doubly Linked List

  • Search for a node in Circular Doubly Linked List

  • Delete a node from Circular Doubly Linked List

  • Deletion Algorithm in Circular Doubly Linked List

  • Deletion Method in Circular Doubly Linked List

  • Entire Circular Doubly Linked List

  • Time and Space Complexity of Circular Doubly Linked List

  • Time Complexity of Linked List vs Arrays

Section 14 - Cracking Linked List Interview Questions (Amazon, Facebook, Apple and Microsoft)

  • Linked List Class

  • Question 1 - Remove Dups

  • Question 2 - Return Kth to Last

  • Question 3 - Partition

  • Question 4 - Sum Linked Lists

  • Question 5 - Intersection

Section 15 - Stack

  • What is a Stack?

  • What and Why of Stack?

  • Stack Operations

  • Stack using Array vs Linked List

  • Stack Operations using Array (Create, isEmpty, isFull)

  • Stack Operations using Array (Push, Pop, Peek, Delete)

  • Time and Space Complexity of Stack using Array

  • Stack Operations using Linked List

  • Stack methods - Push , Pop, Peek, Delete and isEmpty using Linked List

  • Time and Space Complexity of Stack using Linked List

  • When to Use/Avoid Stack

  • Stack Quiz


Section 16 - Queue

  • What is a Queue?

  • Linear Queue Operations using Array

  • Create, isFull, isEmpty and enQueue methods using Linear Queue Array

  • Dequeue, Peek and Delete Methods using Linear Queue Array

  • Time and Space Complexity of Linear Queue using Array

  • Why Circular Queue?

  • Circular Queue Operations using Array

  • Create, Enqueue, isFull and isEmpty Methods in Circular Queue using Array

  • Dequeue, Peek and Delete Methods in Circular Queue using Array

  • Time and Space Complexity of Circular Queue using Array

  • Queue Operations using Linked List

  • Create, Enqueue and isEmpty Methods in Queue using Linked List

  • Dequeue, Peek and Delete Methods in Queue using Linked List

  • Time and Space Complexity of Queue using Linked List

  • Array vs Linked List Implementation

  • When to Use/Avoid Queue?

Section 17 - Cracking Stack and Queue Interview Questions (Amazon,Facebook, Apple, Microsoft)

  • Question 1 - Three in One

  • Question 2 - Stack Minimum

  • Question 3 - Stack of Plates

  • Question 4 - Queue via Stacks

  • Question 5 - Animal Shelter

Section 18 - Tree / Binary Tree

  • What is a Tree?

  • Why Tree?

  • Tree Terminology

  • How to create a basic tree in Java?

  • Binary Tree

  • Types of Binary Tree

  • Binary Tree Representation

  • Create Binary Tree (Linked List)

  • PreOrder Traversal Binary Tree (Linked List)

  • InOrder Traversal Binary Tree (Linked List)

  • PostOrder Traversal Binary Tree (Linked List)

  • LevelOrder Traversal Binary Tree (Linked List)

  • Searching for a node in Binary Tree (Linked List)

  • Inserting a node in Binary Tree (Linked List)

  • Delete a node from Binary Tree (Linked List)

  • Delete entire Binary Tree (Linked List)

  • Create Binary Tree (Array)

  • Insert a value Binary Tree (Array)

  • Search for a node in Binary Tree (Array)

  • PreOrder Traversal Binary Tree (Array)

  • InOrder Traversal Binary Tree (Array)

  • PostOrder Traversal Binary Tree (Array)

  • Level Order Traversal Binary Tree (Array)

  • Delete a node from Binary Tree (Array)

  • Entire Binary Tree (Array)

  • Linked List vs Python List Binary Tree

Section 19 - Binary Search Tree

  • What is a Binary Search Tree? Why do we need it?

  • Create a Binary Search Tree

  • Insert a node to BST

  • Traverse BST

  • Search in BST

  • Delete a node from BST

  • Delete entire BST

  • Time and Space complexity of BST

Section 20 - AVL Tree

  • What is an AVL Tree?

  • Why AVL Tree?

  • Common Operations on AVL Trees

  • Insert a node in AVL (Left Left Condition)

  • Insert a node in AVL (Left Right Condition)

  • Insert a node in AVL (Right Right Condition)

  • Insert a node in AVL (Right Left Condition)

  • Insert a node in AVL (all together)

  • Insert a node in AVL (method)

  • Delete a node from AVL (LL, LR, RR, RL)

  • Delete a node from AVL (all together)

  • Delete a node from AVL (method)

  • Delete entire AVL

  • Time and Space complexity of AVL Tree

Section 21 - Binary Heap

  • What is Binary Heap? Why do we need it?

  • Common operations (Creation, Peek, sizeofheap) on Binary Heap

  • Insert a node in Binary Heap

  • Extract a node from Binary Heap

  • Delete entire Binary Heap

  • Time and space complexity of Binary Heap

Section 22 - Trie

  • What is a Trie? Why do we need it?

  • Common Operations on Trie (Creation)

  • Insert a string in Trie

  • Search for a string in Trie

  • Delete a string from Trie

  • Practical use of Trie

Section 23 - Hashing

  • What is Hashing? Why do we need it?

  • Hashing Terminology

  • Hash Functions

  • Types of Collision Resolution Techniques

  • Hash Table is Full

  • Pros and Cons of Resolution Techniques

  • Practical Use of Hashing

  • Hashing vs Other Data structures

Section 24 - Sort Algorithms

  • What is Sorting?

  • Types of Sorting

  • Sorting Terminologies

  • Bubble Sort

  • Selection Sort

  • Insertion Sort

  • Bucket Sort

  • Merge Sort

  • Quick Sort

  • Heap Sort

  • Comparison of Sorting Algorithms

Section 25 - Searching Algorithms

  • Introduction to Searching Algorithms

  • Linear Search

  • Linear Search in Python

  • Binary Search

  • Binary Search in Python

  • Time Complexity of Binary Search


Section 26 - Graph Algorithms

  • What is a Graph? Why Graph?

  • Graph Terminology

  • Types of Graph

  • Graph Representation

  • Graph in Java using Adjacency Matrix

  • Graph in Java using Adjacency List


Section 27 - Graph Traversal

  • Breadth First Search Algorithm (BFS)

  • Breadth First Search Algorithm (BFS) in Java - Adjacency Matrix

  • Breadth First Search Algorithm (BFS) in Java - Adjacency List

  • Time Complexity of Breadth First Search (BFS) Algorithm

  • Depth First Search (DFS) Algorithm

  • Depth First Search (DFS) Algorithm in Java - Adjacency List

  • Depth First Search (DFS) Algorithm in Java - Adjacency Matrix

  • Time Complexity of Depth First Search (DFS) Algorithm

  • BFS Traversal vs DFS Traversal

Section 28 - Topological Sort

  • What is Topological Sort?

  • Topological Sort Algorithm

  • Topological Sort using Adjacency List

  • Topological Sort using Adjacency Matrix

  • Time and Space Complexity of Topological Sort


Section 29 - Single Source Shortest Path Problem

  • SWhat is Single Source Shortest Path Problem?

  • Breadth First Search (BFS) for Single Source Shortest Path Problem (SSSPP)

  • BFS for SSSPP in Java using Adjacency List

  • BFS for SSSPP in Java using Adjacency Matrix

  • Time and Space Complexity of BFS for SSSPP

  • Why does BFS not work with Weighted Graph?

  • Why does DFS not work for SSSP?

Section 30 - Dijkstra's Algorithm

  • Dijkstra's Algorithm for SSSPP

  • Dijkstra's Algorithm in Java - 1

  • Dijkstra's Algorithm in Java - 2

  • Dijkstra's Algorithm with Negative Cycle

Section 31 - Bellman Ford Algorithm

  • Bellman Ford Algorithm

  • Bellman Ford Algorithm with negative cycle

  • Why does Bellman Ford run V-1 times?

  • Bellman Ford in Python

  • BFS vs Dijkstra vs Bellman Ford

Section 32 - All Pairs Shortest Path Problem

  • All pairs shortest path problem

  • Dry run for All pair shortest path

Section 33 - Floyd Warshall

  • Floyd Warshall Algorithm

  • Why Floyd Warshall?

  • Floyd Warshall with negative cycle,

  • Floyd Warshall in Java,

  • BFS vs Dijkstra vs Bellman Ford vs Floyd Warshall,

Section 34 - Minimum Spanning Tree

  • Minimum Spanning Tree,

  • Disjoint Set,

  • Disjoint Set in Java,

Section 35 - Kruskal's and Prim's Algorithms

  • Kruskal Algorithm,

  • Kruskal Algorithm in Python,

  • Prim's Algorithm,

  • Prim's Algorithm in Python,

  • Prim's vs Kruskal

Section 36 - Cracking Graph and Tree Interview Questions (Amazon,Facebook, Apple, Microsoft)

Section 37 - Greedy Algorithms

  • What is Greedy Algorithm?

  • Well known Greedy Algorithms

  • Activity Selection Problem

  • Activity Selection Problem in Python

  • Coin Change Problem

  • Coin Change Problem in Python

  • Fractional Knapsack Problem

  • Fractional Knapsack Problem in Python

Section 38 - Divide and Conquer Algorithms

  • What is a Divide and Conquer Algorithm?

  • Common Divide and Conquer algorithms

  • How to solve Fibonacci series using Divide and Conquer approach?

  • Number Factor

  • Number Factor in Java

  • House Robber

  • House Robber Problem in Java

  • Convert one string to another

  • Convert One String to another in Java

  • Zero One Knapsack problem

  • Zero One Knapsack problem in Java

  • Longest Common Sequence Problem

  • Longest Common Subsequence in Java

  • Longest Palindromic Subsequence Problem

  • Longest Palindromic Subsequence in Java

  • Minimum cost to reach the Last cell problem

  • Minimum Cost to reach the Last Cell in 2D array using Java

  • Number of Ways to reach the Last Cell with given Cost

  • Number of Ways to reach the Last Cell with given Cost in Java

Section 39 - Dynamic Programming

  • What is Dynamic Programming? (Overlapping property)

  • Where does the name of DC come from?

  • Top Down with Memoization

  • Bottom Up with Tabulation

  • Top Down vs Bottom Up

  • Is Merge Sort Dynamic Programming?

  • Number Factor Problem using Dynamic Programming

  • Number Factor : Top Down and Bottom Up

  • House Robber Problem using Dynamic Programming

  • House Robber : Top Down and Bottom Up

  • Convert one string to another using Dynamic Programming

  • Convert String using Bottom Up

  • Zero One Knapsack using Dynamic Programming

  • Zero One Knapsack - Top Down

  • Zero One Knapsack - Bottom Up

Section 40 - CHALLENGING Dynamic Programming Problems

  • Longest repeated Subsequence Length problem

  • Longest Common Subsequence Length problem

  • Longest Common Subsequence  problem

  • Diff Utility

  • Shortest Common Subsequence  problem

  • Length of Longest Palindromic Subsequence

  • Subset Sum Problem

  • Egg Dropping Puzzle

  • Maximum Length Chain of Pairs

Section 41 - A Recipe for Problem Solving

  • Introduction

  • Step 1 - Understand the problem

  • Step 2 - Examples

  • Step 3 - Break it Down

  • Step 4 - Solve or Simplify

  • Step 5 - Look Back and Refactor

Section 41 - Wild West


Bạn sẽ học được gì

Learn, implement, and use different Data Structures

Learn, implement and use different Algorithms

Become a better developer by mastering computer science fundamentals

Learn everything you need to ace difficult coding interviews

Cracking the Coding Interview with 100+ questions with explanations

Time and Space Complexity of Data Structures and Algorithms

Recursion

Big O

Dynamic Programming

Divide and Conquer Algorithms

Graph Algorithms

Greedy Algorithms

Yêu cầu

  • Basic Java Programming skills

Nội dung khoá học

49 sections

Introduction

8 lectures
Curriculum Walkthrough
08:21
What is a data structure?
03:26
What is an algorithm?
03:53
Why are Data Structures and Algorithms important?
03:40
Types of Data Structures
03:22
Types of Algorithms
04:00
Lecture Notes
00:04
Motivation
00:03

Big O Notation

12 lectures
What is Big O?
05:41
Big O Notations - (Big O, Big Omega, Big Theta)
04:51
Big O - O(1)
03:03
Big O - O(N)
03:00
Drop Constants
04:26
Big O - O(N^2)
04:26
Drop Non Dominant Terms
02:35
Big O - O(logN)
05:37
Add vs Multiply
03:18
Space Complexity
08:20
How to Measure the Code using Big O?
03:17
Big O Quiz
6 questions

Arrays

19 lectures
What is an Array?
07:57
Types of Arrays
06:51
Arrays in Memory
03:52
Create an Array
09:05
Insertion in Array
11:35
Accessing Elements in Array
05:12
Array Traversal
07:27
Search for Array Element
07:52
Delete Array Element
05:57
Time and Space Complexity of 1D Arrays
04:20
Create Two Dimensional Array
11:05
Insertion - Two Dimensional Array
10:38
Accessing Two Dimensional Array Element
07:16
Traverse Two Dimensional Array
07:21
Searching Two Dimensional Array
08:14
Delete Two Dimensional Array Element
06:36
Time and Space Complexity of 2D Arrays
04:06
When to Use/Avoid Arrays
02:37
Download Resources
00:09

PROJECT 1 - Arrays

4 lectures
Goals - what you will make by the end of this section
02:51
Calculate Average Temperature
07:07
Find the Days Above Average Temperature
06:43
Download Resources
00:09

Array - CODING EXERCISES - LeetCode - Cracking FAANG Interview Questions

27 lectures
Middle Function
1 question
Solution to Middle Function
02:05
2D Arrays
1 question
Solution to 2D Arrays
01:26
Best Score
1 question
Solution to Best Score
02:19
Missing Number
1 question
Solution to Missing Number
01:55
Duplicate Number
1 question
Solution to Duplicate Number
02:29
Remove Duplicates from Sorted Array - LeetCode 26
1 question
Solution to Remove Duplicates from Sorted Array - LeetCode 26
02:12
Best Time to Buy and Sell Stock - LeetCode 121
1 question
Solution to Best Time to Buy and Sell Stock - LeetCode 121
01:34
Two Sum - LeetCode 1
1 question
Solution to Two Sum - LeetCode 1
01:37
Finding a Number in an Array
1 question
Solution - Finding a Number in an Array
05:26
Max Product of Two Integers
1 question
Solution - Max Product of Two Integers
06:05
IsUnique / Contains Duplicate - LeetCode 217
1 question
Solution - IsUnique / Contains Duplicate - LeetCode 217
05:15
Permutation
1 question
Solution - Permutation
08:34
Rotate Matrix
1 question
Rotate Matrix / Image - LeetCode 48
12:29
Download Resources
00:09

ArrayList

9 lectures
What is ArrayList?
03:31
ArrayList in Memory
04:44
Creating ArrayList
05:36
Insertion in ArrayList
09:41
Accessing Elements in ArrayList
02:34
Traversal of ArrayList
06:15
Search for an Element in ArrayList
05:40
Delete an Element for ArrayList
05:09
Time and Space Complexity of ArrayList
02:47

Cracking Big O Interview Questions - Arrays

7 lectures
Question 1 - Time Complexity of Method that returns Sum and Product of Array
05:46
Question 2 - Time Complexity of Print Pairs Method
05:50
Question 3 - Time Complexity of Print Unordered Pairs Method
04:31
Question 4 - Find Time Complexity for Given Method
02:14
Question 5 - Find Time Complexity for Given Method
01:35
Question 6 - Time Complexity of Reverse Array Function
06:04
Question 7 - Equivalent to O(N)
03:23

Linked List

15 lectures
What is a Linked List?
05:57
Linked List vs Array
03:49
Types of Linked List
10:53
Linked List in the Memory
04:00
Creation of Singly Linked List
09:53
Insertion in Singly Linked List in Memory
03:53
Insertion Algorithm in Singly Linked List
08:02
Insertion Method in Singly Linked List
14:55
Traversal of Singly Linked List
09:48
Searching in Singly Linked List
08:49
Deletion of a Node from Singly Linked List
09:37
Deletion Method in Singly Linked List
15:38
Deletion of Entire Singly Linked List
05:56
Time and Space Complexity of Singly Linked List
04:05
Download Resources
00:09

Linked List Coding Exercises

14 lectures
Singly Linked List - Push
1 question
Solution to Singly Linked List - Push
00:16
Singly Linked List - Pop
1 question
Solution to Singly Linked List - Pop
00:28
Singly Linked List - Insert
1 question
Solution to Singly Linked List - Insert
00:56
Singly Linked List - Get
1 question
Solution to Singly Linked List - Get
00:34
Singly Linked List - Rotate
1 question
Solution to Singly Linked List - Rotate
01:10
Singly Linked List - Set
1 question
Solution to Singly Linked List - Set
01:20
Singly Linked List - Remove
1 question
Solution to Singly Linked List - Remove
00:30

Circular Singly Linked List

12 lectures
Create Circular Singly Linked List
12:58
Insertion in Circular Singly Linked List
07:30
Insertion Algorithm in Circular Singly Linked List
04:48
Insertion Method Circular Singly Linked List
11:59
Traversal of Circular Singly Linked List
09:57
Searching a Node in Circular Singly Linked List
09:48
Deletion of a Node from Circular Singly List
08:38
Deletion Algorithm in Circular Singly Linked List
05:19
Deletion Method in Circular Singly Linked List
11:20
Delete Entire Circular Singly Linked List
06:31
Time and Space Complexity of Circular Singly Linked List
05:32
Download Resources
00:09

Circular Singly Linked List CODING EXERCISES

6 lectures
Implement a Circular Singly Linked List
1 question
Solution - Implement a Circular Singly Linked List
02:45
Delete a Node from a Circular Singly Linked List
1 question
Solution - Delete a Node from a Circular Singly Linked List
02:54
Count the Number of Nodes
1 question
Solution to Count the Number of Nodes
01:39

Doubly Linked List

13 lectures
Create Doubly Linked List
13:45
Insertion Doubly Linked List
09:54
Insertion Algorithm Doubly Linked List
06:29
Insertion Method Doubly Linked List
14:54
Traversal of Doubly Linked List
08:34
Reverse Traversal of Doubly Linked List
08:21
Searching for a Node in Doubly Linked List
08:55
Deletion of a Node in Doubly Linked List
08:33
Deletion Algorithm Doubly Linked List
06:08
Deletion Method in Doubly Linked List
13:44
Delete Entire Doubly Linked List
07:24
Time and Space Complexity of Doubly Linked List
05:27
Download Resources
00:09

Circular Doubly Linked List

14 lectures
Create Doubly Linked List
12:21
Insertion Circular Doubly Linked List
10:29
Insertion Algorithm Circular Doubly Linked List
06:58
Insertion Method Circular Doubly Linked List
13:54
Traversal of Circular Doubly Linked List
08:31
Reverse Traversal of Circular Doubly Linked List
08:17
Search for a Node in Circular Doubly Linked List
08:59
Deletion in Circular Doubly Linked List
10:52
Deletion Algorithm in Circular Doubly Linked List
06:47
Deletion Method in Circular Doubly Linked List
11:51
Delete Entire Circular Doubly Linked List
07:40
Time and Space Complexity of Circular Doubly Linked List
04:33
Time Complexity of Array vs Linked List
07:12
Download Resources
00:09

Cracking Linked List Interview Questions (Amazon, Facebook, Apple and Microsoft)

12 lectures
Linked List Class
10:18
Remove Dups
1 question
Solution - Remove Dups
10:51
Return Nth to Last
1 question
Solution - Return Nth to Last
09:19
Partition
1 question
Solution - Partition
09:36
Sum Lists
1 question
Solution - Sum Lists
10:51
Intersection
1 question
Solution - Intersection
13:20
Download Resources
00:09

Stack

12 lectures
What and Why of Stack?
05:27
Stack Operations
06:32
Stack using Array vs Linked List
01:32
Stack Operations using Array (Create, isEmpty, isFull)
08:22
Stack Operations using Array (Push, Pop, Peek, Delete)
12:40
Time and Space Complexity of Stack using Array
02:47
Stack Operations using Linked List
06:46
Stack methods - Push , Pop, Peek, Delete and isEmpty using Linked List
18:10
Time and Space Complexity of Stack using Linked List
03:21
When to Use/Avoid Stack
02:14
Download Resources
00:09
Stack Quiz
5 questions

Stack Coding Exercises

8 lectures
Implement Stack
1 question
Solution and Explanation - Implement Stack Class
02:23
Push Method
1 question
Solution and Explanation - Push Method
01:15
Pop Method
1 question
Solution/Explanation and Time/Space Complexity - Pop Method
01:15
Balanced Parentheses Checker
1 question
Solution/Explanation and Time/Space Complexity of Balanced Parentheses Checker
03:31

Queue

17 lectures
What is a Queue?
06:31
Linear Queue Operations using Array
07:09
Create, isFull, isEmpty and enQueue methods using Linear Queue Array
14:44
Dequeue, Peek and Delete Methods using Linear Queue Array
10:45
Time and Space Complexity of Linear Queue using Array
03:48
Why Circular Queue?
04:36
Circular Queue Operations using Array
07:59
Create, Enqueue, isFull and isEmpty Methods in Circular Queue using Array
18:19
Dequeue, Peek and Delete Methods in Circular Queue using Array
12:21
Time and Space Complexity of Circular Queue using Array
03:55
Queue Operations using Linked List
07:53
Create, Enqueue and isEmpty Methods in Queue using Linked List
10:44
Dequeue, Peek and Delete Methods in Queue using Linked List
10:27
Time and Space Complexity of Queue using Linked List
03:03
Array vs Linked List Implementation
02:27
When to Use/Avoid Queue?
01:56
Download Resources
00:09

Cracking Stack and Queue Interview Questions (Amazon,Facebook, Apple, Microsoft)

14 lectures
Goals
01:03
Three in One
1 question
Solution - Three in One
23:48
Stack Minimum
1 question
Solution - Stack Minimum
12:47
Stack of Plates
1 question
Solution Part 1 - Stack of Plates
14:28
Solution Part 2 - Stack of Plates
10:56
Solution Part 3 - Follow UP
08:09
Queue via Stacks
1 question
Solution - Queue via Stacks
11:49
Animal Shelter
1 question
Solution - Animal Shelter
24:48
Download Resources
00:09

Recursion

11 lectures
Goals : what you will learn by the end of this section
01:05
What is Recursion?
05:00
Why do we need Recursion?
03:21
The Logic Behind Recursion
09:15
Recursive vs Iterative Solution
04:13
When to Use/Avoid Recursion?
06:21
How to Write Recursion in 3 Steps?
13:42
Fibonacci Series using Recursion
09:37
How to Measure Recursive Algorithm?
07:19
How to Measure Recursive Algorithm with Multiple Calls?
04:06
Download the Resources
00:09

Cracking Recursion Interview Questions

5 lectures
Question 1 - Sum of Digits
08:50
Question 2 - Power
05:55
Question 3 - GCD
06:40
Question 4 - Decimal to Binary
08:16
Download the Resources
00:09

Bonus CHALLENGING Recursion Problems

13 lectures
Important Note!
00:10
power
1 question
factorial
1 question
product of Array
1 question
recursiveRange
1 question
fib
1 question
SOLUTIONS PART 1
00:20
reverse
1 question
isPalindrome
1 question
someRecursive
1 question
First Uppercase
1 question
capitalizeWord
1 question
SOLUTIONS PART 2
00:36

Tree / Binary Tree

27 lectures
What is a Tree?
07:25
Why Tree?
02:40
Tree Terminology
05:16
Creating a Basic Tree in Java
09:43
What is A Binary Tree?
03:09
Types of Binary Tree
03:48
Binary Tree Representation
07:34
Create Binary Tree using Linked List
06:09
PreOrder Traversal in Binary Tree using Linked List
12:01
InOrder Traversal in Binary Tree using Linked List
08:48
PostOrder Traversal in Binary Tree using Linked List
07:02
LevelOrder Traversal in Binary Tree using Linked List
08:46
Search Method in Binary Tree (Linked List)
09:30
Insert Method in Binary Tree (Linked List)
12:36
Delete a Node in Binary Tree (Linked List)
20:29
Delet Entire Binary Tree (Linked List)
02:39
Create Binary Tree (Array)
07:27
Insert Method Binary Tree (Array)
07:56
PreOrder Traversal Binary Tree (Array)
07:25
InOrder Traversal Binary Tree (Array)
06:24
PostOrder Traversal Binary Tree (Array)
05:23
levelOrder Traversal Binary Tree (Array)
05:44
Search Method Binary Tree (Array)
07:06
Delete a Node Binary Tree (Array)
06:32
Delete Binary Tree (Array)
03:06
Array vs Linked List in Binary Tree Implementation
06:00
Download Resources
00:09

Coding Exercises Tree/Binary Tree

7 lectures
Implement Binary Tree
1 question
In-Order Traversal (Iterative)
1 question
Solution to In-Order Traversal (Iterative) / Time and Space Complexity
01:52
Pre-Order Traversal (Iterative)
1 question
Solution to Pre-Order Traversal (Iterative) / Time and Space Complexity
01:58
Post-Order Traversal (Iterative)
1 question
Solution to Post-Order Traversal (Iterative) / Time and Space Complexity
02:04

Binary Search Tree

12 lectures
What is a Binary Search Tree? Why do we need it?
03:28
Create Binary Search Tree
04:37
Insert a Node to Binary Search Tree
12:06
PreOrder Traversal Binary Search Tree
04:44
InOrder Traversal Binary Search Tree
04:09
PostOrder Traversal Binary Search Tree
03:40
Level Order Traversal Binary Search Tree
05:11
Search in Binary Search Tree
07:41
Delete a Node in Binary Search Tree
17:18
Delete BST
02:50
Time and Space Complexity of BST
03:36
Download Resources
00:09

AVL Tree

16 lectures
What is an AVL Tree?
07:23
Why Do We Need AVL Tree?
03:59
Common Operations on AVL Tree
12:17
Insert a Node in AVL (Left Left Condition)
13:32
Insert a Node in AVL (Left Right Condition)
08:30
Insert a Node in AVL (Right Right Condition)
08:00
Insert a Node in AVL (Right Left Condition)
06:36
Insert a Node in AVL (All Together)
14:26
Insert a Node in AVL (Method in Practice)
21:04
Delete a Node from AVL (LL, LR, RR, RR)
10:04
Delete a Node from ALL (All Together)
07:04
Delete a Node from AVL (Method in practice)
13:41
Delete Entire AVL Tree
02:10
Time and Space Complexity of AVL
03:02
Binary Search Tree vs AVL
02:56
Download Resources
00:09

Binary Heap

7 lectures
What is Binary Heap? Why do we need Binary Heap?
07:39
Common Operations on Binary Heap
18:47
Insert a Node in Binary Heap
14:45
Extract a Node from Binary Heap
19:19
Delete Entire Binary Heap
02:45
Time and Space Complexity of Binary Heap
05:30
Download Resources
00:09

Trie

7 lectures
What is a Trie? Why we need Trie?
10:57
Common Operations on a Trie (Creation)
06:23
Insert a String in Trie
14:41
Search for a String in Trie
13:00
Delete a String from Trie
16:57
Practical Uses of Trie
02:14
Download Resources
00:09

Hashing

14 lectures
What is Hashing? Why we need it?
05:37
Hashing Terminology
04:45
Hash Functions
09:46
Types of Collision Resolution Techniques - Direct Chaining (Insert)
16:51
Direct Chaining Implementation - (Search, Delete)
07:28
Hash Table is Full
04:40
Collision Resolution Technique - Linear Probing (Insert)
17:44
Collision Resolution Technique - Linear Probing (Search, Delete)
08:38
Collision Resolution Technique - Open Addressing : Quadratic Probing
09:11
Collision Resolution Technique - Open Addressing : Double Hashing
13:49
Pros and Cons of Resolution Techniques
05:10
Practical Use of Hashing
04:17
Hashing vs Other DS
02:09
Download Resources
00:09

Sorting Algorithms

12 lectures
What is Sorting?
02:59
Types of Sorting
06:51
Sorting Terminology
05:09
Bubble Sort
15:44
Selection Sort
11:34
Insertion Sort
13:50
Bucket Sort
21:10
Merge Sort
15:48
Quick Sort
22:09
Heap Sort
18:20
Comparison of Sorting Algorithms
01:29
Download Resources
00:09

Searching Algorithms

7 lectures
Introduction To Search Algorithms
01:44
Linear Search
04:00
Linear Search in Java
07:11
Binary Search
03:03
Binary Search in Java
13:03
Time Complexity of Binary Search
05:14
Download Resources
00:09

Graphs

8 lectures
What you will learn
01:40
What is a Graph? Why do we need Graph
04:48
Graph Terminology
05:04
Types of Graph
05:46
Graph Representation
09:54
Graph in Java using Adjacency Matrix
12:56
Graph in Java using Adjacency List
09:50
Download Resources
00:09

Graph Traversal - Breadth First Search and Depth First Search Algorithms

10 lectures
Breadth First Search Algorithm (BFS)
10:36
Breadth First Search Algorithm (BFS) in Java - Adjacency Matrix
11:21
Breadth First Search Algorithm (BFS) in Java - Adjacency List
06:29
Time Complexity of Breadth First Search (BFS) Algorithm
03:24
Depth First Search (DFS) Algorithm
07:22
Depth First Search (DFS) Algorithm in Java - Adjacency List
06:34
Depth First Search (DFS) Algorithm in Java - Adjacency Matrix
06:34
Time Complexity of Depth First Search (DFS) Algorithm
03:07
BFS Traversal vs DFS Traversal
04:32
Download Resources
00:09

Topological Sort

6 lectures
What is Topological Sort?
02:56
Topological Sort Algorithm
09:13
Topological Sort using Adjacency List
10:55
Topological Sort using Adjacency Matrix
07:23
Time and Space Complexity of Topological Sort
03:13
Download Resources
00:09

Single Source Shortest Path Problem (SSSPP)

8 lectures
What is Single Source Shortest Path Problem?
04:45
Breadth First Search (BFS) for Single Source Shortest Path Problem (SSSPP)
07:03
BFS for SSSPP in Java using Adjacency List
11:08
BFS for SSSPP in Java using Adjacency Matrix
07:24
Time and Space Complexity of BFS for SSSPP
02:50
Why does BFS not work with Weighted Graph?
03:37
Why does DFS not work for SSSP?
02:15
Download Resources
00:09

Dijkstra's Algorithm

5 lectures
Dijkstra's Algorithm for SSSPP
06:22
Dijkstra's Algorithm in Java - 1
12:35
Dijkstra's Algorithm in Java - 2
08:46
Dijkstra's Algorithm with Negative Cycle
03:46
Download Resources
00:09

Bellman Ford Algorithm

6 lectures
Bellman Ford Algorithm for SSSPP
10:55
Bellman Ford Algorithm with Negative Cycle
05:18
Why Bellman Ford runs V-1 times?
04:20
Bellman Ford Algorithm Implementation in Java
10:45
BFS vs Dijkstra vs Bellman Ford
03:37
Download Resources
00:09

All Pairs Shortest Path Problem

2 lectures
What is All Pairs Shortest Path Problem?
04:22
Dry Run for All Pairs Shortest Path Problem
04:24

Floyd Warshall Algorithm

6 lectures
Floyd Warshall Algorithm
09:10
Why Floyd Warshall Algorithm?
04:49
Floyd Warshall with Negative Cycle
02:33
Floyd Warshall in Java
12:27
BFS vs Dijkstra vs Bellman Ford vs Floyd Warshall Algorithms
02:42
Download Resources
00:09

Minimum Spanning Tree (Disjoint Set)

4 lectures
What is Minimum Spanning Tree?
04:33
What is Disjoint Set?
02:55
Disjoint Set in Java
11:50
Download Resources
00:09

Kruskal and Prim's Algorithms

6 lectures
Kruskal Algorithm
09:11
Kruskal Algorithm in Java
15:44
Prim's Algorithm
05:41
Prim's Algorithm in Java
09:58
Kruskal vs Prim's Algorithms
03:34
Download Resources
00:09

Cracking Trees and Graphs Top Interview Questions (Apple, Amazon, Facebook)

15 lectures
Introduction
00:39
Route Between Nodes
1 question
Solution to Route Between Nodes
10:51
Minimal Tree
1 question
Solution to Minimal Tree
00:36
Check Balanced
1 question
Solution to Check Balanced
00:18
Validate BST
1 question
Solution to Validate BST
00:25
Successor
1 question
Solution to Successor
00:20
BuildOrder
1 question
Solution to Build Order
01:20
Find Common Ancestor
1 question
Solution to Find Common Ancestor
00:11

Greedy Algorithms

9 lectures
What is Greedy Algorithm?
05:36
Known Greedy Algorithms
08:30
Activity Selection Problem
05:36
Activity Selection Problem in Java
17:06
Coin Change Problem
04:26
Coin Change Problem in Java
08:10
Fractional Knapsack Problem
05:22
Fractional Knapsack Problem in Java
17:08
Download Resources
00:09

Divide and Conquer Algorithms

20 lectures
What is a Divide and Conquer Algorithm?
06:58
Common Divide and Conquer Algorithms
06:51
How to solve Fibonacci series using Divide and Conquer approach?
04:59
Number Factor
06:25
Number Factor in Java
05:44
House Robber
07:10
House Robber in Java
06:28
Convert One String to Another
06:15
Convert One String to Another in Java
07:55
Zero One Knapsack Problem
05:10
Zero One Knapsack Problem in Java
07:50
Longest Common Subsequence Problem
06:22
Longest Common Subsequence Problem in Java
07:03
Longest Palindromic Subsequence Problem
05:46
Longest Palindromic Subsequence Problem in Java
06:19
Minimum Cost to Reach Last Cell
05:02
Minimum Cost to Reach Last Cell in Java
05:06
Number of Paths To Reach The Last Cell with Given Cost
05:16
Number of Paths To Reach The Last Cell with Given Cost in Java
06:09
Download Resources
00:09

Divide and Conquer CODING EXERCISES

6 lectures
Divide and Conquer - countZeroes
1 question
Solution to Divide and Conquer - countZeroes
00:08
Divide and Conquer - sortedFrequency
1 question
Solution to Divide and Conquer - sortedFrequency
00:17
Divide and Conquer - findRotatedIndex
1 question
Solution to Divide and Conquer - findRotatedIndex
00:24

Dynamic Programming

20 lectures
What is Dynamic Programming? (Overlapping property)
04:57
Where Does the Name of DP Come From?
02:08
Top Down with Memoization
11:27
Bottom Up with Tabulation
07:43
Top Down vs Bottom Up
04:17
Is Merge Sort Dynamic Programming?
04:29
Number Factor Problem using Dynamic Programming
12:26
Number Factor Top Down Approach
1 question
Number Factor Bottom Up Approach
1 question
Number Factor : Top Down and Bottom Up
08:33
House Robber Problem using Dynamic Programming
10:23
House Robber Top Down Approach
1 question
Solution to House Robber Top Down Approach
00:24
House Robber Bottom Up Approach
1 question
Solution to House Robber Bottom Up Approach
00:24
Convert one string to another using Dynamic Programming
05:29
Convert One String to Another using Top Down Approach
1 question
Solution to Convert One String to Another using Top Down Approach
01:09
Convert One String to Another using Bottom Up Approach
1 question
Solution to Convert One String to Another using Bottom Up Approach
01:09

CHALLENGING Dynamic Programming Problems

15 lectures
NOTE ON THIS SECTION
00:11
Longest repeated Subsequence Length problem
1 question
Solution to Longest repeated Subsequence Length problem
00:10
Longest Common Subsequence Length problem using Top Down Approach
1 question
Solution to Longest Common Subsequence Length problem using Top Down Approach
00:39
Longest Common Subsequence Length problem using Bottom Up Approach
1 question
Solution to Longest Common Subsequence Length problem using Bottom Up Approach
00:15
Longest Common Subsequence
1 question
Solution to Longest Common Subsequence
00:48
Longest Palindromic Subsequence using Top Down Approach
1 question
Solution to Longest Palindromic Subsequence using Top Down Approach
00:41
Longest Palindromic Subsequence using Bottom Up Approach
1 question
Solution to Longest Palindromic Subsequence using Bottom Up Approach
00:27
Longest Palindromic Substring
1 question
Solution to Longest Palindromic Substring
00:20

A Recipe for Problem Solving

6 lectures
Introduction
02:57
Step 1 - Understand the Problem
06:01
Step 2 - Examples
06:40
Step 3 - Break it Down
07:43
Step 4 - Solve or Simplify
10:55
Step 5 - Look Back and Refactor
07:32

Backtracking

5 lectures
What is Backtracking?
10:01
Backtracking vs Brute Force
04:34
Backtracking Quiz
3 questions
N - Queens Problem
09:38
N - Queens problem in Java
02:34

My Other Courses

1 lectures
Bonus Lecture
00:12

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.