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 Sheet
      • DSA Sheet for Beginners
      • FAANG Coding Sheet
      • Love Babbar Sheet
      • Mass Recruiter Sheet
      • Product-Based Coding Sheet
      • Company-Wise Preparation Sheet
    • Top Interview Questions
      • Top 100 DSA Interview Questions Topic-wise
    • Puzzles
      • All Puzzles
      • Top 100 Puzzles Asked In Interviews
      • Top 20 Puzzles Commonly Asked During SDE Interviews
  • Tutorials
    • Python Tutorial
      • Taking Input in Python
      • Python Operators
      • Python Data Types
        • Python Numbers
        • Python String
        • Python Lists
        • Python Tuples
        • Sets in Python
        • Python Dictionary
      • Python Loops and Control Flow
        • Python If Else
        • Python For Loops
        • Python While Loops
        • Python Breaks
        • Python Continue Statement
        • Python Pass Statement
      • Python Functions
      • Python OOPS Concept
      • Python Exception Handling
      • Python File Handling
    • Web Development In Python
      • Django
        • Getting started with Django
        • Create an App in Django
        • Views In Django
        • Django Templates
        • Django URL patterns
        • Django Admin Interface
        • Django Models
      • Django Database
        • Mysql database with Django
        • PostgreSQL Database in Django
        • MongoDB with Django
      • Django CRUD
      • Django Forms
      • Django Static File
      • Projects for Beginners
      • Django Interview Questions
      • Django Tutorial
      • Flask
        • Web Development Using Flask
        • Flask App Routing
        • URL building in Flask
        • Flask Templates
        • Templating With Jinja2 in Flask
        • Flask Model
        • Database with Flask SQL Alchemy
        • Authentication with Flask
        • WTForms in Flask
        • Static files in Flask
        • Python Flask Projects
        • Flask Interview Questions
      • Frontend Projects
        • Building a Survey Form using HTML and CSS
        • Food delivery system using HTML and CSS
        • ToDo webapp using Django
        • Building Blog CMS
        • add Pagination in Django
        • Tailwind CSS with Django
        • Django with Reactjs
      • Postman
      • Github
    • Python Data Structures
      • Python DSA
      • List
      • Dictionaries
      • Strings
      • Linked List
        • Python Linked List
        • Singly Linked List
        • Doubly Linked List
        • Circular Linked List
        • Doubly circular Linked List
      • Stack
      • Queue
        • Queue
        • Deque
        • Priority Queue
      • Tree
        • Generic Tree
        • Binary Tree
        • Binary Search Tree
        • AVL Tree
        • B Tree
        • Red Black Tree
      • Heap
        • Heap
        • Max Heap
        • Heap Queue
        • Min heap
      • Hashing
      • Graph
      • Sets
      • Map
      • Advance Data Structure
      • Sorting Algorithms
        • Selection Sort
        • Bubble Sort
        • Insertion Sort
        • Merge Sort
        • Quick Sort
        • Heap Sort
        • Counting Sort
        • Radix Sort
        • Bucket Sort
      • Searching Algorithms
        • Linear Search
        • Binary Search
    • Python Exercises
      • Python List Exercise
      • Python String Exercise
      • Python Tuple Exercise
      • Python Dictionary Exercise
      • Python Set Exercise
      • Python Design Patterns
      • Python Programming Examples
      • Python Practice Questions
    • Java
      • Java Programming Language
        • Java Tutorial
        • Data Types
        • Variables
        • Operators
          • Operators in Java
          • Arithmetic Operators
          • Unary Operators
          • Assignment Operators
          • Relational Operators
          • Logical Operators
          • Ternary Operators
        • Flow Control in Java
          • Flow Control
          • if Statement
          • if-else Statement
          • if-else-if Ladder
          • Continue Statement
          • Break Statement
          • Return Statement
        • Loops in Java
          • Loops
          • do-while Loop
          • For Loop
          • For-each Loop
        • Methods
        • Strings
        • Arrays
        • OOPs Concepts
          • OOPs Concepts
          • Classes and Objects
          • Access Modifiers
          • Inheritance
          • Abstraction
          • Encapsulation
          • Polymorphism
        • Interface
        • Packages
        • Multithreading
        • File Handling
        • Regular Expression
      • Java Collections
        • Java Collections
        • Collection Class
        • List Interface
        • ArrayList
        • Vector Class
        • Stack Class
        • LinkedList Class
        • Queue Interface
        • Set Interface
        • HashSet Class
        • TreeSet
        • Map Interface
        • HashMap Class
        • HashTable Class
        • Iterator
        • Comparator
        • Collection Interview Questions
      • Java 8 Tutorial
      • Java Programs
        • Java Programming Examples
        • Java Array Programs
        • Java String Programs
        • Java Date-Time Programs
        • Java File Handling Programs
        • Java Collection Programs
        • Java JDBC Programs
        • Java Apache POI Programs
        • Java OpenCV Programs
      • Java Interview Questions
        • Java Interview Questions
        • Core Java Interview Questions-Freshers
        • Java Multithreading Interview Questions
        • OOPs Interview Questions and Answers
      • Java Exercises
      • Java Quiz
        • Java Quiz
        • Core Java MCQ
      • Java Projects
      • Advance Java
        • Spring Tutorial
        • Spring Boot Tutorial
        • Spring Boot Interview Questions
        • Spring MVC Tutorial
        • Spring MVC Interview Questions
        • Hibernate Tutorial
        • Hibernate Interview Questions
    • Programming Languages
      • Python
      • Java
      • C
      • C++
      • JavaScript
      • PHP
      • R Tutorial
      • C#
      • SQL
      • Scala
      • Perl
      • Go Language
      • Kotlin
    • 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
      • Software 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
    • Interview Corner
      • Company Preparation
      • Top Topics
      • Practice Company Questions
      • Interview Experiences
      • Experienced Interviews
      • Internship Interviews
      • Competitive Programming
      • Multiple Choice Quizzes
      • Aptitude for Placements
    • Computer Science Subjects
      • Mathematics
      • Operating System
      • DBMS
      • Computer Networks
      • Computer Organization and Architecture
      • Theory of Computation
      • Compiler Design
      • Digital Logic
      • Software Engineering
    • DevOps
      • GIT
      • AWS
      • Docker
      • Kubernetes
      • Microsoft Azure Tutorial
      • Google Cloud Platform
    • Linux
      • Linux Tutorial
      • Linux Commands A-Z
      • Linux Commands Cheatsheet
      • 25 Basic Linux Commands
      • File Mangement in Linux
      • File Permission Commands
        • chmod Command
        • chown Command
        • chgrp Command
        • unmask Command
      • Linux System Administration
      • Linux File System
      • Linux Shell Scripting
      • Linux Networking
      • Linux Firewall
      • Linux Interview Questions
    • Software Testing
      • Software Testing Tutorial
        • Software Testing Tutorial
        • What is Software Testing
        • Principles of Software Testing
        • Types of Software Testing
        • Levels of Software Testing
        • Automation Testing
        • Manual Testing
      • Testing Tools
        • Software Testing Tools
        • Defect Testing Tools
        • Cross-Browser Testing Tools
        • Integration Testing Tool
        • Unit Testing Tools
        • Mobile Testing Tools
        • GUI Testing Tool
        • Security Testing Tools
        • Penetration Testing Tools
      • Selenium
        • Selenium Tutorial
        • Selenium Basics
        • Selenium Python
      • Jira
        • Jira Tutorial
        • JIRA Installation
        • JIRA Login
        • JIRA Dashboard
      • Software Engineering
        • Software Engineering Tutorial
        • Software Development Life Cycle (SDLC)
        • Software Characteristics
        • Software Quality
        • Waterfall Model
        • Iterative Waterfall Model
        • Spiral Model
        • Prototyping Model
        • Incremental Process Model
      • Interview Questions
        • Software Testing Interview Questions
        • Automation Testing Interview Questions
        • Manual Testing Interview Questions
        • Software Engineering Interview Questions
        • Penetration Testing Interview Questions
        • API Testing Interview Questions
    • Databases
      • DBMS Tutorial
      • SQL Tutorial
      • PostgreSQL Tutorial
      • MongoDB Tutorial
      • SQL Interview Questions
      • MySQL Interview Questions
      • PL/SQL Interview Questions
    • Android
      • Android Tutorial
      • Android Studio Tutorial
      • Kotlin For Android
      • Android Projects
      • Android Interview Questions
      • 6 Weeks of Android App Development
    • Excel
      • MS Excel Tutorial
      • Introduction to MS Excel
      • Data Analysis in Excel
      • Basic Excel Formulas & Functions
      • Data Analysis in Advanced Excel
      • Workbooks
      • Statistical Functions
      • Data Visualization in Excel
      • Pivot Tables in Excel
      • Excel Spreadsheets in Python
      • Basic Excel Shortcuts
    • Mathematics
      • Number System
      • Algebra
      • Linear Algebra
      • Trigonometry
      • Set Theory
      • Statistics
      • Probability
      • Geometry
      • Mensuration
      • Logarithms
      • Calculus
    • Commerce
      • Business Studies
      • Accountancy
      • Microeconomics
      • Statistics for Economics
      • Macroeconomics
      • Human Resource Management (HRM)
      • Management
      • Income Tax
      • Finance
      • Commerce Complete Guide
    • SEO-Search Engine Optimization
      • What is SEO
      • Search Engine Optimization Basics
      • Types of SEO
      • Keyword Optimization in SEO
      • Backlinks in SEO
      • SEO Blogs
      • Mobile SEO
      • SEO Complete Reference
    • Aptitude
      • Aptitude Question and Answers
      • Quantitative Aptitude
      • Logical Reasoning
      • Verbal Ability
  • Data Science
    • Python Tutorial
    • R Tutorial
    • Machine Learning
    • Data Science using Python
    • Data Science using R
    • Data Science Packages
      • Pandas Tutorial
      • NumPy Tutorial