Active Batches
May 22, 2021
3:00 PM - Sat, Sun
GCL 17

Course Overview

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 an offline classroom program).

Classes will be scheduled for Weekends - Saturday & Sunday Class timing for GCL 17 would be 3:00 PM - 6:00 PM (IST)

The course is focused on practicing coding questions in the class itself.
Recommended for :

  • Pre-Final/Final year students preparing for the Placement drives
  • Employee looking for a job change.

Course Features

  • Doubt Solving Assistance (TA's)
  • Limited Batch strength - 40 Candidates 
  • Course completion certificate
  • 6 months access to recorded Live lectures of this course
  • Complimentary access to the course content of the DSA Course worth INR 4999
    • Premium Lecture videos by Mr. Sandeep Jain
    • Specialized topic-based content
    • Weekly Assessment Tests & Practice Tracks
    • 7 Days Active doubt solving portal 

What You Will Learn

  • All important concepts of Data Structures & Algorithms
  • Enhance Problem Solving & Coding Skill for the Product- based tech hirings
  • Problem-solving approach for the Puzzle based questions

Course Content

  • Analysis of Algorithm 

    • Background analysis through a Program and its functions.

  • Asymptotic Notations

    • Best, Average and Worst case explanation through a program.

  • Arrays
  • Introduction and Advantages

  • Types of Arrays

    • Fixed-sized array

    • Dynamic-sized array

  • Operations on Arrays

    • Searching

    • Insertions

    • Deletion

    • Arrays vs other DS

    • Reversing - Explanation with complexity

  • Problems

    • 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.

    • Majority Element

    • Sliding Window Technique

    • Prefix sum technique etc.

  • Basic Recursion
  • Basic Bit Manipulation
  • 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.

  • Hashing
  • 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

  • Double Hashing

  • C++

    • Unordered Set

    • Unordered Map

  • Java

    • HashSet

    • HashMap

  • Problems

    • 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

  • Strings
  • Discussion of String DS

  • Problems

    • 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.

  • Linked Lists
  • Introduction

    • Implementation in CPP

    • Implementation in Java

    • Comparison with Array DS

  • Doubly Linked List

  • Circular Linked List

  • Loop Problems

    • Detecting Loops

    • Detecting loops using Floyd cycle detection

  • Linked List
  • Problem:
  • 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

  • Stacks
  • Understanding the Stack data structure 

  • Applications of Stack

  • Implementation of Stack in Array and Linked List

    • In C++

    • In Java 

  • Problem:

    • Balanced Parenthesis 

    • 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

  • Queues
  • Introduction and Application

  • Implementation of the queue using array and LinkedList

    • In C++ STL

    • In Java

    • Stack using queue

  • Problem:

    • Reversing a Queue

    • Generate numbers with given digits

    • Maximums of all subarrays of size k

  • Binary Tree
  • Introduction

    • Tree

    • Application

    • Binary Tree

    • Tree Traversal

  • Implementation of:

    • Inorder Traversal 

    • Preorder Traversal 

    • Postorder Traversal 

    • Level Order Traversal (Line by Line)

    • Tree Traversal in Spiral Form 

  • Problems:

    • 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

  • Binary Search Tree
  • Background, Introduction and Application

  • Implementation of Search in BST

    • In CPP 

    • In Java

  • Insertion in BST 

    • In CPP

    • In Java

  • Deletion in BST 

    • In CPP

    • In Java

  • Floor in BST 

    • In CPP

    • In Java

  • Self Balancing BST 

  • AVL Tree 

  • Red Black Tree 

  • Set in C++ STL 

  • Map in C++ STL 

  • TreeSet in java 

  • TreeMap in Java 

  • Problems:

    • 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 

  • Heaps
  • Introduction & Implementation

  • Binary Heap 

    • Insertion

    • Heapify and Extract

    • Decrease Key, Delete and Build Heap

  • Heap Sort 

  • Priority Queue in C++ 

  • PriorityQueue in Java

  • Problems: 

    • Sort K-Sorted Array 

    • Buy Maximum Items with Given Sum 

    • K Largest Elements 

    • Merge K Sorted Arrays 

    • Median of a Stream

  • Graph Algorithms
  • Introduction to Graph 

  • Graph Representation 

    • Adjacency Matrix

    • Adjacency List in CPP and Java

    • Adjacency Matrix VS List

  • Breadth-First Search 

    • Applications

  • Depth First Search 

    • Applications

Show More

Course Mentors

Nitesh Gupta (Instructor)

Incoming SDE at Uber, IIIT-Hyderabad

A Computer Science graduate from IIIT-Hyderabad, Nitesh is an experienced competitive programmer. He has experience of participating in hundreds of competitive programming challenges over the last 4 years. He got under 15 rank in three ICPC regionals and was also selected for ICPC Asia West Continent Finals in which top teams of 5 Asian countries participated. He is a Master on Codeforces and a 6-star coder at CodeChef. He did his summer intern at Uber and will be joining it again as a Software Engineer.


  •  How will these classes be conducted?
    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 our offline classroom program). You just need to have working internet and a PC/Laptop.
  • How does the admission process work for this course?
    Initially, you need to signup for this course & you need to make the payment of the fee for the same
  • Is there any number to contact for any query?
    You may call us on our toll-free number: 1800 258 4458  or Drop us an email at
  • Is this a language-specific course?
    Yes, the discussion forum and doubt assistance are available only for C++ & Java.
  • What is the size of a batch?
    The planned batch size is 30-40.
  • Do We Get any Placement Assistance?
    We're preparing you for your interviews. And yes, We have a hiring platform where you can see the current opening & once you have completed this course you can apply for any one of them. You will get Premium Access to "Get Hired Portal"
  • Is there any online course material available with this course?
    Yes, you'll get access to the online data structures & algorithms course along with this course. 
  • Can I make the payment through PayPal?
    Yes. Mail us with your details at

Course Registration

Batch Date Type Register
GCL 16 01 May '21 to 20 June '21 Live Classes
Registration Closed
Batch Date Type Register
GCL 17 22 May '21 to 11 July '21 Live Classes