no fucking license

Java Data Structures and Algorithms Masterclass

Java Data Structures and Algorithms Masterclass

Java Data Structures and Algorithms Masterclass


100+ DSA Interview Questions for Cracking FAANG with Animated Examples for Deeper Understanding and Faster Learning


PREVIEW THIS COURSE - GET COUPON CODE


What you'll learn

  • 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


Description

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




Who this course is for:

  • Anybody interested in learning more about data structures and algorithms or the technical interview process!
  • Self-taught programmers who have a basic knowledge in Java and want to be professional in Data Structure and Algorithm and begin interviewing in tech positions!
  • Students currently studying computer science and want supplementary material on Data Structure and Algorithm and interview preparation for after graduation!
  • Professional programmers who need practice for upcoming coding interviews.


Post a Comment