ProgramGuru.org
Tutorials
DS Basics
DSA
Interviews
Languages
Python
Java
C++
Contact
DSA to Dream Job
Crack Interviews
Visualize Algorithms. Understand Better.
{"array": [10, 20, 30, 40, 50],"showIndices": true,"highlightIndices": [4]}
{ "array": [10, 20, 30, 40, 50], "highlightIndices": [] }
Data Structures
Arrays
(4)
▼
1
Arrays Introduction
2
Array Operations
3
Time Complexity of Array Operations
4
Space Complexity of Array Operations
Stacks
(4)
▼
1
Stacks Introduction
2
Stack Operations
3
Time Complexity of Stack Operations
4
Space Complexity of Stack Operations
Queues
(4)
▼
1
Queues Introduction
2
Queue Operations
3
Time Complexity of Queue Operations
4
Space Complexity of Queue Operations
Linked Lists
(2)
▼
1
Singly Linked List Introduction
2
Doubly Linked List Introduction
Trees
(3)
▼
1
Binary Tree Introduction
2
Binary Search Tree (BST) Introduction
3
Time Complexity of Binary Tree Operations
Algorithm Visualizations
Overview of Techniques
(14)
▼
1
Overview of DSA Problem Solving Techniques
2
Brute Force Technique in DSA
3
Greedy Algorithm Technique in DSA
4
Divide and Conquer Technique in DSA
5
Dynamic Programming Technique in DSA
6
Backtracking Technique in DSA
7
Recursion Technique in DSA
8
Sliding Window Technique in DSA
9
Two Pointers Technique
10
Binary Search Technique
11
Tree / Graph Traversal Technique in DSA
12
Bit Manipulation Technique in DSA
13
Hashing Technique
14
Heaps Technique in DSA
Sorting
(10)
▼
1
Bubble Sort
2
Selection Sort
3
Insertion Sort
4
Merge Sort
5
Quick Sort
6
Heap Sort
7
Radix Sort
8
Counting Sort
9
Bucket Sort
10
Shell Sort
Two Pointers
(1)
▼
1
Reverse Array using Two Pointers
Arrays
(25)
▼
1
Find Maximum and Minimum in Array using Loop
2
Find Second Largest in Array - Optimal Approach
3
Find Second Smallest in Array - Optimal Approach
4
Check if Array is Sorted - Optimal Solution
5
Remove Duplicates from Sorted Array - Optimal Solution
6
Left Rotate an Array by One Place - Optimal Solution
7
Left Rotate an Array by K Places - Optimal Solution
8
Move Zeroes in Array to End - Optimal Approach
9
Linear Search in Array - Optimal Approach
10
Union of Two Arrays - Optimal Approach
11
Find Missing Number in Array - Optimal Solution
12
Max Consecutive Ones in Array - Optimal Approach
13
Find Kth Smallest Element using Quickselect
14
Longest Subarray with Given Sum (Positives) - Optimal Approach
15
Longest Subarray with Given Sum (Positives and Negatives) - Optimal Approach
16
Find Majority Element in Array - Optimal Approach
17
Maximum Subarray Sum using Kadane's Algorithm - Optimal Approach
18
Print Subarray with Maximum Sum - Extension of Kadane's Algorithm
19
Stock Buy and Sell - Optimal Approach
20
Rearrange Array in Alternating Positive and Negative Items - Optimal Approach
21
Next Permutation of Array - Optimal Approach
22
Leaders in an Array - Optimal Approach
23
Longest Consecutive Sequence in Array - Optimal Approach
24
Count Subarrays with Given Sum - Optimal Approach
25
Sort an Array of 0s, 1s, and 2s - Optimal Approach
Matrix
(3)
▼
1
Set Matrix Zeroes - Optimal Approach
2
Rotate Matrix by 90 Degrees Clockwise - Optimal Approach
3
Print Matrix in Spiral Manner - Optimal Solution
Dynamic Programming
(1)
▼
1
Edit Distance Problem
Binary Trees
(36)
▼
1
Preorder Traversal of a Binary Tree using Recursion
2
Preorder Traversal of a Binary Tree using Iteration
3
Postorder Traversal of a Binary Tree Using Recursion
4
Postorder Traversal of a Binary Tree using Iteration
5
Level Order Traversal of a Binary Tree using Recursion
6
Level Order Traversal of a Binary Tree using Iteration
7
Reverse Level Order Traversal of a Binary Tree using Iteration
8
Reverse Level Order Traversal of a Binary Tree using Recursion
9
Find Height of a Binary Tree
10
Find Diameter of a Binary Tree
11
Find Mirror of a Binary Tree - Todo
12
Inorder Traversal of a Binary Tree using Recursion
13
Inorder Traversal of a Binary Tree using Iteration
14
Left View of a Binary Tree
15
Right View of a Binary Tree
16
Top View of a Binary Tree
17
Bottom View of a Binary Tree
18
Zigzag Traversal of a Binary Tree
19
Check if a Binary Tree is Balanced
20
Diagonal Traversal of a Binary Tree
21
Boundary Traversal of a Binary Tree
22
Construct a Binary Tree from a String with Bracket Representation
23
Convert a Binary Tree into a Doubly Linked List
24
Convert a Binary Tree into a Sum Tree
25
Find Minimum Swaps Required to Convert a Binary Tree into a BST
26
Check if a Binary Tree is a Sum Tree
27
Check if All Leaf Nodes are at the Same Level in a Binary Tree
28
Lowest Common Ancestor (LCA) in a Binary Tree
29
Solve the Tree Isomorphism Problem
30
Check if a Binary Tree Contains Duplicate Subtrees of Size 2 or More
31
Check if Two Binary Trees are Mirror Images
32
Calculate the Sum of Nodes on the Longest Path from Root to Leaf in a Binary Tree
33
Print All Paths in a Binary Tree with a Given Sum
34
Find the Distance Between Two Nodes in a Binary Tree
35
Find the kth Ancestor of a Node in a Binary Tree
36
Find All Duplicate Subtrees in a Binary Tree
Binary Search Trees
(14)
▼
1
Find a Value in a Binary Search Tree
2
Delete a Node in a Binary Search Tree
3
Find the Minimum Value in a Binary Search Tree
4
Find the Maximum Value in a Binary Search Tree
5
Find the Inorder Successor in a Binary Search Tree
6
Find the Inorder Predecessor in a Binary Search Tree
7
Check if a Binary Tree is a Binary Search Tree
8
Find the Lowest Common Ancestor of Two Nodes in a Binary Search Tree
9
Convert a Binary Tree into a Binary Search Tree
10
Balance a Binary Search Tree
11
Merge Two Binary Search Trees
12
Find the kth Largest Element in a Binary Search Tree
13
Find the kth Smallest Element in a Binary Search Tree
14
Flatten a Binary Search Tree into a Sorted List
LeetCode
(1)
▼
1
LeetCode - 1. Two Sum - Brute Force Approach