An extensive Online (live) program to build and enhance Data Structures and Algorithm concepts, mentored by Industry Experts. The course is designed to improve your problem-solving and coding skills by enhancing your understanding of Data Structures & Algorithms. The primary goal of this course is to help you in the preparation for the Coding interviews of companies like Amazon, Microsoft, Uber , etc.
It will be an online live (Live Stream) class, so you can attend this class from any geographical location. It will be an interactive live session, where you can ask your doubts to the instructor (similar to offline classroom program).
Classes will be scheduled for Weekends - Saturday & Sunday Class timing would be 2:00 PM - 5:00 PM (IST)
The course is focused on practicing coding questions in the class itself.
Recommended for :
Analysis of Algorithm
Background analysis through a Program and its functions.
Best, Average and Worst case explanation through a program.
Introduction and Advantages
Types of Arrays
Operations on Arrays
Arrays vs other DS
Reversing - Explanation with complexity
Left Rotation of the array by 1
Left Rotation of the array by D places
Leaders in an Array
Maximum Difference Problem
Stock Buy and Sell Problem
Trapping Rainwater Problem
Maximum subarray sum
Longest even-odd subarray
Maximum Circular sum subarray.
Sliding Window Technique
Prefix sum technique etc.
Bitwise Operators in C++
Operation of AND, OR, XOR operators
Operation of Left Shift, Right Shift and Bitwise Not
Bitwise Operators in Java
Operation of AND, OR
Operation of Bitwise Not, Left Shift
Operation of Right Shift and unsigned Right Shift
Problem: Check Kth bit is set or not
Method 1: Using the left Shift.
Method 2: Using the right shift
Problem: Count Set Bits
Method 1: Simple method
Method 2: Brian and Kerningham Algorithm
Method 3: Using Lookup Table
Problem: To check whether a number is a power of 2 or not
Problem: Odd occurrences in an array.
Problem: Two numbers having odd occurrences in an array.
Problem: Generate power set using bitwise operators.
Introduction and Time complexity analysis
Application of Hashing
Discussion on Direct Address Table
Working and examples on various Hash Functions
Introduction and Various techniques on Collision Handling
Chaining and its implementation
Open Addressing and its Implementation
Chaining V/S Open Addressing
Count Distinct Elements
Count of the frequency of array elements
The intersection of two arrays
Union of two unsorted arrays
Pair with given sum in an unsorted array
Subarray with zero-sum
Subarray with given sum
Longest subarray with a given sum
Longest subarray with an equal number of 0’s and 1’s
Longest common span with the same sum in a binary array
Longest Consecutive Subsequence
Count Distinct elements in every window
Discussion of String DS
Given a string, check if they are an anagram of each other.
Given a string, find the leftmost character that repeats.
Given a string, find the leftmost character that does not repeat.
Given a string, find the lexicographic rank of it in O(n) time.
Implementation of the previously discussed lexicographic rank problem.
Given a text string and a pattern string, find if a permutation of the pattern exists in the text.
Given two strings, check if they are rotations of each other or not.
Various Pattern Searching Algorithms.
Implementation in CPP
Implementation in Java
Comparison with Array DS
Doubly Linked List
Circular Linked List
Detecting loops using Floyd cycle detection
Middle of Linked List
Nth node from the end of linked list
Deleting a Node without accessing Head pointer of Linked List
An iterative method to Reverse a linked list
Recursive method to reverse a linked list
Segregating even-odd nodes of linked list
The intersection of two linked list
Pairwise swap nodes of linked list
Clone a linked list using a random pointer
LRU Cache Design
Understanding the Stack data structure
Applications of Stack
Implementation of Stack in Array and Linked List
Two stacks in an array
K Stacks in an array
Stock span problem with variations
Previous Greater Element
Next Greater Element
Largest Rectangular Area in a Histogram
Introduction and Application
Implementation of the queue using array and LinkedList
In C++ STL
Stack using queue
Reversing a Queue
Generate numbers with given digits
Maximums of all subarrays of size k
Level Order Traversal (Line by Line)
Tree Traversal in Spiral Form
Size of Binary Tree
Maximum in Binary Tree
Height of Binary Tree
Print Nodes at K distance
Print Left View of Binary Tree
Children Sum Property
Check for Balanced Binary Tree
Maximum Width of Binary Tree
Convert Binary Tree to Doubly Linked List
Construct Binary Tree from Inorder and Preorder
The diameter of a Binary Tree
LCA problem with an efficient solution
Background, Introduction and Application
Implementation of Search in BST
Insertion in BST
Deletion in BST
Floor in BST
Self Balancing BST
Red Black Tree
Set in C++ STL
Map in C++ STL
TreeSet in java
TreeMap in Java
The ceiling of a key in BST
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
Introduction & Implementation
Heapify and Extract
Decrease Key, Delete and Build Heap
Priority Queue in C++
PriorityQueue in Java
Sort K-Sorted Array
Buy Maximum Items with Given Sum
K Largest Elements
Merge K Sorted Arrays
Median of a Stream
Introduction to Graph
Adjacency List in CPP and Java
Adjacency Matrix VS List
Depth First Search
Shortest Path in an Unweighted Graph
Number of Islands
In the Undirected Graph
In the Directed Graph
Kahn's BFS Based Algorithm
DFS Based Algorithm
Shortest Path in Directed Acyclic Graph
Activity Selection Problem
Job Sequencing Problem
Longest Common Subsequence
Coin Change Count Combinations
Edit Distance Problem
Longest Increasing Subsequence Problem
Minimum coins to make a value
Minimum Jumps to reach at the end
0-1 knapsack problem
Optimal Strategy for a Game
Variation of Longest Common Subsequence
Variation of Longest Increasing Subsequence
Egg Dropping Problem
Incoming SDE at Amazon, Ex-Goldman Sachs, IIIT-Hyderabad
An IIIT-Hyderabad graduate, Sachin is a passionate Software Engineer and an experienced competitive programmer. He has worked with Goldman Sachs as Summer Analyst and, has experience of participating in 200+ competitive programming challenges over all these years with multiple top performances including:
Global rank 10 in HackerEarth Amodocs HackFest 2019.
One global top-10 and two global top-25 finishes in Codechef’s monthly programming contests(DIV-B).
He specializes in Software Development and Algorithmic Financial Strategies and will be joining Amazon as a Software Engineer.