Get INR 500 GeeksforGeeks Voucher on successful enrollment in this course.
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
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
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, Rotation
Reversal, Sort Check, Maximum, Minimum
Hashing:
Introduction to Hashing
Collision Handling
Chaining Vs Open Addressing
String:
Creation, Updation
Reverse, Pangram, Case conversion
Validation, Length
Searching:
Linear Search
Binary Search (Iterative and Recursive)
Sorting:
Bubble Sort
Selection Sort
Insertion Sort
Quick Sort
Different Partition Schemes in QuickSort
Merge Sort
Counting Sort
Radix Sort
Linked List:
Drawback of Arrays
Introduction to Linked List and Implementation
Traversal, Insertion and Deletion
Reversal
Finding Middle
Circular Linked List:
Traversal, Insertion and Deletion
Doubly Linked List:
Traversal, Insertion and Deletion
Reversal
Circular Doubly Linked List
Stack:
Implement using array
Implementation using Linked List
Operations
Infix to postfix
Evaluation of postfix
Queue:
Implementation using array
Implementation using Linked List
Implementation using stack
Dequeue:
Implementations using Array
Implementation using Linked List
Insertion, Deletion, Updation, Reversal
Rotation
Tree:
Implementation
Traversals: preorder, postorder, inorder, level order
Height
BST:
Implementation
Search
Insertion
Deletion
Heap:
Implementation
Operations
Heap Sort
Graph:
Representation: list and matrix
DFS and BFS
Cycle Detection: Directed and Undirected
Topological 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
Intersection and Union via Hashing
Distinct Elements in Window
Counting Occurences
Subsequence Problems
Subarray Problems
Video Solutions for some standard and complex problems
More Problems for Practice.
Strings:
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:
Next Greater Element
Previous Greater
Implementing Two Stacks in Single Array
Implementing K stacks in Single Array
Stack with getMin() operation in O(1) time.
Stock Span
Largest Rectangular Area in Histogram
Video Solutions for some standard and complex problems
More Problems for Practice.
Queue:
Stack using Queue
Reversal
Maximum of all Subarrays of Size K
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:
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
Set in CPP STL
Map in CPP STL
TreeSet in Java
TreeMap in Java
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:
Shortest Path Problems
Prims 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.
Operating System
Operating System and its Types
Multiprogramming, Multiprocessing, Multithreading
Process Management and Scheduling
Process Synchronization.
Deadlock
Memory Management
Virtual Memory
Database Management System
Introduction to DBMS
Architectures
ER Model
Relational Model
Keys in Relational Model
Database Normalization
Normal Forms
Concurrency Control
Indexing in Database
B+ Tree Introduction
SQL
Computer Networks:
Introduction to Computer Networks
TCP/IP vs OSI Model
Circuit Switching vs Packet Switching
Flow Control Protocols
IP and Classful Addressing
Classless Addressing
Routing Protocols
ARP & DHCP
Transport Layer
TCP & UDP
Application Layer
Subject Wise Most Asked Interview Questions
Batch | Date | Type | Register |
---|---|---|---|
CIP Batch 1 | Active | Online Classes |