Skip to content
geeksforgeeks
  • DSA
    • Data Structures
      • Arrays
      • Matrix
      • Strings
      • Linked List
        • Singly Linked List
        • Doubly Linked List
        • Circular Linked List
        • Doubly Circular Linked List
        • Linked List Tutorial
      • Stack
      • Queue
      • Tree
        • Generic Tree
        • Binary Tree
        • Binary Search Tree
        • AVL Tree
        • B Tree
        • B+ Tree
        • Red Black Tree
        • Tree Data Structure Tutorial
      • Heap
      • Hashing
      • Graph
      • Set Data Structure
      • Map Data Structure
      • Advanced Data Structure
      • Data Structures Tutorial
    • Algorithms
      • Analysis of Algorithms
        • Design and Analysis of Algorithms
        • Asymptotic Analysis
        • Asymptotic Notations
        • Worst, Average and Best Cases
      • Searching Algorithms
        • Linear Search
        • Binary Search
        • Searching Algorithms Tutorial
      • Sorting Algorithms
        • Selection Sort
        • Bubble Sort
        • Insertion Sort
        • Merge Sort
        • Quick Sort
        • Heap Sort
        • Counting Sort
        • Radix Sort
        • Bucket Sort
        • Sorting Algorithms Tutorial
      • Greedy Algorithms
      • Dynamic Programming
      • Graph Algorithms
      • Pattern Searching
      • Recursion
      • Backtracking
      • Divide and Conquer
      • Mathematical Algorithms
      • Geometric Algorithms
      • Bitwise Algorithms
      • Randomized Algorithms
      • Branch and Bound
      • Algorithms Tutorial
    • DSA Tutorial
    • Competitive Programming
    • Company Wise SDE Sheets
      • Facebook SDE Sheet
      • Amazon SDE Sheet
      • Apple SDE Sheet
      • Netflix SDE Sheet
      • Google SDE Sheet
      • Wipro Coding Sheet
      • Infosys Coding Sheet
      • TCS Coding Sheet
      • Cognizant Coding Sheet
      • HCL Coding Sheet
    • DSA Cheat Sheets
      • SDE Sheets
      • FAANG Coding Sheet
      • Love Babbaar Sheet
      • Mass Recruiter Sheet
      • Product-Based Coding Sheet
      • Company-Wise Preparation Sheet
    • Top Interview Questions
      • Top 100 DSA Interview Questions Topic-wise
      • Top 50 Array Problems
      • Top 50 String Problems
      • Top 50 Problems on Stack
      • Top 50 Problems on Heap
      • Top 20 Linked List Interview Question
      • Top 50 Tree Problems
      • Top 50 Graph Problems
      • Top 50 Problems on Recursion
      • Top 20 Greedy Algorithms Interview Questions
      • Top 50 Dynamic Programming (DP) Problems
      • Top 20 Hashing Technique based Interview Questions
      • Top 20 Dynamic Programming Interview Questions
      • Top 10 algorithms in Interview Questions
      • Commonly Asked Data Structure Interview Questions
    • Puzzles
      • All Puzzles
      • Top 100 Puzzles Asked In Interviews
      • Top 20 Puzzles Commonly Asked During SDE Interviews
      • Top MCQs on Puzzles with Answers
      • Crossword Puzzle Of The Week
  • Tutorials
    • Programming Languages
      • C
      • C++
      • Python
      • R
      • Golang
      • C#
      • Swift
      • Kotlin
      • Scala
      • Perl
    • Java
      • Java Tutorial
      • Java Collection
      • Java 8 Tutorial
      • Java Advance
        • Spring Tutorial
        • Spring Boot Tutorial
        • Spring MVC Tutorial
        • Hibernate Tutorial
      • Java Interview Questions
        • Java Interview Questions
        • Multithreading Interview Questions
        • Collection Interview Quesions
      • Java Programs
      • Java Projects
    • CS Subjects
      • Mathematics
      • Operating System
      • DBMS
      • Computer Networks
      • Computer Organization and Architecture
      • Theory of Computation
      • Compiler Design
      • Digital Logic
      • Software Engineering
    • System Design
      • System Design Tutorial
        • What is System Design
        • Key Terminologies in System Design
        • Analysis and Architecture of Systems
        • Scalability in System Design
        • Databases in System Design
        • High Level Design or HLD
        • Low Level Design or LLD
        • Communication Protocols
        • Web Servers and Proxies
        • Case Studies in Designing Systems
        • Complete System Design Tutorial
      • System Design Patterns
        • Factory Pattern
        • Observer Pattern
        • Singleton Design Pattern
        • Decorator Pattern
        • Strategy Pattern
        • Adapter Pattern
        • Command Pattern
        • Iterator Pattern
        • Prototype Design Pattern
        • All Design Patterns
      • System Design Roadmap
      • Top 10 System Design Interview Questions and Answers
    • DevOps
      • Git
      • AWS
      • Docker
      • Kubernetes
      • Microsoft Azure Tutorial
      • Google Cloud Platform
    • SQL Tutorial
    • Interview Questions
      • C Interview Questions
      • C++ Interview Questions
      • STL Interview Questions
      • Java Interview Questions
      • Python Interview Questions
      • R Interview Questions
      • SQL Interview Questions
      • Linux Interview Questions
      • C# Interview Questions
      • Android Interview Questions
      • Flutter Interview Questions
      • Operating System Interview Questions
      • Computer Network Interview Questions
      • Software Engineering Interview Questions
      • CCNA Interview Questions
      • Ethical Hacking Interview Questions
    • Interview Corner
      • Company Preparation
      • Top Topics
      • Practice Company Questions
      • Interview Experiences
      • Experienced Interviews
      • Internship Interviews
      • Competitive Programming
      • Multiple Choice Quizzes
      • Aptitude for Placements
    • Projects
      • C++ Projects
      • Java Projects
      • Python Projects
      • Machine Learning Projects
      • Android Projects
    • Cheat Sheets
      • C CheatSheet
      • C++ CheatSheet
      • C++ STL CheatSheet
      • Python CheatSheet
      • Docker CheatSheet
      • Kubernetes CheatSheet
      • Computer Network CheatSheet
      • CCNA CheatSheet
      • Ethical Hacking CheatSheet
    • Quizzes
      • C Quiz
      • C++ Quiz
      • Java Quiz
      • Python Quiz