Java
Java
JAVASCRIPT
Self Paced
Detailed
Course Syllabus
CONTENTS
Arrays
- Arrays Introduction
- Working of Arrays in JavaScript
- Largest Element in a List
- Second Largest Element in a list
- Check if an Array is Sorted
- Reverse an Array
- Remove duplicates from a sorted array
- Move Zeros to End
- Left Rotate an Array by One
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
Recursion
- Recursion Introduction
- Applications of Recursion
- Writing Base Cases in Recursion
- Tail Recursion
- Practice For Recursion (Part 1)
- Practice For Recursion (Part 2)
- Print N to 1 using Recursion in JavaScript
- Print 1 to N using Recursion in JavaScript
- Sum of Natural Numbers Using Recursion
- Sum Of Digits Using Recursion
- Palindrome Check using Recursion
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
SEARCHING
- Binary Search (Iterative)
- Binary Search (Recursive)
- Analysis of Binary Search
CONTENTS
HASHING
- Introduction to Hashing
- Hashing Application
- Direct Address Table
- Hashing Functions
- Collision Handling
- Chaining
- Implementation of Chaining
- Open Addressing
- Double Hashing
- Implementation of Open Addressing
- Chaining vs Open Addressing
- Count Distinct Elements in an Array
- Frequencies of array elements
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
STRING
- Strings in JavaScript
- Escape Sequences and Raw Strings
- Formatted String in JavaScript
- String Comparison in JavaScript
- String Operations Part (1)
- String Operations Part (2)
- Reverse A String in JavaScript
- Check if string is rotated
- Check For Palindrome In JavaScript
- Check if a String is Subsequence of Other
- Check for Anagram in JavaScript
- Leftmost Repeating Character
- Leftmost Non-Repeating Element
- Reverse words in a string
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
CONTENTS
LINKED LIST
- Linked List Introduction in JavaScript
- Simple Linked List Implementation in JavaScript
- Applications of Linked List
- Traversing a Linked List in JavaScript
- Search in Linked List
- Insert At The Beginning of Linked list in JavaScript
- Insert at The End Of Linked List
- Insert at Given Position in Singly Linked list
- Delete First Node Of Linked List in JavaScript
- Delete Last Node of Linked List
- Delete a node with pointer given to it
- Sorted Insert Linked List in JavaScript
- Middle of Linked List
- Nth Node From end of Linked List
- Remove duplicates from a sorted Singly Linked List
- Reverse a Linked List In JavaScript
- Recursive Reverse A Linked List (Part 1)
- Recursive Reverse A Linked List (Part 2)
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
CIRCULAR LINKED LIST
- Circular Linked List in JavaScript
- Circular Linked List (Advantages & Disadvantages)
- Circular Linked List traversal
- Insert at the Beginning of Circular Linked List
- Insert at The End of A Circular Linked List
- Delete Head of circular Linked List
- Delete Kth Node of Circular Linked List
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
CONTENTS
DEQUE
- Deque Introduction
- Deque Applications
- Deque in JavaScript
- List Implementation of Deque in JavaScript
- Linked List Implementation of Deque
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
TREE
- Tree Data Structure
- Application of Tree
- Binary Tree in JavaScript
- Tree Traversal
- Inorder Traversal in JavaScript
- Preorder Traversal in JavaScript
- Postorder Traversal in JavaScript
- Height of Binary Tree
- Print Node at K distance
- Level Order Traversal
- Size of Binary Tree in JavaScript
- Maximum in Binary Tree
- Iterative Inorder Traversal
- Iterative Preorder Traversal
- Iterative Preorder Traversal (Space Optimized)
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
BINARY SEARCH TREE
- Binary Search Tree(Background)
- Binary Search Tree(Introduction)
- Search in BST in JavaScript
CONTENTS
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
ARRAY
- Left Rotate by d Places
- Maximum difference
- Stock Buy &Sell Part 2
- Trapping Rainwater
- Maximum Consecutive 1s
- Longest even odd subarray
- Majority element
- Minimum Consecutive flips
- Sliding Window Technique
- Maximum subarray sum
- Maximum circular sum subarray
- Prefix Sum Technique
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
RECURSION
- Subset of a given string
- Printing all Permutations
- Tower of Hanoi in JavaScript
- Josephus Problem in JavaScript
- Subset sum problem
- Rope Cutting Problem
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
CONTENTS
SEARCHING
- Search in Sorted Rotated Array
- Median of two sorted arrays
- Repeating Elements Part (1)
- Repeating Elements Part (2)
- Allocate Minimum Pages (Naive Method)
- Allocate Minimum Pages (Binary Search)
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
SORTING
- Tail Call Elimination in Quick Sort
- Kth Smallest
- Minimum Difference in an Array
- Chocolate Distribution Problem
- Sort an array with two types of element
- Sort an array with three types of elements
- Merge overlapping intervals
- Meeting the maximum guests
- Counting Sort
- Cycle Sort
- Bucket Sort
- Radix Sort
- Overview of sorting algorithm
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
HASHING
- Intersection of two arrays
- Union of two unsorted arrays
- Pair with given sum in unsorted array
- Subarray with 0 sum in JavaScript
- Check for Palindrome Permutation
CONTENTS
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
STACK
- Two stacks in an array
- K Stacks in an array
- Previous Greater Element
- Next Greater Element
- Stock span problem
- Largest Rectangular Area in a Histogram (Part 1)
- Largest Rectangular Area in a Histogram (Part 2)
- Largest Rectangle with all 1's
- Stack with getMin() in O(1)
- Design a stack with getMin() in O(1) space
- Infix to Postfix (Simple Solution)
- Infix to Postfix (Efficient Solution)
- Evaluation of Postfix
- Infix to Prefix (Simple Solution)
- Infix to Prefix (Efficient Solution)
- Evaluation of Prefix
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
QUEUE
- Queue and Deque
- Queue Implementation using Circular List
- Implementing stack using queue
- Reversing a Queue
- Generate numbers with given digits
- Design a data structure with min/max operations
- Maximums of all subarrays of size k
- First Circular Tour
CONTENTS
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
TREE
- Level Order Traversal by Line - Part 1
- Level Order Traversal by Line - Part 2
- Check for Balanced Binary Tree
- Maximum Width of Binary Tree
- Convert Binary Tree to Doubly Linked List
- Construct Binary Tree from Inorder and Preorder
- Tree Traversal in Spiral Form
- Diameter of a Binary Tree
- LCA of Binary Tree (Part 1)
- LCA of Binary Tree (Part 2)
- Burn a Binary Tree from a Leaf
- Count nodes in a Complete Binary Tree
- Serialize and Deserialize a Binary Tree
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
BINARY SEARCH TREE
- Ceiling on the left side in an array
- Find Kth Smallest in BST
- Check for BST
- Fix BST with Two Nodes Swapped
- Pair Sum with Given BST
- Vertical Sum in a Binary Tree
- Vertical Traversal of binary tree
- Top View of Binary Tree
- Bottom view of binary tree
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
CONTENTS
HEAP
- Sort K Sorted Array
- Purchase Maximum Items
- K Largest Elements
- K Closest Elements
- Merge K Sorted Arrays
- Median of a Stream
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
GRAPH
- Introduction to Graph
- Graph Representation (Adjacency Matrix)
- Graph Representation (Adjacency List)
- Graph Adjacency List Representation in JavaScript
- Adjacency Matrix and List Comparison
- Breadth First Search in JavaScript
- BFS for Disconnected Graph
- Connected Components in an Undirected Graph using BFS
- Applications of BFS
- Depth First Search
- DFS For Disconnected Graph
- Connected Components in an Undirected Graph using DFS
- Applications of DFS
- Shortest Path in an Unweighted Graph
- Detect Cycle in Undirected Graph
- Detect Cycle in a Directed Graph (Part 1)
- Topological Sorting (Kahn's BFS Based Algortihm)
- Detect Cycle in a Directed Graph (Part 2)
- Topological Sorting (DFS Based Algorithm)
- Shortest Path in DAG
- Prim's Algorithm/Minimum Spanning Tree
- Implementation of Prim's Algorithm
- Dijkstra's Shortest Path Algorithm
- Implementation of Dijkstra's Algorithm
CONTENTS
DYNAMIC PROGRAMMING
- Introduction to DP
- Dynamic Programming Memoization
- Dynamic Programming Tabulation
- Longest Common Subsequence (Part 1)
- Longest Common Subsequence (Part 2)
- Variation of LCS
- Coin Change Count Combinations
- Edit Distance Problem
- Edit Distance Problem DP solution
- Longest Increasing Sub sequence Problem
- Longest Increasing Subsequence O(nlogn)
- Variation of LIS (Part 1)
- Variations of LIS (Part 2)
- Maximum Cuts
- Minimum coins to make a value
- Minimum Jumps to reach the end
- 0-1 knapsack problem
- 0-1 knapsack problem DP Solution
- Optimal Strategy for a Game
- Egg Dropping Puzzle - Part 1
- Egg Dropping Puzzle - Part 2
- Count BSTs with n keys
- Maximum sum with no two consecutive
- Subset sum problem
- Subset Sum Problem (DP Solution)
- Matrix Chain Multiplication
- Matrix Chain Multiplication (DP Solution)
- Palindrome Partitioning
- Allocate Minimum Pages (Naive Method)
- Allocate Minimum Pages (DP Solution)
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
CONTENTS
TRIE
- Trie Data Structure (Introduction)
- Trie (Representation, Search and Insert)
- Trie Delete
- Count Distinct Rows in a Binary Matrix
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
SEGMENT AND BINARY INDEXED TREES
- Segment Tree (Introduction)
- Constructing Segment Tree
- Range Query on Segment Tree
- Update Query on Segment Tree
- Binary Indexed Tree (Intoductiion)
- Binary Indexed Tree (An Example Problem)
- Binary Indexed Tree (Prefix Sum)
- Binary Indexed Tree (Prefix Sum Implemention)
- Binary Indexed Tree (Update Operation)
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.
DISJOINT SET
- Disjoint Set Introduction
- Find and Union Operations on Disjoint Sets
- Union by Rank
- Path Compression
- Kruskal's Algorithm
Practice Problems
This track contains many practice problems for the users
which are considered important and must-do as far as
Data Structure and Algorithm is concerned.