200+ algorithmic coding problems
Lifetime access to the Course
Track-based learning
Weekly assessment tests
Premium Lecture videos by Mr. Sandeep Jain (CEO & Founder, GeeksforGeeks) and other industry experts
Subject-wise Theoretical content by subject experts
Objective Questions compiled by subject experts
Course Completion Certificate trusted by top universities and companies
Internship Opportunities at GeeksforGeeks
Access to the GeeksforGeeks Jobs portal
Want to cover all the important concepts and topics required for the interviews? Looking to get placement ready before the interviews begin? If yes, then we have the perfect tool for you. With our complete interview preparation course, you’ll get access to precise content required for placement preparation, nothing less, nothing more. Your 4 years of learning compressed into an extensive course of 6 months!
This course specifically designed to help the pre-final/final year students and working professionals land their dream job.
Preparing for placements requires smart learning as some subjects hold more weightage than the others. This course is extensively curated to do the same. It will provide you with premium lectures, theory, practice tracks etc sorted in a convenient way to ensure unidirectional, smooth and easy learning.
Be it product-based companies (like Amazon, Microsoft, Adobe, etc), startups (like Ola, Swiggy, Zomato, etc) or service-based companies (like TCS, Infosys, Cognizant, etc), this program is here to make you land the job you want!
Begin with the basics! Learn about the programming languages, C++ & Java
Learn the concepts of Object-Oriented Programming (OOPs)
Best in industry DSA learning experience, from basic to advanced
Learn the often asked concepts of Object-Oriented Analysis and Design
Also, learn about other important CS subjects like OS, CN, DBMS, etc
Learn about the frequently asked interview questions
Programming Languages:
C++ : Introduction and Basic I/O, Variables, Different Errors, Operators, Loops, Arrays, String, Functions, Pointers, Dynamic Memory Allocation, Exception Handling and Smart Pointers
Java : Introduction and Basic I/O, Variables , Operators, Loops, Exception Handling, Arrays, String , Immutable Strings, ArrayList , BigInteger
Object Oriented Programming:
Classes and Objects
Inheritance and Polymorphism : Overloading and Overriding
Abstraction and Encapsulation
Access Modifiers
Friend and Virtual functions in C++
static, final, this and super keywords and Interfaces in Java
Analysis of Algorithms:
Growth of functions
Asymptotic Notations Omega, Theta,
Recursion Tree Method
Space Complexity
Arrays:
Insertion, Deletion, Updation, Shifting
Reversal, Sort Check, Maximum, Minimum
Recursion
Introduction to Recursion
Tail Recursion
Natural Number Check Using Recursion
Palindrome Check Using Recursion
Sum of Digits, Rod Cutting and Subsets
Tower of Hanoi
Hashing:
Introduction to Hashing
Direct Address Table
Collision Handling
Chaining
Open Addressing
Double Hashing
Chaining Vs Open Addressing
String:
Introduction to Strings
Searching:
Linear Search
Binary Search (Iterative and Recursive)
Sorting:
Stability in Sorting Algorithm
Bubble Sort
Selection Sort
Insertion Sort
Quick Sort
Different Partition Schemes in QuickSort
Merge Sort
Lomuto Partition
Hoare Partition
Heap SOort
Counting Sort
Radix Sort
Bucket Sort
Linked List:
Drawback of Arrays
Introduction to Linked List and Implementation
Traversal, Insertion and Deletion
Sorted Insertion in Linked List
Reversal of Linked List (Iterative and Recursive)
Finding Middle
Remove Duplicate from Sorted Linked List
Circular Linked List:
Traversal
Insertion (Head, End)
Deletion (Head, Kth Node)
Doubly Linked List:
Traversal
Insertion (Head, End)
Deletion (Head, End)
Reversal
Circular Doubly Linked List
Stack:
Introduction to Stack Data Structure
Implement using array
Implementation using Linked List
Stack Applications
Queue:
Introduction to Queue Data Structure
Implementation using array
Implementation using Linked List.
Dequeue:
Introduction to Deque Data Structure.
Implementations using Array
Implementation using Linked List
Tree:
Implementation
Traversals: preorder, postorder, inorder, level order(Iterative & Recursive)
Binary Tree: Height, Size, Maximum
Print Nodes at K Distance
BST:
Implementation
Search
Insertion
Deletion
Floor and Ceil in BST in CPP and Java
Self Balancing BST
AVL Tree (Introduction and applications)
Red-Black Tree (Introduction and applications)
Applications of BST
Heap:
Implementation
Insert
Heapify and Extract in Heap
Decrease Key, Delete and Build Heap
C++ STL
Introduction to STL
Introduction and Application
Iterators
Templates
Function Templates
Class Templates
Pairs in CPP STL
Introduction
Problem(With Video Solutions): Sorting an array according to another array
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.
Vectors in CPP STL
Introduction
Vector Declaration
More functions of Vectors
Time Complexities of different operations and passing Vectors to function
Internal Working of Vectors
Problems(With Video Solutions):
Vector and Vector of Pairs
Keeping track of previous indexes after sorting a Vector
Forward_list and list
Forward List in C++ STL
List in C++ STL
Problems(With Video Solutions):
Josephus Problem using List in STL
Design a Data Structure with Insert/Replace/Print operations
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.
Deque
Introduction
Problems(With Video Solutions):
Sliding Window Maximum
Design a Data Structure with Min/Max operations in O(1) time
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
Introduction and Various Operations
push()
pop()
top()
size()
empty()
Problems(With Video Solutions):
Reverse items using Stack
Balanced Parenthesis
Stock Span Problem
Previous Greater Elements
Next Greater 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.
Queue
Introduction and Various Operations
push()
pop()
front()
back()
empty()
size()
Problems(With Video Solutions):
Reverse first K items in a Queue
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.
Priority Queue
Introduction and Various Operations
push()
pop()
top()
empty()
size()
Creating Min Heap based Priority Queue
Problems(With Video Solutions):
Sort an array using Priority Queue
K Largest Elements in an array
Buy maximum items with given money
Find K most frequent 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.
Set & MultiSet
Set in C++ STL
Introduction and Implementation
insert()
begin()
end()
rbegin()
rend()
erase()
clear()
find()
Internal Working
Time Complexities
Problems on Set(With Video Solutions):
Design a Data Structure that supports the below operations:
insert()
delete()
search()
getFloor()
getCeiling()
Multiset in C++ STL with few operations
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.
Map and MultiMap
Introduction to Map
insert()
operator()
size()
empty()
clear()
begin()
end()
Internal Working
Time Complexities
Problem:
Design a data structure for item prices. The operations are add(), find(), findGreater(), findSmaller() and printSorted()
Count greater elements for every array element.
Multimap in C++ STL with few functional operations
Problem(With Video Solutions):
Design a data structure for prices with duplicates allowed. The operations are add(), find(), findGreater(), findSmaller() and printSorted
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.
Unordered_set
Introduction to Set
insert()
begin()
size()
end()
clear()
find()
Internal Working
Time Complexities
Problems(With Video Solutions):
Print Unique Elements of Array
Print duplicate elements of the array
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.
Unordered_Map
Introduction
Problems(With Video Solutions):
Design a DS for storing user balance
Find Winner of Election
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.
Non Mutating STL Algorithms
Explanation along with Time Complexities of
max_element()
min_element()
accumulate()
count()
find()
binary_search()
lower_bound()
upper_bound()
rotate()
fill()
is_permutation()
rand()
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.
Mutating STL Algorithm
Explanation along with Time Complexities of
sort()
reverse()
next_permutation()
prev_permutation()
make_heap()
merge()
Problems(With Video Solutions):
The Thief problem
Fractional knapsack problem
Chocolate Distribution problem
Sort array elements by frequency
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.
Java Collections
Collection Overview
Introduction to Java Collections Framework
Collections hierarchy
Generics
Wildcards
toArray() Methods
Collections Interface
Iterators
Collections Bulk operations
Iterating through Collections
Java Lambda Expressions
Introduction to Lambda Expressions and ways to use them
Introduction to Method References and examples
Syntax of Lambda Expressions
Practice Problems
Practice problems on Lambda Expressions
Java Streams
Introduction to Streams in Java
Various Applications of Streams
The Stream hierarchy and methods
Examples on Streams
Practice Problems
Practice problems on Streams
ArrayList
Introduction to List Interface
Using List Iterator
Introduction to ArrayLists
Implementation
ArrayList Methods
Traversal
Problems with video explanation
List of smaller elements
Practice Problems
Practice problems on implementation, iterator, methods, and using ArrayList to solve dsa problems
Linked List
Introduction and implementation of LinkedList in Java
Problems with video explanation
Josephus Problem using LinkedList
Design a DS for remove and print
Practice Problems
Practice problems on implementation, traversal, and use of LinkedList,
Stack
Introduction to Stack
Implementation
Methods
Traversal
Problems with video explanation
Reverse order of items
Check for balanced parentheses
Stock span
Previous greater element
Next greater element
Practice Problems
Practice problems on implementation, methods, and using Stacks to solve dsa problems
Queue
Introduction to Queue Interface
Implementation and usage
Methods
Traversal
Problems with video explanation
Reverse first k items
Practice Problems
Practice problems on implementation, methods, and using Queue to solve dsa problems
Deque
Introduction to Deque
Implementation and usage
ArrayDeque
Methods
Traversal
Practice Problems
Practice problems on implementation, methods, and using ArrayDeque to solve dsa problems
PriorityQueue
Introduction to PriorityQueue
Implementation and usage
Methods
Traversal
Problems with video explanation
Purchasing maximum items
K largest elements
Find k most frequent
Find k most frequent in Linear time
Practice Problems
Practice problems on implementation, methods, and using PriorityQueue to solve dsa problems
HashSet and LinkedHashSet
Introduction to HashSet
Introduction to LinkedHashSet
Implementation and usage
Methods
Traversal
Problems with video explanation
Print distinct elements
Print repeating elements
Practice Problems
Practice problems on implementation, methods, and using HashSet to solve dsa problems
TreeSet
Introduction to TreeSet
Implementation and usage
Methods
Traversal
Problems with video explanation
Ceiling on right
Count greater element
Practice Problems
Practice problems on implementation, methods, and using TreeSet to solve dsa problems
HashMap and LinkedHashMap
Introduction to HashMap
Introduction to LinkedHashMap
Implementation and usage
Methods
Traversal
Problems with video explanation
DS for balance
Print frequencies in order
Practice Problems
Practice problems on implementation, methods, and using HashMap to solve dsa problems
TreeMap
Introduction to TreeMap
Implementation and usage
Methods
Traversal
Problems with video explanation
Design a data structure for item prices
Design a data structure for item prices with duplicates allowed
Practice Problems
Practice problems on implementation, methods, and using TreeMap to solve dsa problems
String
Introduction to Strings
Introduction to StringBuilder and StringBuffer
Implementation and usage
Methods
Traversal
Problems with video explanation
Pangram checking
Pattern searching
Find one extra character
Practice Problems
Practice problems on implementation, methods, and using Strings to solve dsa problems
Comparator and Comparable
Introduction to Comparable Interface
Introduction to Comparator Interface
Methods of Comparator Interface and Examples on it
Practice Problems
Practice problems on using Comparator to sort effectively
Arrays Class
Introduction to Arrays and the Arrays Class
Implementation and usage
Methods like
fill()
BinarySearch()
equals()
mismatch()
compare()
asList()
toString()
Traversal
Practice Problems
Practice problems on implementation and methods
Collections Class
Introduction to Collections Class
Methods like fill(), reverse(), binarySearch(), max(), min(), frequency()
Practice Problems
Practice problems on methods
Sorting
Introduction to sorting in Java
Arrays.sort()
Collections.sort()
Comparable Interface
Problems with video explanation
The thief problem
Chocolate distribution problem
Keep indices after sorting
Sort an array according to other
Sort students by marks
Sort elements by frequency
Sort elements by frequency in Linear Time
Practice Problems
Practice problems on various sorting algorithms, and comparator sort
Mathematics
Count Digits
Palindrome Numbers
Factorial of Numbers
GCD of Two Numbers
LCM of Two Numbers
Check for Prime
Prime Factors
Sieve of Eratosthenes
Computing Power
Recursion
Josephus Problem
Subset Sum Problem
Arrays:
Kadane’s Algorithm
Shuffling Algorithms
Sliding Window
Prefix Sum Technique
Video Solutions for some standard and complex problems
More Problems for Practice.
Matrix:
Multidimensional Array in CPP and Java
Search, Transpose and Rotate
Pattern Traversal: Snake, Spiral, Boundary
Video Solutions for some standard and complex problems
More Problems for Practice.
Searching:
Two Pointer Approach
Video Solutions for some standard and complex problems
More Problems for Practice.
Sorting:
Union And Intersection of Sorted Arrays
Inversions Count
Tail Call elimination Quick Sort
Cycle Sort
Merge of Overlapping Intervals
Overview of Sorting Algorithms
Video Solutions for some standard and complex problems
More Problems for Practice.
Hashing:
Double Hashing
Find frequencies of array
Count Distinct element in Every Window
Intersection and Union via Hashing
Frequencies of Array Elements
Distinct Elements in Window
Counting Occurences
Check for a Pair with given Sum
Longest Consecutive Subsequence
Subsequence Problems
Subarray Problems
Video Solutions for some standard and complex problems
More Problems for Practice.
Strings:
Creation, Updation
Reverse, Pangram, Case conversion
Validation, Length
Palindrome Check
Overview of Pattern Searching
Pattern Matching Algorithms:
Rabin Karp Algorithm
KMP Algorithm
Rotations Check of two Strings
Anagram
Video Solutions for some standard and complex problems
More Problems for Practice.
Linked List:
Doubly Linked List
Circular Linked List
Loop in Linked List (Detection and Removal)
Loop Detection Algorithms
Union and Intersection of LinkedLists
Reverse in Groups
LRU Cache Design
Palindrome LinkedList
Video Solutions for some standard and complex problems
More Problems for Practice.
Stack:
Infix, Postfix, Prefix (Introduction)
Infix to PostFix (Simple Solution)
Infix to PostFix (Efficient Solution)
Evaluation of Postfix
Infix to Prefix (Simple Solution)
Infix to Postfix (Efficient Solution)
Evaluation of Prefix
Implementing Two Stacks in Single Array
Implementing K stacks in Single Array
Largest Rectangular Area in Histogram
Design a Stack that supports getMin() operation
Video Solutions for some standard and complex problems
More Problems for Practice.
Queue and Deque:
Stack using Queue
Reversal
Maximum of all Subarrays of Size K
Generate numbers using given digits
Design a data structure with min/max operations
Video Solutions for some standard and complex problems
More Problems for Practice.
Tree:
Line By Line Level Order Traversal
Printing Left, Right, Top and Bottom Views
Binary Tree to Doubly Linked List
Binary Tree from Inorder and Postorder Traversal
Maximum Width
Child Sum Property
Convert Binary Tree to Doubly LinkedList
Burning a Tree from Leaf
Diameter
LCA
Serialize and Deserialize
Count Nodes in Complete Binary Tree
Video Solutions for some standard and complex problems
More Problems for Practice.
Binary Search Tree:
Top View
Bottom View
Vertical Sum
Vertical Traversal
Fix BST With Two Nodes Swapped
Check For BST
Video Solutions for some standard and complex problems
More Problems for Practice.
Heap:
Heap Sort
Video Solutions for some standard and complex problems
More Problems for Practice.
Graph:
Graph Representation: Adjacency List
Adjacency List Implementation in CPP
Adjacency List Implementation in Java
Adjacency List and Matrix Comparison
Breadth First Search and application
Depth First Search and application
Detect Cycle in Undirected Graph
Detect Cycle in Directed Graph
Topological Sorting
Shortest Path Problems
Prim's Algorithm Introduction and Implementation in CPP and Java
Dijkstra’s Algorithm Introduction and Implementation in CPP and Java
Bellman Ford Algorithm
Kosaraju’s Algorithm
Articulation Point
Bridges in Graph
Tarjan’s Algorithm
Video Solutions for some standard and complex problems
More Problems for Practice.
Greedy Algorithm:
Introduction
Activity Selection Problem in CPP and Java
Fractional Knapsack in CPP and Java
Job Sequencing Problem
Video Solutions for some standard and complex problems
More Problems for Practice.
BackTracking:
Concept of Backtracking
Problems: Rat In Maze, N Queen, Sudoku
More Problems for Practice.
Dynamic Programming:
Introduction
Memoization
Tabulation
LCS and its variations
Coin Change
KnapSack
LIS and its variations
Egg Drop Puzzle
Subset Sum
Matrix Chain Multiplication
Palindrome Partitioning
Video Solutions for some standard and complex problems
More Problems for Practice.
Trie:
Introduction
Insert, Search, Delete
Video Solutions for some standard and complex problems
More Problems for Practice.
Segment Tree:
Introduction
Construction
Range and Update Query
More Problems for Practice.
Disjoint-Set
Introduction
Union-Find
Union By Rank
Path Compression
Kruskal’s Algorithm
More Problems for Practice
Object oriented Analysis and Design Concepts
Introduction to Object and Classes.
Software Development Process.
UML and its importance.
Class Diagrams & Object Diagrams
Use-case Diagrams
Object-oriented Analysis and Design Case Studies: Complete step by step design and analysis of below case studies.
BookMyShow : Movie ticket booking application.
MyFlipCart : Complete e-commerce application.
ParkingLot : Automated Solution for Parking-Lots.
BlackJack : Most popular card game in casinos.
Batch | Date | Type | Register |
---|---|---|---|
CIP Batch 1 | Active | Online Classes |