
<!DOCTYPE html>
<!--[if IE 7]>
<html class="ie ie7" lang="en-US" prefix="og: http://ogp.me/ns#">
<![endif]-->
<!--[if IE 8]>
<html class="ie ie8" lang="en-US" prefix="og: http://ogp.me/ns#">
<![endif]-->
<!--[if !(IE 7) | !(IE 8)  ]><!-->
<html lang="en-US" prefix="og: http://ogp.me/ns#" >

<!--<![endif]-->
<head>
<meta charset="UTF-8" />

<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=3.0"> 
<link rel="shortcut icon" href="https://media.geeksforgeeks.org/wp-content/cdn-uploads/gfg_favicon.png" type="image/x-icon" />

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>


<meta name="theme-color" content="#308D46" />
<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1' />

<meta name="image" property="og:image" content="https://media.geeksforgeeks.org/wp-content/cdn-uploads/gfg_200x200-min.png">
<meta property="og:image:type" content="image/png">
<meta property="og:image:width" content="200">
<meta property="og:image:height" content="200">
<meta name="facebook-domain-verification" content="xo7t4ve2wn3ywfkjdvwbrk01pvdond" />

<meta property="og:title" content="ML | Fuzzy Clustering - GeeksforGeeks" />
<meta name="description" content="A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions." />
<meta property="og:url" content="https://www.geeksforgeeks.org/ml-fuzzy-clustering/" />
<meta name="keywords" content="Data Structures, Algorithms, Python, Java, C, C++, JavaScript, Android Development, SQL, Data Science, Machine Learning, PHP, Web Development, System Design, Tutorial, Technical Blogs, Interview Experience, Interview Preparation, Programming, Competitive Programming, Jobs, Coding Contests, GATE CSE, HTML, CSS, React, NodeJS, Placement, Aptitude, Quiz, Computer Science, Programming Examples, GeeksforGeeks Courses, Puzzles, SSC, Banking, UPSC, Commerce, Finance, CBSE, School, k12, General Knowledge, News, Mathematics, Exams" />
<meta property="og:site_name" content="GeeksforGeeks" />
<meta property="og:image" content="http://www.geeksforgeeks.org/wp-content/uploads/gfg_200X200-1.png" />
<meta property="article:section" content="Articles" />
<meta property="article:tag" content="fuzzy-logic" />
<meta property="article:tag" content="AI-ML-DS With Python" />
<meta property="og:type" content="article" />
<meta property="og:locale" content="en_US" />
<meta property="article:published_time" content="2019-09-10 18:10:20+00:00" />
<meta property="article:modified_time" content="2023-11-01 15:59:24+00:00" />
<meta property="og:updated_time" content="2023-11-01 15:59:24+00:00" />
<meta property="og:image:secure_url" content="http://www.geeksforgeeks.org/wp-content/uploads/gfg_200X200-1.png" />
<meta property="og:description" content="A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions." />
<script src="https://cdnads.geeksforgeeks.org/synchronously_gfg_ads.min.js"></script>
<script defer src="https://apis.google.com/js/platform.js"></script>
<!-- earlier require.js -->
<!-- <script src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.14/require.min.js"></script> -->
<!-- <script src="https://assets.geeksforgeeks.org/codetabs-dev/require.js"></script> -->
<!-- Removed the below script from here to prevent loading google translate js at initial load
<script async src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> -->
<script src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.14/require.min.js"></script>
<!-- FIXME:-  To be finalised whether we need to put this gpt script in header or footer  -->
<!-- //gpt.js script -->
<!-- <script async src='https://www.googletagservices.com/tag/js/gpt.js'></script> -->
      <script defer src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
  <script defer src="https://cdnads.geeksforgeeks.org/prebid.js?ver=0.1"></script>
<script defer src="https://cdnads.geeksforgeeks.org/gfg_ads.min.js?ver=0.1"></script>

                    <script> 
                        var quizData = JSON.parse("{}");
                    </script>
                
<!-- gfg tabs compatablity bundled js -->

<title>ML | Fuzzy Clustering - GeeksforGeeks</title>
<link rel="profile" href="http://gmpg.org/xfn/11" />
<link rel="pingback" href="" />
<!--[if lt IE 9]>
<script src="https://www.geeksforgeeks.org/wp-content/themes/iconic-one/js/html5.js" type="text/javascript"></script>
<![endif]-->


<!-- Video Schema for posts only -->

<!-- adding article schema markup -->


<!--POST SCHEMA through API-->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "id": "https://www.geeksforgeeks.org/ml-fuzzy-clustering/"
  },
  "headline": "ML | Fuzzy Clustering",
  "datePublished": "2019-09-10 06:10:20",
  "dateModified": "2023-11-01 03:59:24",
  "image": {
    "@type": "ImageObject",
    "url": "https://media.geeksforgeeks.org/wp-content/uploads/gfg_200X200-100x100.png",
    "width": "100",
    "height": "100"
  },
  "author": {
    "@type": "Organization",
    "name": "GeeksforGeeks",
    "url": "https://www.geeksforgeeks.org/",
    "logo": {
      "@type": "ImageObject",
      "url": "https://media.geeksforgeeks.org/wp-content/cdn-uploads/logo-new-2.svg",
      "width": "301",
      "height": "40"
    }
  },
  "publisher": {
    "@type": "Organization",
    "name": "GeeksforGeeks",
    "url": "https://www.geeksforgeeks.org/",
    "logo": {
      "@type": "ImageObject",
      "url": "https://media.geeksforgeeks.org/wp-content/cdn-uploads/logo-new-2.svg",
      "width": "301",
      "height": "40"
    }
  },
  "description": "Prerequisite: Clustering in Machine Learning&amp;nbsp; Clustering is an unsupervised machine learning technique that divides the given data into different clusters based on their distances (similarity) from each other.&amp;nbsp; The unsupervised k-means clustering algorithm gives the values of any point lying in some particular cluster to be either as 0 or",
  "about": [
    {
      "@type": "Thing",
      "name": "ArticlesGq"
    },
    {
      "@type": "Thing",
      "name": "MachineLearning"
    },
    {
      "@type": "Thing",
      "name": "FuzzyLogic"
    },
    {
      "@type": "Thing",
      "name": "AiMlDsPython"
    },
    {
      "@type": "Thing",
      "name": "AiMlDs"
    }
  ]
}</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "url": "https://www.geeksforgeeks.org/",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://www.geeksforgeeks.org/search/{search_term_string}/",
    "query-input": "required name=search_term_string"
  }
}</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "GeeksforGeeks",
  "url": "https://www.geeksforgeeks.org/",
  "logo": "https://media.geeksforgeeks.org/wp-content/cdn-uploads/20200817185016/gfg_complete_logo_2x-min.png",
  "description": "A computer science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.",
  "founder": [
    {
      "@type": "Person",
      "name": "Sandeep Jain",
      "url": "https://in.linkedin.com/in/sandeep-jain-b3940815"
    }
  ],
  "sameAs": [
    "https://www.facebook.com/geeksforgeeks.org/",
    "https://twitter.com/geeksforgeeks",
    "https://www.linkedin.com/company/1299009",
    "https://www.youtube.com/geeksforgeeksvideos/"
  ]
}</script>

<script>
    var arrPostCat = new Array();
    var arrPostCatName="AIMLDS";
            arrPostCat.push('9172');
            arrPostCat.push('18');
            arrPostCat.push('3188');
        var tIds = "9172,18,3188,9218,2841";
    var termsNames = "AIMLDS,Articles,MachineLearning,AIMLDSWithPython,fuzzylogic";
    var tIdsInclusiveParents = "9172,18,3188,9218,2841";
    var domain = 1;
    var arrPost = new Array();
    var post_id = "343358";
    var post_type = "post";
    var post_slug = window.location.href;
    var ip = "64.252.73.128";
    var post_title = `ML | Fuzzy Clustering`;
    var post_status = "publish";
    var practiceAPIURL="https://practiceapi.geeksforgeeks.org/";
    var practiceURL="https://practice.geeksforgeeks.org/";
    var post_date = "2019-09-10 18:10:20";
    var commentSysUrl = "https://discuss.geeksforgeeks.org/commentEmbedV2.js";
    //var postAdApiUrlString = "";
    var link_on_code_run = '';
    var link_search_modal_top = '';
    var country_code_cf = "IN";
    
    
        var postAdApiUrlString = '9172/9172/18/3188/9218/2841/';
</script>




<!-- This site is optimized with the Yoast SEO plugin v7.6 - https://yoast.com/wordpress/plugins/seo/ -->
<link rel="canonical" href="https://www.geeksforgeeks.org/ml-fuzzy-clustering/" />
<script type='application/ld+json'>{"@context":"https:\/\/schema.org","@type":"Organization","url":"https:\/\/www.geeksforgeeks.org\/","sameAs":[],"@id":"https:\/\/www.geeksforgeeks.org\/#organization","name":"GeeksforGeeks","logo":"http:\/\/www.geeksforgeeks.org\/wp-content\/uploads\/gfg_200X200-1.png"}</script>
<!-- / Yoast SEO plugin. -->

<link rel='dns-prefetch' href='//www.geeksforgeeks.org' />
<link rel='dns-prefetch' href='//s.w.org' />
		<script type="text/javascript">
			window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/11\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/11\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.geeksforgeeks.org\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.9.8"}};
			!function(a,b,c){function d(a,b){var c=String.fromCharCode;l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,a),0,0);var d=k.toDataURL();l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,b),0,0);var e=k.toDataURL();return d===e}function e(a){var b;if(!l||!l.fillText)return!1;switch(l.textBaseline="top",l.font="600 32px Arial",a){case"flag":return!(b=d([55356,56826,55356,56819],[55356,56826,8203,55356,56819]))&&(b=d([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]),!b);case"emoji":return b=d([55358,56760,9792,65039],[55358,56760,8203,9792,65039]),!b}return!1}function f(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var g,h,i,j,k=b.createElement("canvas"),l=k.getContext&&k.getContext("2d");for(j=Array("flag","emoji"),c.supports={everything:!0,everythingExceptFlag:!0},i=0;i<j.length;i++)c.supports[j[i]]=e(j[i]),c.supports.everything=c.supports.everything&&c.supports[j[i]],"flag"!==j[i]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[j[i]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(h=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",h,!1),a.addEventListener("load",h,!1)):(a.attachEvent("onload",h),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),g=c.source||{},g.concatemoji?f(g.concatemoji):g.wpemoji&&g.twemoji&&(f(g.twemoji),f(g.wpemoji)))}(window,document,window._wpemojiSettings);
		</script>
		<style type="text/css">
img.wp-smiley,
img.emoji {
	display: inline !important;
	border: none !important;
	box-shadow: none !important;
	height: 1em !important;
	width: 1em !important;
	margin: 0 .07em !important;
	vertical-align: -0.1em !important;
	background: none !important;
	padding: 0 !important;
}
</style>
<link rel='stylesheet' id='custom-style-css'  href='https://www.geeksforgeeks.org/wp-content/themes/iconic-one/css/gfg.min.css?ver=11.79' type='text/css' media='all' />
<script type='text/javascript' src='https://code.jquery.com/jquery-3.7.1.min.js?ver=3.7.1'></script>
<script type='text/javascript' src='https://code.jquery.com/jquery-migrate-3.5.2.min.js?ver=3.5.2'></script>
<script type='text/javascript'>
/* <![CDATA[ */
var gfgObject = {"authUrl":"https:\/\/auth.geeksforgeeks.org\/","writeApiUrl":"https:\/\/apiwrite.geeksforgeeks.org\/","writeUrl":"https:\/\/write.geeksforgeeks.org\/","utilUrl":"https:\/\/util.geeksforgeeks.org\/","apiUrl":"https:\/\/api.geeksforgeeks.org\/","cfApiUrl":"https:\/\/gfgapi.geeksforgeeks.org\/","baseCompilerURL":"https:\/\/codejudge.geeksforgeeks.org\/","idePageBaseUrl":"https:\/\/ide.geeksforgeeks.org\/","gfgApiScriptUrl":"https:\/\/apiscript.geeksforgeeks.org\/","gfgSiteUrl":"https:\/\/www.geeksforgeeks.org\/","curatedListId":"1","curatedListTitle":"SDE Sheet Problems","utilDjangoCfUrl":"https:\/\/utilapi.geeksforgeeks.org\/","premiumCheckoutSlug":"premium-plans-payment\/","premiumLandingSlug":"premium-plans\/","premiumCssUrl":"https:\/\/www.geeksforgeeks.org\/wp-content\/themes\/iconic-one\/css\/gfgpremium.min.css?ver=1.6","premiumJsUrl":"https:\/\/www.geeksforgeeks.org\/wp-content\/themes\/iconic-one\/js\/gfgpremium.min.js?ver=1.5","utilGoogleUrl":"https:\/\/ugprod.geeksforgeeks.org\/","communityApiUrl":"https:\/\/communityapi.geeksforgeeks.org\/","utilDjangoUrl":"https:\/\/gfgutil.geeksforgeeks.org\/","gfgPracticeUrl":"https:\/\/practiceapi.geeksforgeeks.org\/","gfgMediaUrl":"https:\/\/media.geeksforgeeks.org\/","authDjangoApiUrl":"https:\/\/authapi.geeksforgeeks.org\/","gfgMlApiUrl":"https:\/\/recommendations.geeksforgeeks.org\/","is_home":"","is_category":"","userlevelPremiumPlus":"2","practiceUrl":"https:\/\/practice.geeksforgeeks.org\/","gfgNotificationsApiUrl":"https:\/\/notificationsapi.geeksforgeeks.org\/"};
/* ]]> */
</script>
<script type='text/javascript' async="async" src='https://www.geeksforgeeks.org/wp-content/themes/iconic-one/js/gfg.min.js?ver=13.50'></script>

<link rel='shortlink' href='https://www.geeksforgeeks.org/?p=343358' />
<style>
#wpadminbar{
background: #ff0000 !important;
}
</style>
<style type="text/css" id="custom-background-css">
body.custom-background { background-color: #ffffff; }
</style>
<link rel="icon" href="https://www.geeksforgeeks.org/wp-content/uploads/gfg_200X200-100x100.png" sizes="32x32" />
<link rel="icon" href="https://www.geeksforgeeks.org/wp-content/uploads/gfg_200X200.png" sizes="192x192" />
<link rel="apple-touch-icon-precomposed" href="https://www.geeksforgeeks.org/wp-content/uploads/gfg_200X200.png" />
<meta name="msapplication-TileImage" content="https://www.geeksforgeeks.org/wp-content/uploads/gfg_200X200.png" />

<!--
<script type='text/javascript'>
  var googletag = googletag || {};
  googletag.cmd = googletag.cmd || [];
  (function() {
    var gads = document.createElement('script');
    gads.async = true;
    gads.type = 'text/javascript';
    var useSSL = 'https:' == document.location.protocol;
    gads.src = (useSSL ? 'https:' : 'http:') +
      '//www.googletagservices.com/tag/js/gpt.js';
    var node = document.getElementsByTagName('script')[0];
    node.parentNode.insertBefore(gads, node);
  })();
</script>

 AutoAds
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: "ca-pub-9465609616171866",
enable_page_level_ads: true
});
</script>
-->




<style>


@media (max-width:1043px) and (min-width:992px) {
 .hide-1043992 {
   display: none!important;
 }
}

.mobile-header-list-item{
    padding-left:30px; 
    padding-right:10px;
    margin-top:5px;
}

.mobile-header-list{
    border-bottom: 1px solid rgba(158, 158, 158, 0.3) !important;
}

.mobile-header-list .dropdown-title{
    border-bottom: none !important;
    font-size: 16px!important; 
    padding: 0px!important; 
    padding-left: 45px!important; 
    font-weight: normal;
}

.mobile-header-list .upside::after{
    transform: rotate(180deg);
}

</style>
<!-- End Google Tag Manager -->
<!-- Global site tag (gtag.js) - Google Ads: 474915276 -->
<!-- <script async src="https://www.googletagmanager.com/gtag/js?id=AW-474915276"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'AW-474915276');
</script> -->

</head>

<body class="post-template-default single single-post postid-343358 single-format-standard custom-background custom-background-white">

    <script>
        // Dark mode script

        const gfgThemeList = Object.freeze({
            LIGHT: "gfgThemeLight",
            DARK: "gfgThemeDark"
        })
        const getThemeFromCookie = () => {
            let gfg_def_theme = "";
            let cookies = document.cookie;
            let cooks = cookies.split(";");
        
            for (let i = 0; i < cooks.length; i++) {   
                let icook = cooks[i].split("=");
                if (icook[0].trim() == "gfg_theme") {
                    gfg_def_theme = icook[1].trim();
                }
            }
            return gfg_def_theme
        }
        if(!(post_slug.includes('premium-plans-payment/') || post_slug.includes('premium-plans/'))){
            var isDarkMode = getThemeFromCookie() == gfgThemeList.DARK ? true : false;
            document.querySelector("body").setAttribute("data-dark-mode", isDarkMode);
        }
 

        function setSearchBarFocus() {
          const myTimeout = setTimeout(searchBarFocus, 0);
          function searchBarFocus() {
            document.getElementById("gcse-search-input").focus();
          }
        }

        
    </script>

    <!-- <div class="header-main__wrapper not-fixed"> -->
    <nav>
    <div class="header-main__wrapper">

        <a class="gfg-stc" style="top:0" href="#main">Skip to content</a>

        <a href="https://www.geeksforgeeks.org/" aria-label="Logo" class="header-main__logo">
            <div class="_logo">
                <!-- Original Logo -->
                <img class="gfg_logo_img" style="height: 30px; width: 80px; max-width: fit-content;" src="https://media.geeksforgeeks.org/gfg-gg-logo.svg" alt="geeksforgeeks">
            </div>
        </a>
        <div class="header-main__container">
            <!-- for mobile only -->
            
        <!-- For Web view only -->
        <ul class="header-main__list"><li class="header-main__list-item Header_1" data-parent="false" aria-expanded="true" data-expandable="true"><span>Courses</span><i class="gfg-icon gfg-icon_arrow-down gfg-icon_header"></i><ul class="mega-dropdown Screen_1"><li class="mega-dropdown__list-item" data-parent="false" aria-expanded="true" data-expandable="true"><a href="https://www.geeksforgeeks.org/courses/category/ibm-certification?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" class="remove-anchor__decoration" target="_self" style="display: inline-flex; padding: 0;">Get IBM Certifications</a><i class="gfg-icon gfg-icon_arrow-right"></i><ul class="mega-dropdown Screen_2"><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/data-science-live?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">Complete Machine Learning & Data Science Program</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/full-stack-applied-data-science-program?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">Data Science Training Program</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/data-analytics-training-program-excel-sql-python-powerbi?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">Data Analytics Training using Excel, SQL, Python & PowerBI</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/complete-data-analytics-program?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">Complete Data Analytics Program</a></li></ul></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/dsa-to-development-coding-guide?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">DSA to Development</a></li><li class="mega-dropdown__list-item" data-parent="false" aria-expanded="true" data-expandable="true"><span>For Working Professionals</span><i class="gfg-icon gfg-icon_arrow-right"></i><ul class="mega-dropdown Screen_2"><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/geeks-classes-live?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">Data Structure & Algorithm Classes (Live)</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/system-design-live?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">System Design (Live)</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/Java-backend-live?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">JAVA Backend Development(Live)</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/devops-live?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">DevOps(Live)</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/Data-Structures-With-Python?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">Data Structures & Algorithms in Python</a></li></ul></li><li class="mega-dropdown__list-item" data-parent="false" aria-expanded="true" data-expandable="true"><span>For Students</span><i class="gfg-icon gfg-icon_arrow-right"></i><ul class="mega-dropdown Screen_2"><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/complete-interview-preparation?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">Interview Preparation Course</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/gate-live-course/?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">GATE CS & IT 2025</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/data-science-live?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">Data Science (Live)</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/dsa-self-paced?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">Data Structure & Algorithm-Self Paced(C++/JAVA)</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/competitive-programming-cp?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">Master Competitive Programming(Live)</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/full-stack-node?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">Full Stack Development with React & Node JS(Live)</a></li></ul></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=courses" target="_self">All Courses</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/full-stack-node?itm_source=geeksforgeeks&itm_medium=main_header&itm_campaign=courses" target="_self">Full Stack Development</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/courses/data-science-live?itm_source=geeksforgeeks&itm_medium=main_header&itm_campaign=courses" target="_self">Data Science Program</a></li></ul></li><li class="header-main__list-item Header_2" data-parent="false" aria-expanded="true" data-expandable="true"><span>Tutorials</span><i class="gfg-icon gfg-icon_arrow-down gfg-icon_header"></i><ul class="mega-dropdown Screen_1"><li class="mega-dropdown__list-item" data-parent="false" aria-expanded="true" data-expandable="true"><span>Python</span><i class="gfg-icon gfg-icon_arrow-right"></i><ul class="mega-dropdown Screen_2"><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/python-programming-language-tutorial/?ref=dhm" target="_self">Python Tutorial</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/python-programming-examples/?ref=dhm" target="_self">Python Programs</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/advanced-python-tutorials/?ref=dhm" target="_self">Advanced Python Tutorial</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/python-projects-beginner-to-advanced/?ref=dhm" target="_self">Python Projects</a></li></ul></li><li class="mega-dropdown__list-item" data-parent="false" aria-expanded="true" data-expandable="true"><span>Web Development in Python</span><i class="gfg-icon gfg-icon_arrow-right"></i><ul class="mega-dropdown Screen_2"><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/django-tutorial/?ref=ghm" target="_self">Django</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/flask-tutorial/?ref=dhm" target="_self">Flask</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/introduction-postman-api-development/?ref=dhm" target="_self">Postman</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/python-web-scraping-tutorial/?ref=dhm" target="_self">Web Scrapping in Python</a></li></ul></li><li class="mega-dropdown__list-item" data-parent="false" aria-expanded="true" data-expandable="true"><span>Data Structures & Algorithms</span><i class="gfg-icon gfg-icon_arrow-right"></i><ul class="mega-dropdown Screen_2"><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/dsa-tutorial-learn-data-structures-and-algorithms/?ref=dhm" target="_self">Complete DSA Tutorial</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/company-preparation/?ref=dhm" target="_self">Company Wise Preparation</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/competitive-programming-a-complete-guide/?ref=dhm" target="_self">Competitive Programming</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/sde-sheet-a-complete-guide-for-sde-preparation/?ref=dhm" target="_self">SDE Sheets</a></li></ul></li><li class="mega-dropdown__list-item" data-parent="false" aria-expanded="true" data-expandable="true"><span>Languages</span><i class="gfg-icon gfg-icon_arrow-right"></i><ul class="mega-dropdown Screen_2"><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/java/?ref=dhm" target="_self">Java</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/c-plus-plus/?ref=dhm" target="_self">C++</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/r-tutorial/?ref=ghm" target="_self">R Tutorial</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/c-programming-language/?ref=dhm" target="_self">C</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/csharp-programming-language/?ref=dhm" target="_self">C#</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/sql-tutorial/?ref=dhm" target="_self">SQL</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/perl-programming-language/?ref=dhm" target="_self">Perl</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/golang/?ref=dhm" target="_self">Go Language</a></li></ul></li><li class="mega-dropdown__list-item" data-parent="false" aria-expanded="true" data-expandable="true"><span>Interview Corner</span><i class="gfg-icon gfg-icon_arrow-right"></i><ul class="mega-dropdown Screen_2"><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/system-design-tutorial/?ref=ghm" target="_self">System Design Tutorial</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/interview-preparation-for-software-developer/?ref=dhm" target="_self">Top Topics</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/must-coding-questions-company-wise/?ref=dhm" target="_self">Practice Company Questions</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/company-interview-corner/?ref=dhm" target="_self">Interview Experiences</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/experienced-interview-experiences-company-wise/?ref=dhm" target="_self">Experienced Interviews</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/internship-interview-experiences-company-wise/?ref=dhm" target="_self">Internship Interviews</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/quiz-corner-gq/?ref=dhm" target="_self">Multiple Choice Quizzes</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/aptitude-questions-and-answers/?ref=dhm" target="_self">Aptitude for Placements</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/puzzles/?ref=dhm" target="_self">Puzzles for Interviews</a></li></ul></li><li class="mega-dropdown__list-item" data-parent="false" aria-expanded="true" data-expandable="true"><span>Web Development</span><i class="gfg-icon gfg-icon_arrow-right"></i><ul class="mega-dropdown Screen_2"><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/html-tutorial/?ref=dhm" target="_self">HTML</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/css-tutorial/?ref=dhm" target="_self">CSS</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/javascript/?ref=dhm" target="_self">JavaScript</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/typescript/?ref=dhm" target="_self">TypeScript</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/react-tutorial/?ref=dhm" target="_self">ReactJS</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/nextjs/?ref=dhm" target="_self">NextJS</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/nodejs/?ref=dhm" target="_self">Node.js</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/php-tutorial/?ref=dhm" target="_self">PHP</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/100-days-of-web-development/?ref=dhm" target="_self">100 Days of Web Development</a></li></ul></li><li class="mega-dropdown__list-item" data-parent="false" aria-expanded="true" data-expandable="true"><span>CS Subjects</span><i class="gfg-icon gfg-icon_arrow-right"></i><ul class="mega-dropdown Screen_2"><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/engineering-mathematics-tutorials/?ref=dhm" target="_self">Engineering Mathematics</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/operating-systems/?ref=dhm" target="_self">Operating System</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/dbms/?ref=dhm" target="_self">DBMS</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/computer-network-tutorials/?ref=dhm" target="_self">Computer Networks</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/computer-organization-and-architecture-tutorials/?ref=dhm" target="_self">Computer Organization and Architecture</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/theory-of-computation-automata-tutorials/?ref=dhm" target="_self">Theory of Computation</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/compiler-design-tutorials/?ref=dhm" target="_self">Compiler Design</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/digital-electronics-logic-design-tutorials/#blg/?ref=dhm" target="_self">Digital Logic</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/software-engineering/?ref=dhm" target="_self">Software Engineering</a></li></ul></li><li class="mega-dropdown__list-item" data-parent="false" aria-expanded="true" data-expandable="true"><span>DevOps And Linux</span><i class="gfg-icon gfg-icon_arrow-right"></i><ul class="mega-dropdown Screen_2"><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/devops-tutorial/?ref=dhm" target="_self">DevOps Tutorial</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/git-tutorial/?ref=dhm" target="_self">GIT</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/aws-tutorial/?ref=dhm" target="_self">AWS</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/kubernetes-tutorial/?ref=dhm" target="_self">Kubernetes</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/docker-tutorial/?ref=dhm" target="_self">Docker</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/microsoft-azure/?ref=dhm" target="_self">Microsoft Azure Tutorial</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/google-cloud-platform-tutorial/?ref=dhm" target="_self">Google Cloud Platform</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/linux-tutorial/?ref=dhm" target="_self">Linux Tutorial</a></li></ul></li><li class="mega-dropdown__list-item" data-parent="false" aria-expanded="true" data-expandable="true"><span>GATE</span><i class="gfg-icon gfg-icon_arrow-right"></i><ul class="mega-dropdown Screen_2"><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/gate-cs-notes-gq/?ref=dhm" target="_self">GATE Computer Science Notes</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/original-gate-previous-year-question-papers-cse-and-it-gq/?ref=dhm" target="_self">GATE CS Original Papers and Official Keys</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/gate-cse-syllabus/?ref=dhm" target="_self">GATE CS 2025 Syllabus</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/gate-data-science-and-artificial-intelligence-syllabus/?ref=dhm" target="_self">GATE DA 2025 Syllabus</a></li></ul></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/geeksforgeeks-school/?ref=dhm" target="_self">School Learning</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/videos/?ref=dhm" target="_self">GeeksforGeeks Videos</a></li></ul></li><li class="header-main__list-item Header_3" data-parent="false" aria-expanded="true" data-expandable="true"><span>Data Science</span><i class="gfg-icon gfg-icon_arrow-down gfg-icon_header"></i><ul class="mega-dropdown Screen_1"><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/machine-learning/?ref=dhm" target="_self">Machine Learning</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/eda-with-NumPy-Pandas-Matplotlib-Seaborn/?ref=ghm" target="_self">EDA [Exploratory Data Analysis]</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/data-analysis-with-python/?ref=dhm" target="_self">Data Analysis with Python</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/python-data-visualization-tutorial/?ref=dhm" target="_self">Python Data Visualization</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/data-science-with-python-tutorial/?ref=dhm" target="_self">Data Science using Python</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/data-science-tutorial-with-r//?ref=dhm" target="_self">Data Science using R</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/deep-learning-tutorial/?ref=dhm" target="_self">Deep Learning</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/natural-language-processing-nlp-tutorial/?ref=dhm" target="_self">NLP Tutorial</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/computer-vision/?ref=dhm" target="_self">Computer Vision</a></li><li class="mega-dropdown__list-item" data-parent="false" aria-expanded="true" data-expandable="true"><span>Interview Corner</span><i class="gfg-icon gfg-icon_arrow-right"></i><ul class="mega-dropdown Screen_2"><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/machine-learning-interview-questions/?ref=dhm" target="_self">Machine Learning Interview Question</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/deep-learning-interview-questions/?ref=dhm" target="_self">Deep Learning Interview Question</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/nlp-interview-questions/?ref=dhm" target="_self">NLP Interview Question</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/python-interview-questions/?ref=dhm" target="_self">Python Interview Questions</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://www.geeksforgeeks.org/r-interview-questions/?ref=dhm" target="_self">Top 50 R Interview Questions</a></li></ul></li></ul></li><li class="header-main__list-item Header_4" data-parent="false" aria-expanded="true" data-expandable="true"><span>Practice</span><i class="gfg-icon gfg-icon_arrow-down gfg-icon_header"></i><ul class="mega-dropdown Screen_1"><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://practice.geeksforgeeks.org/explore?page=1&sortBy=submissions&utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=practice_header" target="_self">All DSA Problems</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://practice.geeksforgeeks.org/problem-of-the-day?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=practice_header" target="_self">Problem of the Day</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://practice.geeksforgeeks.org/explore?page=1&curated[]=1&sortBy=submissions&curated_names[]=SDE Sheet?utm_source=geeksforgeeks&utm_medium=main_header&utm_campaign=practice_header" target="_self">GFG SDE Sheet</a></li><li class="mega-dropdown__list-item" data-parent="false" aria-expanded="true" data-expandable="true"><a href="https://practice.geeksforgeeks.org/explore?utm_source=geeksforgeeks&utm_medium=topheader&utm_campaign=inbound_promotions" class="remove-anchor__decoration" target="_self" style="display: inline-flex; padding: 0;">Curated DSA Lists</a><i class="gfg-icon gfg-icon_arrow-right"></i><ul class="mega-dropdown Screen_2"><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://practice.geeksforgeeks.org/explore?page=1&curated[]=8&sortBy=submissions&curated_names[]=Beginner's DSA Sheet&utm_medium=main_header&utm_campaign=practice_header" target="_self">Beginner's DSA Sheet</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://practice.geeksforgeeks.org/explore?page=1&curated[]=7&sortBy=submissions&curated_names[]=Love Babbar Sheet&utm_medium=main_header&utm_campaign=practice_header" target="_self">Love Babbar Sheet</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://practice.geeksforgeeks.org/explore?page=1&curated[]=2&sortBy=submissions&curated_names[]=Top 50 Array Problems&utm_medium=main_header&utm_campaign=practice_header" target="_self">Top 50 Array Problems</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://practice.geeksforgeeks.org/explore?page=3&curated[]=3&sortBy=submissions&curated_names[]=Top 50 String Problems&utm_medium=main_header&utm_campaign=practice_header" target="_self">Top 50 String Problems</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://practice.geeksforgeeks.org/explore?page=1&curated[]=6&sortBy=submissions&curated_names[]=Top 50 Tree Problems&utm_medium=main_header&utm_campaign=practice_header" target="_self">Top 50 Tree Problems</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://practice.geeksforgeeks.org/explore?page=1&curated[]=5&sortBy=submissions&curated_names[]=Top 50 Graph Problems&utm_medium=main_header&utm_campaign=practice_header" target="_self">Top 50 Graph Problems</a></li><li class="mega-dropdown__list-item" data-child="true" aria-expanded="false" data-expandable="false"><a href="https://practice.geeksforgeeks.org/explore?page=1&curated[]=4&sortBy=submissions&curated_names[]=Top 50 DP Problems&utm_medium=main_header&utm_campaign=practice_header" target="_self">Top 50 DP Problems</a></li></ul></li></ul></li></ul>
        <!-- right now only search is visible for mobile view because of css and all are visible for web view -->
            <ul class="header-main__left-list" data-nl="false">
                <li class="header-main__left-list-item gcse-search_li p-relative" aria-expanded="false" data-expandable="false">
                    <div class="gcse-form-search-suggestion_wrapper">
                        <form id="gcse-form" class="gcse-form_class p-relative closeChatScreen" data-sm="false">
                            <span class="front-search-icon"><i class="gfg-icon gfg-icon_search gfg-icon_white gcse-search__icon gcse-search-icon_grey"></i> </span>
                            <input class="gcse-search-input__wrapper" id="gcse-search-input" aria-expanded="false" placeholder="Search..." autocomplete="off" />
                            <i class="gfg-icon gfg-icon_times gfg-icon_white hide-search"></i>
                            <button  aria-label="search" type="submit" class="gcse-search__btn not-expanded">
                                <i class="gfg-icon gfg-icon_search gfg-icon_white gcse-search__icon"></i>
                            </button>
                        </form>
                        <div class="gfg-search-suggestion_wrapper" style="display:none"></div>
                    <div>
                </li>
                                <li>
                    <div class="darkMode-wrap" data-mode="Switch to Dark Mode">
                        <button aria-label="toggle theme" data-gfg-action="toggleGFGTheme">
                            <div id="darkMode-wrap-red-dot" style="height:12px;width:12px;background-color:#EB2222;border-radius:999999px;position:absolute;top:4px;right:0;display:none;"></div>
                            <i class="gfg-icon gfg-icon_dark-mode"></i>
                        </button>
                        <span id="darkModeTooltipText"></span>
                    </div>
                </li>
                
                    <style type="text/css">
                    .hidden{
                        display:none !important; 
                      }

                    .notification-bell-icon::after {
                    background-position: -43px -2992px;
                    }
                        
                    #toggleButton{
                        display:block !important;
                    }
                    </style>

                <li class="header-main__left-list-item notification-button">
                    <div id="toggleButton"  class="notification-main">
                        <div class="button">
                            <i  id="notification-bell-icon" class="gfg-icon notification-bell-icon"></i>
                            <span class="notification-count" style="display:none"></span>
                        </div>
                        <div id="toast-container" style="position: fixed; top: 20px; right: 20px; z-index: 9999;"></div>
                        <div id="notification" class="notification-container-main">
                            <div class="notification-header hidden">
                                <p>Notifications</p>
                            </div>
                            <div class="notification-category_container hidden">
                                <div class="notification_categories">
                                    <div id="all-notifications" class="notification_categories-inner-container notification-category active active-category"  style="margin-left:11px">
                                        <span id="all-notifications-inner" >All</span>
                                    </div>

                                </div>
                            </div>
                            <div id="notification-content" >
                                <div id="loader" class="loader"></div>
                                <div class="notification-scroll"> </div>
                                    <div class="notification-footer">
                                        <span id="view-all" class=" hidden">View All</span>
                                    </div>
                                </div>
                            </div>
                            <div id="notification-modal" class="notification-modal">
                                <div class="notification_modal_close">
                                    <span id="notification_close_button" class="notification_close_button"></span>
                                </div>
                                <div class="notification-modal-content">
                                    <div class="notification-modal-content-header hidden">
                                        <span class="heading_notification">Notifications</span>
                                        <div class="sorting">
                                            <div class="mark_all_read hidden">
                                                <span class="mark_icon gfg-icon"></span>
                                                <span>Mark all as read</span>
                                            </div>
                                        </div>
                                    </div>
                                <div class="notification-category_container hidden">
                                    <div class="notification_categories">
                                        <div id="all-notifications-modal"  class="notification_categories-inner-container notification-category active-category">
                                            <span id="all-notifications-inner-modal" >All</span>
                                        </div>
                                        <div id="unread-notifications-modal" class="notification_categories-inner-container notification-category ">
                                            <span>Unread</span>
                                        </div>
                                        <div id="read-notifications-modal" class="notification_categories-inner-container notification-category ">
                                            <span>Read</span>
                                        </div>
                                    </div>
                                </div>
                                <div class="zero_notification_content hidden">
                                    <span class="notifications-text">
                                        You're all caught up!!
                                    </span>
                                </div>
                                <div id="loader_modal" class="loader_modal"></div>
                                <div id="notification-content-container">
                                    <div class="notification-modal-scroll">
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </li>
                                
                <li class="header-main__left-list-item google-translate-parent-element" aria-expanded="false" data-expanded="true">
                    <div class="translate" id="g_translater">
                        <div id="google_translate_element" data-show="false"></div>
                    </div>
                    <i class ="gfg-icon gfg-icon_translate googleTranslateToggle" data-gfg-action="google_translate_element"></i>
                    <!-- removed below code from here to load google translate js dynamically -->
                    <!-- <script>
                        var m = false;
                        function googleTranslateElementInit() {
                            new google.translate.TranslateElement({pageLanguage: 'en'}, 'google_translate_element');
                            setTimeout(function(){
                                if (jQuery( window ).width() < 768){
                                    m = true;
                                     jQuery('#g_translater').detach().appendTo('#google_translate_mobile');                            
                                }
                            }, 7000);
                        }
                        jQuery( window ).resize(function() {
                            if (jQuery( window ).width() < 768 && m == false){
                                m = true;
                                jQuery('#g_translater').detach().appendTo('#google_translate_mobile');  
                            } else if (jQuery( window ).width() >= 768 && m == true){
                                m = false;
                                jQuery('#g_translater').detach().prependTo('.google-translate-parent-element');                            
                            }
                        });
                    </script> -->
                </li>
                <li id="userProfileId" class="header-main__left-list-item p-relative" aria-expanded="false" data-expandable="false">
                    <!-- Profile Section to be added via JS -->
                </li>
                            </ul>
        </div>

        <!-- for mobile only -->
        
        <!-- for mobile only -->
               
       </div>
    </nav>
    <div class="header-main__slider">
        <button aria-label="sub header slider previous" class="header-main__slider-arrow previous hideIt">
            <i class="gfg-icon gfg-icon_arrow-left gicon-centered"></i>
        </button>
        <!-- main content for leftbar -->
        <ul id="hslider">
        <li><a href="https://www.geeksforgeeks.org/courses/category/ibm-certification?ref=shm">Data Science IBM Certification</a></li><li><a href="https://www.geeksforgeeks.org/data-science-with-python-tutorial/?ref=shm">Data Science</a></li><li><a href="https://www.geeksforgeeks.org/top-data-science-projects/?ref=shm">Data Science Projects</a></li><li><a href="https://www.geeksforgeeks.org/data-analysis-tutorial/?ref=shm">Data Analysis</a></li><li><a href="https://www.geeksforgeeks.org/python-data-visualization-tutorial/?ref=shm">Data Visualization</a></li><li><a href="https://www.geeksforgeeks.org/machine-learning/?ref=shm">Machine Learning</a></li><li><a href="https://www.geeksforgeeks.org/machine-learning-projects/?ref=shm">ML Projects</a></li><li><a href="https://www.geeksforgeeks.org/deep-learning-tutorial/?ref=shm">Deep Learning</a></li><li><a href="https://www.geeksforgeeks.org/natural-language-processing-nlp-tutorial/?ref=shm">NLP</a></li><li><a href="https://www.geeksforgeeks.org/computer-vision/?ref=shm">Computer Vision</a></li><li><a href="https://www.geeksforgeeks.org/artificial-intelligence/?ref=shm">Artificial Intelligence</a></li>        </ul>
        <button aria-label="sub header slider next" class="header-main__slider-arrow next hideIt">
            <i class="gfg-icon gfg-icon_arrow-right gicon-centered"></i>
        </button>
    </div>
    <button id="scrollTopBtn" title="Scroll to Top" type="button" class="btn btn-success">&#x25B2;</button>
    <!-- .top-spacing to give space on single pages-->
    <div id="main" class="wrapper single-page">

<script>
    if(post_slug.includes('premium-plans-payment/') || post_slug.includes('premium-plans/')){
        $(".header-main__slider").remove();
    }
    //getting tags for the page type data
    let mobileView = false;
    let pageTags = JSON.parse('null');
    let allTags = JSON.parse('["AIMLDS","Articles","MachineLearning","AIMLDSWithPython","fuzzylogic"]');
</script>

<script>
    window.have_dsa_term = false;
    // var practiceTab = ; 
</script>

<style>
    .wrapper {
        flex-direction: column !important;
    }
    /* spinner css */
    @keyframes spinner {
        to {transform: rotate(360deg);}
    }
    
    .spinner:before {
        content: '';
        box-sizing: border-box;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 20px;
        height: 20px;
        margin-top: -10px;
        margin-left: -10px;
        border-radius: 50%;
        border: 2px solid #ccc;
        border-top-color: #000;
        animation: spinner .6s linear infinite;
    }

    .report-loader{
        position: relative;
        
    }

    .report-loader.spinner{
        margin-left: 16px;
    }
    .badges{
        display: flex;
        align-items: center;
        position: relative;
    }
    .badges .gfg-badge-icon.md::after{
        transform: scale(0.25);
        position:relative;
        top: 2px;
        left: -2px;
    }
    .sep{
        margin: 0px 5px;
        font-size: 20px;
        color: var(--badge-name-color);
    }
    .pub-count{
        font-size: 14px;
        font-family: var(--font-secondary);
    }
    .badge-details{
        display:none;
    }
    .badges{
        cursor: pointer;
        position: relative;
        /* width: 0px;
        height: 20px;
        top: -32px; */
    }
    .badge-icon{
        display: flex;
        align-items: center;
    }
    .badge-content{
        margin-left: 9px;
    }
    .badge-name{
        color: var(--badge-nam-color);
        font-weight: 600;
        font-size: 16px;
        text-transform: capitalize;
    }
    .badge-data{
        color: #A5A4A4;
        font-size: 10px;
    }
    .badges:hover .badge-details{
        display: block;
        background: var(--badge-bg);
        padding: 10px 18px 10px 18px;
        position: absolute;
        width: 175px;
        top: -10px;
        z-index: 10;
        left: 112%;
        box-shadow: rgb(100 100 111 / 20%) 0px 7px 29px 0px;
        border-radius: 5px;
        /* transform-origin: top right; */
    }
    .badge-details::before {
        content: "";
        position: absolute;
        transform: rotate(90deg);
        /* transform-origin: right; */
        left: -6px;
        top: 50%;
        margin-left: -17px;
        border-width: 12px;
        border-style: solid;
        border-color: var(--badge-bg) transparent transparent transparent;
        margin-top: -12px;
    }
    .badge-icon .icon{
        border: 1px solid var(--icon-border-color);
        padding: 4px 3px;
        border-radius: 4px;
        width: 22px;
        height: 24px;
        position: relative;
    }
    .b-icon-pos{
        position: relative;
        top: -34px;
        left: -34px;
    }
    /* article viewer */
    .article--viewer .a-wrapper{
        margin-top: 0px !important;
    }
    .content{
        padding-top: 10px !important;
    }
    .u-name{
        font-size: 14px;
    }
    .article--viewer_content .a-wrapper .content{
        padding-bottom: 10px !important;
    }
    .likeTooltipBottom{
        font-size: 14px;
    }
    @media (max-width: 434px) {
        .article-buttons.show-bg{
            margin-top: 56px !important;
        }
    }
    @media (max-width: 730px),
            ((min-width: 992px) and (max-width:1100px))  {
        .article--viewer .media{
            position: relative;
        }
        .article--viewer .media{
            margin-bottom: 0px !important;
        }
        .badges:hover .badge-details{
            top: -56px;
            left: 62px;
        }
        .badge-details::before{
            transform: rotate(0deg);
            left: 10%;
            top: 117%;
        }
        .article-buttons.show-bg{
            margin-top: 22px;
            top: 0px !important;
        }
    }
    @media ((min-width:731px) and (max-width:1223px)) {
        .article-buttons.show-bg{
            top: 18px;
        }
    }
    @media ((min-width:993px) and (max-width:1190px)) {
        .article--viewer .media{
            position: relative;
        }
        .article--viewer .media{
            margin-bottom: 25px !important;
        }
    }
</style>
<!-- Survey modal implementation -->
<script>
    function getCookie(name) {
        function escape(s) { return s.replace(/([.*+?\^$(){}|\[\]\/\\])/g, '\\$1'); }
        var match = document.cookie.match(RegExp('(?:^|;\\s*)' + escape(name) + '=([^;]*)'));
        return match ? match[1] : null;
    }
</script>
<!-- END Survey modal implementation-->

<!-- Open in App Button and CSS-->

<!-- Above code is for old openInApp pop-up with open in app and continue buttons-->

<div id='openInApp-modal' class='openInApp'>
    <a href = 'https://geeksforgeeksapp.page.link/?link=https://www.geeksforgeeks.org/ml-fuzzy-clustering/?type%3Darticle%26id%3D343358&apn=free.programming.programming&isi=1641848816&ibi=org.geeksforgeeks.GeeksforGeeksDev&efr=1' class='openInAppLink'>
        <span style='color: #fff;'>Open In App</span>
    </a>
</div>
    <script>
        var consentValue = localStorage.getItem("gfg_cc");
        var isIOS = !!navigator.platform && /iPad|iPhone|iPod|MacIntel/.test(navigator.platform) && navigator.maxTouchPoints > 0;
        const isSafari = navigator.userAgent.indexOf("Safari") > -1;
        const isMozilla = navigator.userAgent.indexOf("Mozilla") > -1;
        if(consentValue){
            if(window.innerHeight > window.innerWidth && navigator.maxTouchPoints > 1 && (isSafari || isMozilla || navigator.userAgentData.mobile)){
                $('.openInApp').css({
                    display: "block"
                });
                $('#scrollTopBtn').css({
                    bottom: "44px"
                });
                //adding a new class to check stats for clicks on iOS and Android
                isIOS ? jQuery('.openInAppLink').addClass("oia-iOS") : $('.openInAppLink').addClass("oia-android");      //for openInApp Link
            }
        }
        
    </script>
    <style>
        .openInApp{
            display: none;
            bottom: 0px;
            width: 100%;
            position: fixed;
            z-index: 1025;
            opacity: 0.93;
        }
        .openInAppLink{
            height: 44px;
            background: var(--color-gfg);
            font-weight: bold;
            display: block;
            text-align: center;
            padding: 12px;
            font-size: large;
        }
        .openInAppLink, .openInAppLink:hover, .openInAppLink:active, .openInAppLink:visited, .openInAppLink:focus {
            text-decoration:none;
        }
    </style>
<!-- END Open in App Button and CSS-->

            <script>
                companyTagsArray = JSON.parse('[]');
                categoryTagsArray = JSON.parse('["Machine Learning"]');
            </script>
            <div class="container-fluid bg-light" id="home-page" style="position: relative; max-width:100%;">
    <div class="article-page_flex">
            <div class="sidebar_wrapper  auto_leftbar ">
          <div class="sideBar sticky" >
                <!-- <div class="sideBar--wrap newLeftbar  "> -->
                <div class="sideBar--wrap newLeftbar ">
                <ul class="leftBarList"><div class="first"><li id="premium-leftbar-cta" style="background-color: var(--leftbar-explore-section-color) !important;"><a href="https://www.geeksforgeeks.org/courses/gfg-160-series?itm_source=geeksforgeeks&itm_medium=leftbar&itm_campaign=gfg160" style="cursor:pointer;display: block;border-bottom: 1px solid var(--gfg-body-color-alternate);" target="_blank">160 Days of DSA</a></li><li style="background-color: var(--leftbar-explore-section-color) !important;"><a class="share-experience-modal" href="https://write.geeksforgeeks.org/#experiences" style="cursor:pointer;display: block;border-bottom: 1px solid var(--gfg-body-color-alternate);">Share Your Experiences</a></li></div><div class='second'><li class=""><a href="https://www.geeksforgeeks.org/ml-fuzzy-clustering/?ref=ml_lbp">ML | Fuzzy Clustering</a></li><li class=""><a href="https://www.geeksforgeeks.org/fuzzy-clustering-in-r/?ref=ml_lbp">Fuzzy Clustering in R</a></li><li class=""><a href="https://www.geeksforgeeks.org/ml-birch-clustering/?ref=ml_lbp">ML | BIRCH Clustering</a></li><li class=""><a href="https://www.geeksforgeeks.org/ml-mean-shift-clustering/?ref=ml_lbp">ML | Mean-Shift Clustering</a></li><li class=""><a href="https://www.geeksforgeeks.org/cluster-sampling-in-r/?ref=ml_lbp">Cluster Sampling in R</a></li><li class=""><a href="https://www.geeksforgeeks.org/consensus-clustering/?ref=ml_lbp">Consensus Clustering</a></li><li class=""><a href="https://www.geeksforgeeks.org/clustering-in-r-programming/?ref=ml_lbp">Clustering in R Programming</a></li><li class=""><a href="https://www.geeksforgeeks.org/spectral-clustering-using-r/?ref=ml_lbp">Spectral Clustering using R</a></li><li class=""><a href="https://www.geeksforgeeks.org/k-mode-clustering-in-python/?ref=ml_lbp">K-Mode Clustering in Python</a></li><li class=""><a href="https://www.geeksforgeeks.org/clustering-strings-in-r/?ref=ml_lbp">Clustering Strings in R</a></li><li class=""><a href="https://www.geeksforgeeks.org/k-means-clustering-introduction/?ref=ml_lbp">K means Clustering - Introduction</a></li><li class=""><a href="https://www.geeksforgeeks.org/scipy-cluster/?ref=ml_lbp">SciPy - Cluster</a></li><li class=""><a href="https://www.geeksforgeeks.org/criterion-function-of-clustering/?ref=ml_lbp">Criterion Function Of Clustering</a></li><li class=""><a href="https://www.geeksforgeeks.org/ml-optics-clustering-explanation/?ref=ml_lbp">ML | OPTICS Clustering Explanation</a></li><li class=""><a href="https://www.geeksforgeeks.org/clustering-distance-measures/?ref=ml_lbp">Clustering Distance Measures</a></li><li class=""><a href="https://www.geeksforgeeks.org/k-means-clustering-using-weka/?ref=ml_lbp">K means clustering using Weka</a></li><li class=""><a href="https://www.geeksforgeeks.org/cluster-graph-in-r/?ref=ml_lbp">Cluster Graph in R</a></li><li class=""><a href="https://www.geeksforgeeks.org/ml-active-learning/?ref=ml_lbp">ML | Active Learning</a></li><li class=""><a href="https://www.geeksforgeeks.org/image-segmentation-using-fuzzy-c-means-clustering/?ref=ml_lbp">Image Segmentation Using Fuzzy C-Means Clustering</a></li><li><a href="https://www.geeksforgeeks.org/courses/data-science-live?utm_source=geeksforgeeks&utm_medium=leftbar_lcta&utm_campaign=courses">Machine Learning & Data Science <span style="background: #CCC;float: right;padding: 0px 5px;color: #404040 !important;border-radius: 10px;">Course</span></a></li></div></ul></div><div id="GFG_AD_Desktop_LeftSideBar_Docked_300x250"></div>            </div>
             <div id="GFG_AD_Desktop_LeftSideBar_Docked_160x600" style="max-width:160px; max-height:600px"></div>
        </div>
                <div class="leftBar">
            <div class="article--viewer">
                <div class="article--viewer_content">
                    <div class="a-wrapper">
                        <div class="" style="z-index:9999 !important;position:relative;">
                        </div>
                        <article class="content post-343358 post type-post status-publish format-standard hentry category-ai-ml-ds category-articles category-machine-learning tag-ai-ml-ds-python tag-fuzzy-logic" id="post-343358">
                                                                                   <!-- when comment system will be scalable from practice side then we will display  Article/Discussion tab-->
                            <div class="main_wrapper" style="display:flex;">
                                                                <div style="width: 100%;">
                                        <div class="article-title">
                                            <h1>ML | Fuzzy Clustering</h1>
                                        </div>
                                                                                    <div class="last_updated_parent">
                                                <div>
                                                    <span class="strong">Last Updated : </span>
                                                    <span>01 Nov, 2023</span>
                                                </div>

                                                 <!-- three dot menu -->
                                                <div class="three_dot_dropdown"> 
                                                                                                            <div style="display: flex;">
                                                                                                                    <div pid="343358" ptitle="ML | Fuzzy Clustering" class="top-summary-icon-div ">
                                                                <div class="three_dot_dropdown_div tooltip">
                                                                    <span class="summary_tooltiptext">Summarize</span>
                                                                    <div class="summarize_header">
                                                                    <i class= "summary_button" style="position: relative;"></i>
                                                                    </div>
                                                                </div>
                                                            </div>
                                                                                                                                                                                        <div pid="343358" ptitle="ML | Fuzzy Clustering" class="article--viewer_comment tooltip top-comment-icon-div">
                                                                    <span class="comment_tooltiptext">Comments</span>
                                                                    <div class="three_dot_dropdown_div" data-gfg-action='loadComments'>
                                                                        <div class="comment_header">
                                                                        <i class= "discussion_button" style="position: relative; transform: scale(0.9);"></i>
                                                                        </div>
                                                                    </div>
                                                                </div>
                                                                                                                        <div pid="343358" ptitle="ML | Fuzzy Clustering" class="article--viewer_improve tooltip">
                                                                <span class="improve_tooltiptext">Improve</span>
                                                                <div class="three_dot_dropdown_div three_dot_dropdown_improve" onclick="improveArticleCall()">
                                                                    <div class="improve_wrapper_top">
                                                                    <i class="gfg-icon gfg-icon-pencil  gfg-icon_edit" style="position: relative; z-index: 3;"></i>
                                                                    </div>
                                                                </div>
                                                                <!-- <button onclick="improveArticleCall()">
                                                                    <i class="gfg-icon gfg-icon_edit"></i>
                                                                </button> -->
                                                            </div> 
                                                                                                                    <!-- three dots -->
                                                        <ul class="dropbtn icons btn-right showLeft" onclick="showDropdown()">
                                                            <li>
                                                                                                                            </li>
                                                            <li></li>
                                                            <li></li>
                                                        </ul>
                                                    </div>
                                                </div> 
                                            </div>
                                                                            </div>
                                                            </div>
                            <!-- menu -->
                            <div id="myDropdown" class="three_dot_dropdown_content">
                                        <div class="article-buttons drop" onmouseleave="closeKebabMenu()">
                                            <!-- If the status of the summary API is true than we are showing the summarize button otherwise not  -->
                                                                                         <div pid="343358" ptitle="ML | Fuzzy Clustering" class="improve_article--viewer tooltip">
                                                <div class="three_dot_dropdown_div three_dot_dropdown_improve" onclick="suggestionArticleCall()" style="margin-top: 1px;">
                                                    <div class="three_dot_dropdown_inner_div improve_dot_dropdown_inner_div">
                                                        <i class="gfg-icon gfg-icon_suggest_changes gfg-icon_edit"></i>
                                                        <span>Suggest changes</span>
                                                    </div>
                                                </div>
                                            </div>                                                                                          <div pid="343358" class="article--viewer_like tooltip">
                                            <div class="three_dot_dropdown_div three_dot_dropdown_likearticle" onmouseleave='toggleLikeElementVisibility("showLikesContainer", false)'  onmouseenter='toggleLikeElementVisibility("showLikesContainer", true)'>
                                                    <div class="showLikesContainer"> 
                                                        <span class="likeTooltip">Like Article</span>
                                                    </div>
                                                    <div class="three_dot_dropdown_inner_div" data-gfg-action="like-article" data-bookmark-value="0">
                                                        <i class="gfg-icon gfg-icon_thumbs"></i>
                                                        <span>Like</span>
                                                    </div>
                                                </div>
<!-- <button data-gfg-action="like-article" data-bookmark-value="0">
                                                    <i class="gfg-icon gfg-icon_thumbs"></i>
                                                </button> -->
                                            </div>
                                            <div pid="343358" class="article--viewer_bookmark tooltip">
                                                <div class="three_dot_dropdown_div three_dot_dropdown_save">
                                                    <div class="three_dot_dropdown_inner_div" data-gfg-action="bookmark-article" data-bookmark-value="0">
                                                        <i class="gfg-icon gfg-icon_bookmark"></i>
                                                        <span>Save</span>
                                                    </div>
                                                </div>
<!-- <button data-gfg-action="bookmark-article" data-bookmark-value="0">
                                                    <i class="gfg-icon gfg-icon_bookmark"></i>
                                                </button> -->
                                            </div>
                                            <div pid="343358" class="article--viewer_share tooltip">
                                                <div class="three_dot_dropdown_div three_dot_dropdown_share" onmouseleave="closeShareModal()" onmouseenter="openShareModal()">
                                                    <div style="display: flex;align-items: center;" class="three_dot_dropdown_inner_div" data-gfg-action="share-article" data-bookmark-value="0">
                                                        <i class="gfg-share-icon"></i>
                                                        <span>Share</span>
                                                    </div>
                                                </div>
                                            </div>
                                            <div class="article--viewer_report tooltip">
                                                <div class="three_dot_dropdown_div three_dot_dropdown_reportarticle">
                                                    <div class="three_dot_dropdown_inner_div" data-gfg-action="report-article" onclick="report_article();">
                                                        <i class="gfg-icon gfg-icon_report"></i>
                                                        <span>Report</span>
                                                    </div>
                                                </div>
<!-- <button data-gfg-action="like-article" data-bookmark-value="0">
                                                    <i class="gfg-icon gfg-icon_thumbs"></i>
                                                </button> -->
                                            </div>
                                            <div class="article--viewer_Gnews tooltip">
                                                <a class="three_dot_dropdown_inner_div Gnews_wrapper" href ='https://news.google.com/publications/CAAqBwgKMLTrzwsw44bnAw?hl=en-IN&gl=IN&ceid=IN%3Aen' target="_blank">
                                                    <img class="gfg-icon_Gnews no-zoom-in-cursor" src=https://media.geeksforgeeks.org/auth-dashboard-uploads/Google-news.svg  loading="lazy" alt="News"></img>
                                                    <span class='kebab_menu_news_text'>Follow</span>
                                                </a>
                                            </div>
                                        </div>
                                    </div>
                            <div class="text">
                                                                <script>var promoData = {"textBased":{"status":"success","response":"<p><strong>Get IBM Certification<\/strong> and a <strong>90% fee refund<\/strong> on completing 90% course in 90 days! <a href=\"https:\/\/www.geeksforgeeks.org\/courses\/data-science-live?utm_source=geeksforgeeks&amp;utm_medium=bottomtextad&amp;utm_campaign=three90\" target=\"_blank\" rel=\"noopener\">Take the Three 90 Challenge today.<\/a><\/p>\n<p>Master Machine Learning, Data Science &amp; AI with this complete program and also get a 90% refund. What more motivation do you need? <a href=\"https:\/\/www.geeksforgeeks.org\/courses\/data-science-live?utm_source=geeksforgeeks&amp;utm_medium=bottomtextad&amp;utm_campaign=three90\" target=\"_blank\" rel=\"noopener\">Start the challenge right away!<\/a><\/p>","ciso":"IN"},"inArticle":{"status":"success","response":"","ciso":"IN"}};</script><blockquote><p dir="ltr" style="text-align: justify;"><b><strong>Prerequisite: </strong></b><a href="https://www.geeksforgeeks.org/clustering-in-machine-learning/"><span>Clustering in Machine Learning</span></a><span>&nbsp;</span></p>

</blockquote><p dir="ltr" style="text-align: justify;"><a href="https://www.geeksforgeeks.org/clustering-in-machine-learning/"><span>Clustering</span></a><span> is an unsupervised machine learning technique that divides the given data into different clusters based on their distances (similarity) from each other.&nbsp;</span></p>

<p dir="ltr" style="text-align: justify;"><span>The unsupervised k-means clustering algorithm gives the values of any point lying in some particular cluster to be either as 0 or 1 i.e., either true or false. But the fuzzy logic gives the fuzzy values of any particular data point to be lying in either of the clusters. Here, in fuzzy c-means clustering, we find out the centroid of the data points and then calculate the distance of each data point from the given centroids until the clusters formed become constant.&nbsp;</span><br><span>Suppose the given data points are </span><b><strong>{(1, 3), (2, 5), (6, 8), (7, 9)}</strong></b><span> &nbsp;&nbsp;</span></p>

<p dir="ltr" style="text-align: justify;"><b><strong>Fuzzy Clustering</strong></b><span> is a type of clustering algorithm in machine learning that allows a data point to belong to more than one cluster with different degrees of membership. Unlike traditional clustering algorithms, such as k-means or hierarchical clustering, which assign each data point to a single cluster, fuzzy clustering assigns a membership degree between 0 and 1 for each data point for each cluster.</span></p>

<h3><span>Applications in several fields of Fuzzy clustering :</span></h3><ol><li value="1"><b><strong>Image segmentation</strong></b><span>: Fuzzy clustering can be used to segment images by grouping pixels with similar properties together, such as color or texture.</span></li><li value="2"><b><strong>Pattern recognition</strong></b><span>: Fuzzy clustering can be used to identify patterns in large datasets by grouping similar data points together.</span></li><li value="3"><b><strong>Marketing:</strong></b><span> Fuzzy clustering can be used to segment customers based on their preferences and purchasing behavior, allowing for more targeted marketing campaigns.</span></li><li value="4"><b><strong>Medical diagnosis</strong></b><span>: Fuzzy clustering can be used to diagnose diseases by grouping patients with similar symptoms together.</span></li><li value="5"><b><strong>Environmental monitoring:</strong></b><span> Fuzzy clustering can be used to identify areas of environmental concern by grouping together areas with similar pollution levels or other environmental indicators.</span></li><li value="6"><b><strong>Traffic flow analysis:</strong></b><span> Fuzzy clustering can be used to analyze traffic flow patterns by grouping similar traffic patterns together, allowing for better traffic management and planning.</span></li><li value="7"><b><strong>Risk assessment:</strong></b><span> Fuzzy clustering can be used to identify and quantify risks in various fields, such as finance, insurance, and engineering.</span></li></ol><h3><span>Advantages of Fuzzy Clustering:</span></h3><ol><li value="1"><span>Flexibility: Fuzzy clustering allows for overlapping clusters, which can be useful when the data has a complex structure or when there are ambiguous or overlapping class boundaries.</span></li><li value="2"><span>Robustness: Fuzzy clustering can be more robust to outliers and noise in the data, as it allows for a more gradual transition from one cluster to another.</span></li><li value="3"><span>Interpretability: Fuzzy clustering provides a more nuanced understanding of the structure of the data, as it allows for a more detailed representation of the relationships between data points and clusters.</span></li></ol><h3><span>Disadvantages of Fuzzy Clustering:</span></h3><ol><li value="1"><span>Complexity: Fuzzy clustering algorithms can be computationally more expensive than traditional clustering algorithms, as they require optimization over multiple membership degrees.</span></li><li value="2"><span>Model selection: Choosing the right number of clusters and membership functions can be challenging, and may require expert knowledge or trial and error.</span></li><li value="3"><span>If you&#8217;re interested in learning more about fuzzy clustering, you might consider reading &#8220;Fuzzy Clustering and Its Applications&#8221; by James C. Bezdek or &#8220;An Introduction to Fuzzy Clustering&#8221; by Witold Pedrycz and Fernando Gomide.</span></li></ol><p dir="ltr" style="text-align: justify;"><b><strong>The steps to perform the algorithm are:</strong></b><span>&nbsp;</span></p>

<p dir="ltr" style="text-align: justify;"><b><strong>Step 1: Initialize the data points into the desired number of clusters randomly.</strong></b><span>&nbsp;</span></p>

<p dir="ltr" style="text-align: justify;"><span>Let us assume there are 2 clusters in which the data is to be divided, initializing the data point randomly. Each data point lies in both clusters with some membership value which can be assumed anything in the initial state.&nbsp;</span></p>

<p dir="ltr" style="text-align: justify;"><span>The table below represents the values of the data points along with their membership (gamma) in each cluster.</span></p>

<p class="katexPreClass"><b><strong>Cluster</strong></b><span>    (1, 3)    (2, 5)    (4, 8)    (7, 9)</span><br><b><strong>1)</strong></b><span>          0.8        0.7       0.2       0.1</span><br><b><strong>2)</strong></b><span>          0.2        0.3       0.8       0.9</span><br></p><p dir="ltr" style="text-align: justify;"><b><strong>Step 2: Find out the centroid.</strong></b><span>&nbsp;</span><br><span>The formula for finding out the centroid (V) is:</span></p>

<p dir="ltr" style="text-align: justify;">[Tex]V_{ij} = ( \sum \limits_1^n ( \gamma_{ik}^m * x_k) / \sum \limits_1^n \gamma_{ik}^m&nbsp;&nbsp;
[/Tex]</p>

<p dir="ltr" style="text-align: justify;"><span>Where, </span><b><strong>µ is fuzzy membership value</strong></b><span> of the data point, </span><b><strong>m is the fuzziness parameter</strong></b><span> (generally taken as 2), and </span><b><strong>xk is the data point.</strong></b><span>&nbsp;</span><br><span>Here,</span></p>

<p class="katexPreClass"><span>V11  = (0.8^2 *1 + 0.7^2 * 2 + 0.2^2 * 4 + 0.1^2 * 7) / ( (0.8^2 + 0.7^2  + 0.2^2  + 0.1^2 ) = 1.568</span><br><span>V12  = (0.8^2 *3 + 0.7^2 * 5 + 0.2^2 * 8 + 0.1^2 * 9) / ( (0.8^2 + 0.7^2  + 0.2^2  + 0.1^2 ) = 4.051</span><br><span>V21  = (0.2^2 *1 + 0.3^2 * 2 + 0.8^2 * 4 + 0.9^2 * 7) / ( (0.2^2 + 0.3^2  + 0.8^2  + 0.9^2 ) = 5.35</span><br><span>V22  = (0.2^2 *3 + 0.3^2 * 5 + 0.8^2 * 8 + 0.9^2 * 9) / ( (0.2^2 + 0.3^2  + 0.8^2  + 0.9^2 ) = 8.215</span><br></p><p class="katexPreClass"><b><strong>Centroids are: </strong></b><span>(1.568, 4.051) and (5.35, 8.215)</span><br></p><p dir="ltr" style="text-align: justify;"><b><strong>Step 3: Find out the distance of each point from the centroid.</strong></b></p>

<p class="katexPreClass"><span>D11 = ((1 - 1.568)</span><sup><span>2</span></sup><span> + (3 - 4.051)</span><sup><span>2</span></sup><span>)</span><sup><span>0.5</span></sup><span> = 1.2</span><br><span>D12 = ((1 - 5.35)</span><sup><span>2</span></sup><span> + (3 - 8.215)</span><sup><span>2</span></sup><span>)</span><sup><span>0.5</span></sup><span> = 6.79</span><br></p><p dir="ltr" style="text-align: justify;"><span>Similarly, the distance of all other points is computed from both the centroids.&nbsp;</span></p>

<p dir="ltr" style="text-align: justify;"><b><strong>Step 4: Updating membership values.</strong></b></p>

<p dir="ltr" style="text-align: justify;">[Tex]\gamma = \sum \limits_1^n {(d_{ki}^2 /d_{kj}^2)}^{1/m-1} ]^{-1}&nbsp;&nbsp;&nbsp;
[/Tex]</p>

<p dir="ltr" style="text-align: justify;"><span>For point 1 new membership values are:</span></p>

<p style="text-align: justify;">[Tex]\gamma_{11}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[/Tex]<span>= [{ [(1.2)</span><sup><span>2</span></sup><span> / (1.2)</span><sup><span>2</span></sup><span>] + [(1.2)</span><sup><span>2</span></sup><span> / (6.79)</span><sup><span>2</span></sup><span>]} ^ {(1 / (2 &#8211; 1))} ] </span><sup><span>-1</span></sup><span> = 0.96</span></p>

<p style="text-align: justify;">[Tex]\gamma_{12}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[/Tex]<span>= [{ [(6.79)</span><sup><span>2</span></sup><span> / (6.79)</span><sup><span>2</span></sup><span>] + [(6.79)</span><sup><span>2</span></sup><span> / (1.2)</span><sup><span>2</span></sup><span>]} ^ {(1 / (2 &#8211; 1))} ] </span><sup><span>-1</span></sup><span> = 0.04</span></p>

<p dir="ltr" style="text-align: justify;"><span>Alternatively,</span></p>

<p dir="ltr" style="text-align: justify;">[Tex]\gamma_{12} = 1- \gamma_{11} = 0.04&nbsp;&nbsp;
[/Tex]</p>

<p dir="ltr" style="text-align: justify;"><span>Similarly, compute all other membership values, and update the matrix.&nbsp;</span></p>

<p dir="ltr" style="text-align: justify;"><b><strong>Step 5: </strong></b><span>Repeat the steps(2-4) until the constant values are obtained for the membership values or the difference is less than the tolerance value (a small value up to which the difference in values of two consequent updations is accepted).&nbsp;</span></p>

<p dir="ltr" style="text-align: justify;"><b><strong>Step 6: </strong></b><span>Defuzzify the obtained membership values. &nbsp;&nbsp;</span></p>

<p dir="ltr" style="text-align: justify;"><b><strong>Implementation: </strong></b><span>The fuzzy scikit learn library has a pre-defined function for fuzzy c-means which can be used in Python. For using fuzzy c-means you need to install the </span><b><strong>skfuzzy </strong></b><span>library.</span></p>

<p class="katexPreClass"><span>pip install sklearn</span><br><span>pip install skfuzzy</span><br></p><p dir="ltr" style="text-align: justify;"><b><strong>Example :</strong></b></p>


<div class="responsive-tabs">
<h2 class="tabtitle">Python3</h2>
<div class="tabcontent">

                <div class="code-block">
                    <div class="code-gutter">
                        <div class="editor-buttons-container">
                            <div class="editor-buttons">
                                <div class="editor-buttons-div" title="Run and Edit">
                                    <i id="copy-code-button" title="Copy Code" class="gfg-icon gfg-icon_copy code-sidebar-button padding-2px copy-code-button"></i>
                                    <div  id = "run-and-edit-loader" class="ring-load"></div>
                                    <i id="run-and-edit-button" title="Edit Code" lang="python3"  class="gfg-icon gfg-icon_edit_1 padding-2px code-sidebar-button"></i>
                                    <i id="close-code-editor-button" title="Close Editor" class="gfg-icon gfg-icon_close-editor padding-2px code-sidebar-button close-code-editor-button"></i>
                                    <div id = "run-code-loader" class="ring-load"></div>
                                    <i id="run-code-button" lang="python3" title="Run Code and See Output" class="gfg-icon gfg-icon_play padding-2px code-sidebar-button"></i>
                                    <div  id = "generate-url-loader" class="ring-load"></div>
                                    <i id="generate-url-and-run-button" title="Run Code and Generate IDE URL" lang="python3"  class="gfg-icon gfg-icon_link padding-2px code-sidebar-button generate-url-and-run-button"></i>
                                    <i title="Dark Mode" class="gfg-icon gfg-icon_dark-toggle padding-2px code-sidebar-button dark-editor-button"></i>
                                    <i id = "edit-on-ide-button" title="Edit on IDE"  lang="python3" class="gfg-icon gfg-icon_code padding-2px code-sidebar-button edit-on-ide-button"></i>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class= "code-container"><div id="highlighter_237139" class="syntaxhighlighter nogutter  "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="keyword">import</code> <code class="plain">numpy as np</code></div><div class="line number2 index1 alt1"><code class="keyword">import</code> <code class="plain">skfuzzy as fuzz</code></div><div class="line number3 index2 alt2"><code class="keyword">from</code> <code class="plain">skfuzzy </code><code class="keyword">import</code> <code class="plain">control as ctrl</code></div><div class="line number4 index3 alt1">&nbsp;</div><div class="line number5 index4 alt2"><code class="comments"># Generate some example data</code></div><div class="line number6 index5 alt1"><code class="plain">np.random.seed(</code><code class="value">0</code><code class="plain">)</code></div><div class="line number7 index6 alt2"><code class="plain">data </code><code class="keyword">=</code> <code class="plain">np.random.rand(</code><code class="value">100</code><code class="plain">, </code><code class="value">2</code><code class="plain">)</code></div><div class="line number8 index7 alt1">&nbsp;</div><div class="line number9 index8 alt2"><code class="comments"># Define the number of clusters</code></div><div class="line number10 index9 alt1"><code class="plain">n_clusters </code><code class="keyword">=</code> <code class="value">3</code></div><div class="line number11 index10 alt2">&nbsp;</div><div class="line number12 index11 alt1"><code class="comments"># Apply fuzzy c-means clustering</code></div><div class="line number13 index12 alt2"><code class="plain">cntr, u, u0, d, jm, p, fpc </code><code class="keyword">=</code> <code class="plain">fuzz.cluster.cmeans(</code></div><div class="line number14 index13 alt1"><code class="undefined spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">data.T, n_clusters, </code><code class="value">2</code><code class="plain">, error</code><code class="keyword">=</code><code class="value">0.005</code><code class="plain">, maxiter</code><code class="keyword">=</code><code class="value">1000</code><code class="plain">, init</code><code class="keyword">=</code><code class="color1">None</code></div><div class="line number15 index14 alt2"><code class="plain">)</code></div><div class="line number16 index15 alt1">&nbsp;</div><div class="line number17 index16 alt2"><code class="comments"># Predict cluster membership for each data point</code></div><div class="line number18 index17 alt1"><code class="plain">cluster_membership </code><code class="keyword">=</code> <code class="plain">np.argmax(u, axis</code><code class="keyword">=</code><code class="value">0</code><code class="plain">)</code></div><div class="line number19 index18 alt2">&nbsp;</div><div class="line number20 index19 alt1"><code class="comments"># Print the cluster centers</code></div><div class="line number21 index20 alt2"><code class="functions">print</code><code class="plain">(</code><code class="string">'Cluster Centers:'</code><code class="plain">, cntr)</code></div><div class="line number22 index21 alt1">&nbsp;</div><div class="line number23 index22 alt2"><code class="comments"># Print the cluster membership for each data point</code></div><div class="line number24 index23 alt1"><code class="functions">print</code><code class="plain">(</code><code class="string">'Cluster Membership:'</code><code class="plain">, cluster_membership)</code></div></div></td></tr></tbody></table></div>
                    </div>    
                    <div class="code-editor-container"></div>
                </div>
                <div class="code-output-container">
                    <div class = "output-block">
                        <i id="output-icon" title="Output" class="gfg-icon gfg-icon_arrow-right-editor padding-2px code-sidebar-button output-icon"></i>
                        <pre class="output-pre"></pre>
                    </div>
                    <div class = "ide-link-div">
                        <i id="copy-url-button" title="Copy Generated Ide URL" class="gfg-icon gfg-icon_copy padding-2px code-sidebar-button copy-url-button"></i>
                        <pre id="ide-url"></pre> 
                    </div>
                </div>
                </div></div>
<p dir="ltr" style="text-align: justify;"><span>output:</span></p>

<p dir="ltr" style="text-align: justify;"><span>Cluster Centers: [[0.42363557 0.68304616]</span><br><span>[0.52768166 0.38180987]</span><br><span>[0.39967863 0.31042639]]</span></p>

<p dir="ltr" style="text-align: justify;"><span>Cluster Membership: [1 0 1 2 1 0 0 2 0 2 1 0 0 0 1 2 1 1 0 2 1 0 0 2 1 1 2 0 1 0 0 2 0 2 1 1 0</span><br><span>1 0 2 0 0 2 0 0 1 1 1 1 2 2 0 1 1 0 1 0 0 2 2 2 0 1 1 2 0 0 0 2 1 0 1 0 0</span><br><span>1 2 0 0 2 2 1 1 0 2 1 0 2 2 1 1 0 2 1 0 2 1 0 2 2 2 0 1 0 2]</span><br><span>&nbsp;</span></p>


<div hideAd="MID"></div><br/><div id="AP_G4GR_6"></div>
                                    <div class='article_bottom_text'></div><br>

                            <!-- Quiz Carousel -->
                                                                  <div id="video-tab-content" class="video-tab-content">
                                        <div style="text-align: center; margin: 20px 0px;" id="GFG_AD_InContent_Desktop_728x280"></div>
                                                                                </div>
                                                                <div class="d-row content-bw article-pgnavi v-divider-gfg"style="margin-top: 20px;">
                            <div class="article-pgnavi_prev"><div class="comment_div" data-title="Comments"><button class="author_footer_btn"  data-gfg-action="loadComments">
    <div class='discussion_panel'>
        <i class='discussion_button'>
        </i>
        Comment
    </div></button></div><div class="trigger-div"><button class="author_footer_btn"><div class="more_info">More info<span class="more_info_uparrow gfg-icon gfg-icon_arrow-down-thin"></span></div></button></div></div>
                                                              <div class="article-pgnavi_next">
                                    <a href="https://www.geeksforgeeks.org/fuzzy-clustering-in-r/?ref=next_article" class="pg-head">
                                        <span>Next Article</span>
                                        <span class="gfg-icon gfg-icon_next"></span>
                                    </a>
                                    <!-- <div class="pg-meta">8 Min Read&ensp;|&ensp;<a href="#">Java</a></div> -->
                                    <div class="pg-main">
                                        <a href="https://www.geeksforgeeks.org/fuzzy-clustering-in-r/?ref=next_article">Fuzzy Clustering in R</a>
                                    </div>
                                </div>
                                                        </div>
                        <div class="more-info hidden-div">
                            <div class="article-meta-author-details ">
                                        <div class="article-meta-author-details-block">
                                            <div class="article-meta-author-details-profile-display">
                                                <div class="author_info">
                                                <div class="article-meta-author-details-profile-display-icon">
                                                    <a href="https://www.geeksforgeeks.org/user/somya13/contributions/?itm_source=geeksforgeeks&itm_medium=article_author&itm_campaign=auth_user" style="text-decoration: none;"><div class="image-wrap" style="position: relative"><p class="profileCard-profile-picture" style="background-color:#B0DAFF;  margin:0px;">S</p>
        <div style="position: absolute;top: -35px; left: -13px;">
            <i class="gfg-badge-icon md contributor"></i>
        </div>
        </div>
</a>                                                </div>
                                                <div class="article-meta-author-details-profile-display-name" >
                                                    <a aria-label="author profile" href="https://www.geeksforgeeks.org/user/somya13/contributions/?itm_source=geeksforgeeks&itm_medium=article_author&itm_campaign=auth_user" style="display: block;overflow: hidden;width: 65px;text-decoration: none;text-overflow: ellipsis;color: var(--gfg-title-color);font-weight: bold;white-space: nowrap;">somya13</a>                                                </div>
                                                </div>
                                                <div class="author_follow_btn"><div class="article-meta-author-details-follow-button">
            <div class="follow-container">
            <div class="follow-btn" >
<button id="followAuthor" type="button" onclick ="followOrUnfollowAuthor()" value="somya13">
<span role="img" aria-label="plus" class="plus-icon"><svg viewBox="64 64 896 896" focusable="false" data-icon="plus" width="1em" height="1em" fill="currentColor" aria-hidden="true"><defs><style></style></defs><path d="M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"></path><path d="M176 474h672q8 0 8 8v60q0 8-8 8H176q-8 0-8-8v-60q0-8 8-8z"></path></svg></span> <span>Follow</span></button></div></div></div></div>                                            </div>
                                            
                                        </div>
                                        <div class="article_bottom_suggestion_wrapper">
                                            <div class="article_bottom_suggestion" data-title="Follow">
                                                <a href='https://news.google.com/publications/CAAqBwgKMLTrzwsw44bnAw?hl=en-IN&gl=IN&ceid=IN%3Aen' target="_blank">
                                                    <img class="gfg-icon_Gnews no-zoom-in-cursor" src=https://media.geeksforgeeks.org/auth-dashboard-uploads/Google-news.svg  loading="lazy" alt="News"></img>
                                                </a>
                                            </div> 
                                            <div pid="343358" class="article--viewer_like tooltip tooltipBottom" data-title="Like Article">
                                                <!-- <span class="tooltiptext likeTooltipBottom">Like Article</span> -->
                                                <button id="likeButton" aria-label="like article" data-gfg-action="like-article" data-bookmark-value="0" data-liked="false" style="color: #5B5A5A !important; display: flex; align-items: center; background-color: unset; margin: 0px !important; padding: 5px 0px;">
                                                    <i class="author-badge-like-button"></i>
                                                    <figure id="likeCount" style="margin-left: 3px; margin-top: 4px; color: var(--like-count-color); font-size: 14px; font-weight: 600;" class="favoriteText"></figure>
                                                </button>
                                            </div>
                                            <div class="article_bottom_suggestion" onclick="improveArticleCall()" data-title="Improve">
                                            <span class="improveTooltipBottom">Improve</span>
                                                <i class="author-badge-improvement-button"></i>
                                            </div>
                                        </div>
                        </div>
                        <div class="bottom-wrap" style="margin-top: 12px; margin-bottom: 25px;">
                                                            <div class="improved">
                                    <div class="t-head">Article Tags : </div>
                                    <ul>
                                        
            <li style="border-radius: 25px;" class="">
                <a href="https://www.geeksforgeeks.org/category/ai-ml-ds/?ref=article_category">AI-ML-DS</a>
            </li>
            <li style="border-radius: 25px;" class="">
                <a href="https://www.geeksforgeeks.org/category/articles/?ref=article_category">Articles</a>
            </li>
            <li style="border-radius: 25px;" class="">
                <a href="https://www.geeksforgeeks.org/category/ai-ml-ds/machine-learning/?ref=article_category">Machine Learning</a>
            </li>
            <li style="border-radius: 25px;" class="">
                <a href="https://www.geeksforgeeks.org/tag/ai-ml-ds-python/?ref=article_tag">AI-ML-DS With Python</a>
            </li>
            <li style="border-radius: 25px;display:none;" class="articles-hidden-tags">
                <a href="https://www.geeksforgeeks.org/tag/fuzzy-logic/?ref=article_tag">fuzzy-logic</a>
            </li>                                    </ul>
                                                                            <button id="showMoreTagsBtn" class="show-more-recommendation-button">+1 More</button>
                                                                    </div>
                                                                                        <div class="improved">
                                    <div class="t-head">Practice Tags : </div>
                                    <ul class="practice-tags">
                                        <li><a href="https://www.geeksforgeeks.org/explore?category=Machine Learning&ref=article_practice_tag">Machine Learning</a></li>                                    </ul>
                                                                    </div>
                                                    </div>
                        </div>

                                                </article>
                        
                                                 <div class="article--recommended article--recommended_wrapper" id="similar-reads">
                                <h3 class="new-top-bar top-bar-title">Similar Reads</h3>
                                <div class="gfg-similar-reads-list">
                                    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/fuzzy-logic-set-2-classical-fuzzy-sets/?ref=asr1">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Fuzzy Logic | Set 2 (Classical and Fuzzy Sets)</div>
                <div class="gfg-similar-read-item-subheading">Prerequisite : Fuzzy Logic | Introduction In this post, we will discuss classical sets and fuzzy sets, their properties and operations that can be applied on them. Set: A set is defined as a collection of objects, which share certain characteristics. Classical set Classical set is a collection of distinct objects. For example, a set of students pas</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">2 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/fuzzy-clustering-in-r/?ref=asr2">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Fuzzy Clustering in R</div>
                <div class="gfg-similar-read-item-subheading">Clustering is an unsupervised machine-learning technique that is used to identify similarities and patterns within data points by grouping similar points based on their features. These points can belong to different clusters simultaneously. This method is widely used in various fields such as Customer Segmentation, Recommendation Systems, Document</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">15+ min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/image-segmentation-using-fuzzy-c-means-clustering/?ref=asr3">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Image Segmentation Using Fuzzy C-Means Clustering</div>
                <div class="gfg-similar-read-item-subheading">This article delves into the process of image segmentation using Fuzzy C-Means (FCM) clustering, a powerful technique for partitioning images into meaningful regions. We'll explore the fundamentals of FCM, its advantages over traditional methods, and provide a step-by-step guide to implementing FCM for image segmentation using Python. By the end of</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">7 min read</span>
            </div>
        </a>
    <div id="GFG_AD_Desktop_BTF_336x280_3" style="margin : 0px auto 13px;"></div>
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/dbscan-clustering-in-ml-density-based-clustering/?ref=asr4">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">DBSCAN Clustering in ML | Density based clustering</div>
                <div class="gfg-similar-read-item-subheading">Clustering analysis or simply Clustering is basically an Unsupervised learning method that divides the data points into a number of specific batches or groups, such that the data points in the same groups have similar properties and data points in different groups have different properties in some sense. It comprises many different methods based on</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">7 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/difference-between-cure-clustering-and-dbscan-clustering/?ref=asr5">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Difference between CURE Clustering and DBSCAN Clustering</div>
                <div class="gfg-similar-read-item-subheading">Clustering is a technique used in Unsupervised learning in which data samples are grouped into clusters on the basis of similarity in the inherent properties of the data sample. Clustering can also be defined as a technique of clubbing data items that are similar in some way. The data items belonging to the same clusters are similar to each other i</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">2 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/difference-between-agglomerative-clustering-and-divisive-clustering/?ref=asr6">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Difference Between Agglomerative clustering and Divisive clustering</div>
                <div class="gfg-similar-read-item-subheading">Hierarchical clustering is a popular unsupervised machine learning technique used to group similar data points into clusters based on their similarity or dissimilarity. It is called "hierarchical" because it creates a tree-like hierarchy of clusters, where each node represents a cluster that can be further divided into smaller sub-clusters. There a</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">5 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/fuzzy-logic-introduction/?ref=asr7">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Fuzzy Logic | Introduction</div>
                <div class="gfg-similar-read-item-subheading">The term fuzzy refers to things that are not clear or are vague. In the real world many times we encounter a situation when we can't determine whether the state is true or false, their fuzzy logic provides very valuable flexibility for reasoning. In this way, we can consider the inaccuracies and uncertainties of any situation. Fuzzy Logic is a form</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">5 min read</span>
            </div>
        </a>
    <div id="GFG_AD_Desktop_BTF_336x280_4" style="margin : 0px auto 13px;"></div>
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/comparison-between-mamdani-and-sugeno-fuzzy-inference-system/?ref=asr8">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Comparison Between Mamdani and Sugeno Fuzzy Inference System</div>
                <div class="gfg-similar-read-item-subheading">Prerequisite: Fuzzy Logic | Introduction Fuzzy Inference System (FIS) is a process to interpret the values of the input vector and, on the basis of some sets of fuzzy rules, it assigns corresponding values to the output vector. This is a method to map an input to an output using fuzzy logic. Based on this mapping process, the system takes decisions</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">3 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/difference-between-neural-network-and-fuzzy-logic/?ref=asr9">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Difference between Neural Network And Fuzzy Logic</div>
                <div class="gfg-similar-read-item-subheading">Neural Network: Neural network is an information processing system that is inspired by the way biological nervous systems such as brain process information. A neural network is composed of a large number of interconnected processing elements known as neurons which are used to solve problems. A neural network is an attempt to make a computer model o</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">2 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/common-operations-on-fuzzy-set-with-example-and-code/?ref=asr10">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Common Operations on Fuzzy Set  with Example and Code</div>
                <div class="gfg-similar-read-item-subheading">What is Fuzzy Set ? Fuzzy refers to something that is unclear or vague . Hence, Fuzzy Set is a Set where every key is associated with value, which is between 0 to 1 based on the certainty .This value is often called as degree of membership. Fuzzy Set is denoted with a Tilde Sign on top of the normal Set notation. Operations on Fuzzy Set with Code :</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">6 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/fuzzy-logic-control-system/?ref=asr11">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Fuzzy Logic Control System</div>
                <div class="gfg-similar-read-item-subheading">Introduction: Fuzzy logic control (FLC) is the most active research area in the application of fuzzy set theory, fuzzy reasoning, and fuzzy logic. The application of FLC extends from industrial process control to biomedical instrumentation and securities. Compared to conventional control techniques, FLC has been best utilized in complex ill-defined</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">7 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/fuzzy-logic-and-probability-the-confusing-terms/?ref=asr12">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Fuzzy Logic and Probability : The Confusing Terms</div>
                <div class="gfg-similar-read-item-subheading">Often through reading many articles and blogs on Data Science there are a few terms that we all come across and don’t actually get a clear understanding of the same. Moreover, by looking at the basic overview of the terms it often happens that in a few couples of days we come across the same terms again. So, it is necessary that we understand its d</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">4 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/fuzzy-logic-applications-in-ai/?ref=asr13">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Fuzzy Logic applications in AI</div>
                <div class="gfg-similar-read-item-subheading">Fuzzy logic, a concept introduced by Lotfi Zadeh in the 1960s, extends classical logic to handle the concept of partial truth, where truth values range between completely true and completely false. This approach is especially useful in dealing with uncertainty and vagueness in complex systems. Fuzzy logic has found numerous applications in artifici</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">8 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/sentiment-analysis-using-fuzzy-logic/?ref=asr14">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Sentiment Analysis using Fuzzy Logic</div>
                <div class="gfg-similar-read-item-subheading">Sentiment analysis, also known as opinion mining, is a crucial area of natural language processing (NLP) that involves determining the sentiment expressed in a piece of text. This sentiment can be positive, negative, or neutral. Traditional sentiment analysis methods often rely on machine learning techniques, which require large datasets and extens</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">7 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/fuzzy-optimization-techniques-an-overview/?ref=asr15">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Fuzzy Optimization Techniques: An Overview</div>
                <div class="gfg-similar-read-item-subheading">Fuzzy optimization techniques have been useful in the field of optimization, where decision-making processes are often complicated and tainted by uncertainty. These methods tackle vagueness and ambiguity by utilizing fuzzy logic concepts, which makes them applicable to a variety of fields like economics, engineering, healthcare, and environmental m</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">4 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/fuzzy-logic-for-uncertainty-management-in-machine-learning/?ref=asr16">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Fuzzy Logic for Uncertainty Management in Machine Learning</div>
                <div class="gfg-similar-read-item-subheading">Uncertainty in machine learning refers to the inherent unpredictability in model predictions due to factors like data variability and model limitations. Fuzzy logic is a mathematical framework used to handle imprecise and uncertain information by allowing partial truth values between completely true and completely false. Managing uncertainty in mac</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">7 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/clustering-in-r-programming/?ref=asr17">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Clustering in R Programming</div>
                <div class="gfg-similar-read-item-subheading">Clustering in R Programming Language is an unsupervised learning technique in which the data set is partitioned into several groups called clusters based on their similarity. Several clusters of data are produced after the segmentation of data. All the objects in a cluster share common characteristics. During data mining and analysis, clustering is</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">6 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/analysis-of-test-data-using-k-means-clustering-in-python/?ref=asr18">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Analysis of test data using K-Means Clustering in Python</div>
                <div class="gfg-similar-read-item-subheading">This article demonstrates an illustration of K-means clustering on a sample random data using open-cv library. Pre-requisites: Numpy, OpenCV, matplot-lib Let's first visualize test data with Multiple Features using matplot-lib tool. # importing required tools import numpy as np from matplotlib import pyplot as plt # creating two test data X = np.ra</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">2 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/different-types-clustering-algorithm/?ref=asr19">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Different Types of Clustering Algorithm</div>
                <div class="gfg-similar-read-item-subheading">The introduction to clustering is discussed in this article and is advised to be understood first. The clustering Algorithms are of many types. The following overview will only list the most prominent examples of clustering algorithms, as there are possibly over 100 published clustering algorithms. Not all provide models for their clusters and can</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">5 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/ml-unsupervised-face-clustering-pipeline/?ref=asr20">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">ML | Unsupervised Face Clustering Pipeline</div>
                <div class="gfg-similar-read-item-subheading">Live face-recognition is a problem that automated security division still face. With the advancements in Convolutions Neural Networks and specifically creative ways of Region-CNN, it’s already confirmed that with our current technologies, we can opt for supervised learning options such as FaceNet, YOLO for fast and live face-recognition in a real-w</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">15+ min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/ml-determine-the-optimal-value-of-k-in-k-means-clustering/?ref=asr21">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">ML | Determine the optimal value of K in K-Means Clustering</div>
                <div class="gfg-similar-read-item-subheading">Prerequisite: K-Means Clustering | IntroductionThere is a popular method known as elbow method which is used to determine the optimal value of K to perform the K-Means Clustering Algorithm. The basic idea behind this method is that it plots the various values of cost with changing k. As the value of K increases, there will be fewer elements in the</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">2 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/image-compression-using-k-means-clustering/?ref=asr22">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Image compression using K-means clustering</div>
                <div class="gfg-similar-read-item-subheading">Prerequisite: K-means clustering The internet is filled with huge amounts of data in the form of images. People upload millions of pictures every day on social media sites such as Instagram, and Facebook and cloud storage platforms such as google drive, etc. With such large amounts of data, image compression techniques become important to compress</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">6 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/ml-mean-shift-clustering/?ref=asr23">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">ML | Mean-Shift Clustering</div>
                <div class="gfg-similar-read-item-subheading">Meanshift is falling under the category of a clustering algorithm in contrast of Unsupervised learning that assigns the data points to the clusters iteratively by shifting points towards the mode (mode is the highest density of data points in the region, in the context of the Meanshift). As such, it is also known as the Mode-seeking algorithm. Mean</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">6 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/ml-k-medoids-clustering-with-example/?ref=asr24">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">ML | K-Medoids clustering with solved example</div>
                <div class="gfg-similar-read-item-subheading">K-Medoids (also called Partitioning Around Medoid) algorithm was proposed in 1987 by Kaufman and Rousseeuw. A medoid can be defined as a point in the cluster, whose dissimilarities with all the other points in the cluster are minimum. The dissimilarity of the medoid(Ci) and object(Pi) is calculated by using E = |Pi - Ci| The cost in K-Medoids algor</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">3 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/ml-optics-clustering-explanation/?ref=asr25">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">ML | OPTICS Clustering Explanation</div>
                <div class="gfg-similar-read-item-subheading">Prerequisites: DBSCAN Clustering OPTICS Clustering stands for Ordering Points To Identify Cluster Structure. It draws inspiration from the DBSCAN clustering algorithm. It adds two more terms to the concepts of DBSCAN clustering. OPTICS (Ordering Points To Identify the Clustering Structure) is a density-based clustering algorithm, similar to DBSCAN</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">7 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/ml-classification-vs-clustering/?ref=asr26">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">ML | Classification vs Clustering</div>
                <div class="gfg-similar-read-item-subheading">Prerequisite: Classification and Clustering As you have read the articles about classification and clustering, here is the difference between them. Both Classification and Clustering is used for the categorization of objects into one or more classes based on the features. They appear to be a similar process as the basic difference is minute. In the</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">2 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/criterion-function-of-clustering/?ref=asr27">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Criterion Function Of Clustering</div>
                <div class="gfg-similar-read-item-subheading">Cluster examination isolates information into bunches (clusters) that are important, valuable, or both. In case significant bunches are the objective, at that point, the clusters ought to capture the common structure of the information. In a few cases, be that as it may, cluster investigation is as it were a valuable beginning point for other purpo</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">2 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/difference-between-hierarchical-and-non-hierarchical-clustering/?ref=asr28">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Difference between Hierarchical and Non Hierarchical Clustering</div>
                <div class="gfg-similar-read-item-subheading">Hierarchical Clustering: Hierarchical clustering is basically an unsupervised clustering technique which involves creating clusters in a predefined order. The clusters are ordered in a top to bottom manner. In this type of clustering, similar clusters are grouped together and are arranged in a hierarchical manner. It can be further divided into two</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">2 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/dbscan-clustering-in-r-programming/?ref=asr29">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">DBScan Clustering in R Programming</div>
                <div class="gfg-similar-read-item-subheading">Density-Based Clustering of Applications with Noise(DBScan) is an Unsupervised learning Non-linear algorithm. It does use the idea of density reachability and density connectivity. The data is partitioned into groups with similar characteristics or clusters but it does not require specifying the number of those groups in advance. A cluster is defin</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">3 min read</span>
            </div>
        </a>
    
        <a class="gfg-similar-read-item" href="https://www.geeksforgeeks.org/hierarchical-clustering-in-r-programming/?ref=asr30">
            <div class="gfg-similar-read-item-content">
                <div class="gfg-similar-read-item-heading">Hierarchical Clustering in R Programming</div>
                <div class="gfg-similar-read-item-subheading">Hierarchical clustering in R Programming Language is an Unsupervised non-linear algorithm in which clusters are created such that they have a hierarchy(or a pre-determined ordering). For example, consider a family of up to three generations. A grandfather and mother have their children that become father and mother of their children. So, they all a</div>
            </div>
            
            <div class="reading-time">
                <i class="reading-time-icon" data-gfg-action="readingtime"></i>
                <span style="color: var(--recommendation-card-text-color);font-size: 14px;font-weight: 500;line-height: 17px;">3 min read</span>
            </div>
        </a>
                                    </div>
                            </div>
                        


                                                <div class="vote-wrap">
                                <div style="display:none;align-items:center;justify-content:center;width:100%;">
                                    <button aria-label="like" data-type="like" class="vote-this" style="margin-right: 0; margin-left:0 ;">
                                        <i class="gfg-icon gfg-icon_like favoriteIcon"></i>
                                        <span class="favoriteLike">Like</span>
                                        <figure class="favoriteText"></figure>
                                    </button>
                                                                    </div>
                            </div>

                        </div>
                            <div class="article-meta">
                                                                                    <div class="bottom-wrap">
                              <div id="GFG_AD_InContent_Desktop_BTF_650x250" style="text-align:center;max-height: 300px;"></div>
                            </div>
                                                        <!-- end -->
                        </div>
                    </div>
                </div>
            </div>
                <div id="report_modal_content" class="report_modal_content" style="display:hidden;"></div>
        <div class="onopen-discussion-panel">
            <div class="discussion-tab">
                <div class="discussion_heading">
                    <div></div>
                    <i class="gfg-icon close-tab-icon"></i>
                </div> 
                <div class="discussion_content">                            <div style="height:100%">
                                <div style="height:100%" id="comment-system"></div>
                            </div>

                            
</div>
            </div>
        </div>  

        <div class="rightBar" style="padding-right: 5px;">
                
<style>
	.article--container_content{
		align-items: unset !important;
	}
	.sideBar {
		position: sticky !important;
	}
	.gfg-icon_switch::after {
		background-position: -40px -281px !important;
	}
	.gfg-icon_transaction::after {
		background-position: -40px -321px !important;
	}
	.header-main__profile.selected+.mega-dropdown{
		width: 225px !important;
	}
	#courses-container .course-price{
		display:none;
	}
	/* .side--container_wscard .card-content .content .meta:empty, .practiceBannerFromPlugin{
		display:none !important;
	} */
	.side--container_wscard .card-content .content .meta{
		display:block !important;
	}
	.side--container_wscard .card-content .content .meta p{
		background-color: rgba(254, 212, 91, 0.6);
		font-size: 10pt;
		font-weight: bold;
		display: inline-block;
		color: var(--color-black);
		margin-top: 15px;
		padding: 0px 5px;
	}
	#try-it{
		display:initial !important;
	}
	#try-it .try-it-div{
		line-height: 34px;
	}
	.gfg-icon_dark-mode::after {
		background-position: -40px -680px;
	}
	.side--container_wscard .head{
		font-size: 14px !important;
	}
	.nineDot-menu, .gfg-icon_ndot{
		display: none;
	}
	#text-15{
		flex-direction: column;
	}
	.mtq_correct_marker, .mtq_wrong_marker{
		display: none;
	}
	.sidebar_wrapper > :last-child{
		margin: unset !important;
		margin-left: 5px !important;
		margin-top: 20px !important;
		top: 70px !important;
	}
	.darkMode-wrap{
		bottom:1% !important;
	}
	#secondary .textwidget{
		margin-left: auto;
		margin-right: 0;
		text-align: right;
	}
	#secondary .widget_text:last-child{
		top: 70px !important;
	}
	@media(max-width:768px){
		#scrollTopBtn{
			display:none !important;
		}
	}
	.rightbar_loggedin_promo_cta{
		display:flex;
		cursor:pointer;
		margin-bottom:20px;
	}
</style>

<div id="secondary" class="widget-area">
	<div class='june2024SaleRightBarBanner' id='rightBarSaleBanner'></div>
	<!------------------------ text-15 (for Ads) ------------------------ -->
	<aside id="text-15" class="widget widget_text">
		<div class="textwidget">
					<div id="_GFG_ABP_Desktop_RightSideBar_ATF_300x600_2"></div>
			<div id="GFG_AD_Desktop_RightSideBar_ATF_300x250_2" style="min-width: 300px;margin-bottom:10px;"></div>
			<div id='GFG_AD_Desktop_RightSideBar_ATF_300x600' style='min-width: 300px; min-height: 600px;margin-bottom:10px;'></div>
					</div>
	</aside>

	<!------------------------ text-16 (For Ads)------------------------ -->
	<aside id="text-16" class="widget widget_text">
		<div class="textwidget">
					<div id="_GFG_ABP_Desktop_RightSideBar_MTF_300x600"></div>
			<div id='GFG_AD_Desktop_RightSideBar_MTF_300x250' style='min-width: 300px;'></div>
			<div id="_GFG_ABP_Desktop_RightSideBar_BTF_300x600"></div>
			<div id="_GFG_ABP_Desktop_RightSideBar_BTF_300x600_3"></div>
				</div>
	</aside>

	<!-- ---------------------- courses section ------------------------- -->
	<div class='whats-new-section'><div><div class='rba_all_pages' id='whatsNewCardContainer'><div class='card-layout-parent'> 
						<div class='arrow-icon'>
							<i class='gfg-icon left-arrow-img'></i>
							<i class='gfg-icon right-arrow-img'></i>
						</div>
						<div class='component'>
							<div class='carousel'>
					<div class="new-card-layout">
							<div class="new-content-wrapper"> 
								<a href="https://www.geeksforgeeks.org/courses/Data-Structures-With-Python?utm_source=geeksforgeeks&utm_medium=right_sidebar&utm_campaign=course_card">
									<div class="new-card-content">
										<div class="new-card-thumbnail">
											<img src=https://media.geeksforgeeks.org/img-practice/prod/courses/261/Web/Content/dspy_1723008711.webp alt="course-img" class="card-image ">
										</div>
										<div class="card-description-grid">
											<div class="grid1">
												<div class="grid1-interested">
													<span class="interested-text">305k+ interested Geeks </span>
												</div>
											</div>
											<div class="grid2-div">
												<strong class="grid2-description-heading">Data Structures & Algorithms in Python - Self Paced </strong>
											</div>
											<div class="grid3">
												<div class="grid3-course-explore">
												<!-- <img src=https://media.geeksforgeeks.org/img-practice/Levels-1669283463.svg alt="" class="level-symbol"></img>
													<span class="level-text">Beginner to Advance </span>   -->
													<button class="explore-course">Explore</button> 
												</div>
											</div>
										</div>
									</div>
								</a>
							</div>
						</div><div class="new-card-layout">
							<div class="new-content-wrapper"> 
								<a href="https://www.geeksforgeeks.org/courses/artificial-intelligence-course-for-kids?utm_source=geeksforgeeks&utm_medium=right_sidebar&utm_campaign=course_card">
									<div class="new-card-content">
										<div class="new-card-thumbnail">
											<img src=https://media.geeksforgeeks.org/img-practice/prod/courses/808/Web/Content/ai-for-kids-webp_1728467027.webp alt="course-img" class="card-image ">
										</div>
										<div class="card-description-grid">
											<div class="grid1">
												<div class="grid1-interested">
													<span class="interested-text">877 interested Geeks </span>
												</div>
											</div>
											<div class="grid2-div">
												<strong class="grid2-description-heading">Artificial Intelligence for Kids - Complete AI Course for Beginners </strong>
											</div>
											<div class="grid3">
												<div class="grid3-course-explore">
												<!-- <img src=https://media.geeksforgeeks.org/img-practice/Levels-1669283463.svg alt="" class="level-symbol"></img>
													<span class="level-text">Beginners </span>   -->
													<button class="explore-course">Explore</button> 
												</div>
											</div>
										</div>
									</div>
								</a>
							</div>
						</div><div class="new-card-layout">
							<div class="new-content-wrapper"> 
								<a href="https://www.geeksforgeeks.org/courses/master-python-complete-beginner-to-advanced?utm_source=geeksforgeeks&utm_medium=right_sidebar&utm_campaign=course_card">
									<div class="new-card-content">
										<div class="new-card-thumbnail">
											<img src=https://media.geeksforgeeks.org/img-practice/prod/courses/256/Web/Content/py_1723007763.webp alt="course-img" class="card-image ">
										</div>
										<div class="card-description-grid">
											<div class="grid1">
												<div class="grid1-interested">
													<span class="interested-text">237k+ interested Geeks </span>
												</div>
											</div>
											<div class="grid2-div">
												<strong class="grid2-description-heading">Python Full Course Online - Complete Beginner to Advanced </strong>
											</div>
											<div class="grid3">
												<div class="grid3-course-explore">
												<!-- <img src=https://media.geeksforgeeks.org/img-practice/Levels-1669283463.svg alt="" class="level-symbol"></img>
													<span class="level-text">Beginner and Intermediate </span>   -->
													<button class="explore-course">Explore</button> 
												</div>
											</div>
										</div>
									</div>
								</a>
							</div>
						</div></div></div></div></div></div></div><style>.right-bar-explore-more{ visibility: hidden; min-height: 230px;text-align:left;min-width:300px;max-width:300px; padding-left: 19px; padding-right: 25px; margin-top: 20px;}
        .right-bar-explore-more .title{text-align:left;font-size:20px; font-weight: 600; line-height: 22px; color:var(--em-heading);padding:14px 0;font-family:var(--font-primary)}
        .right-bar-explore-more .rightbar-sticky-ul {list-style: disc outside; padding-left: 17px;} 
        .right-bar-explore-more li{font-size: 14px !important;font-weight: 400;line-height: 18px !important;color: var(--em-text);margin: 14px 0;font-family:var(--font-primary);}
        .right-bar-explore-more li::marker{color: var(--em-text) !important;}
        .right-bar-explore-more .rightbar-sticky-ul a{text-align:left !important; color: var(--em-text); display: block !important;}  
        .right-bar-explore-more .rightbar-sticky-ul a:hover{text-decoration:underline;color:var(--em-link)!important;}
        .right-bar-explore-more hr {margin: 0;background-color: var(--tn-hr);}
        @media (max-width: 991px){
          .right-bar-explore-more{
            width: 85%;
            margin: auto;
            margin-top: 20px;
            max-width: unset;
            display: none !important;
          }
        
          #text-18 .textwidget{
            width: 100%;
          }
        }</style>    <script>
        var rightBarExploreMoreList = `<li style="color:var(--color-black)"><a href="https://www.geeksforgeeks.org/machine-learning/?ref=rightbar_explore" target="_blank" style="font-family:var(--font-primary)">Machine Learning Tutorial</a></li><li style="color:var(--color-black)"><a href="https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/?ref=rightbar_explore" target="_blank" style="font-family:var(--font-primary)">SQL Joins (Inner, Left, Right and Full Join)</a></li><li style="color:var(--color-black)"><a href="https://www.geeksforgeeks.org/ml-linear-regression/?ref=rightbar_explore" target="_blank" style="font-family:var(--font-primary)">Linear Regression in Machine learning</a></li><li style="color:var(--color-black)"><a href="https://www.geeksforgeeks.org/machine-learning-projects/?ref=rightbar_explore" target="_blank" style="font-family:var(--font-primary)">100+ Machine Learning Projects with Source Code [2024]</a></li><li style="color:var(--color-black)"><a href="https://www.geeksforgeeks.org/k-nearest-neighbours/?ref=rightbar_explore" target="_blank" style="font-family:var(--font-primary)">K-Nearest Neighbor(KNN) Algorithm</a></li>`
	</script>

	<!-------------------------------- Text-18 (explore more section + ads) --------------------------->
	<aside id="text-18" class="widget widget_text">
		<div class="textwidget">
					<div class="right-bar-explore-more" style="display:none;visibility: unset;">
				<div class="title">Explore More</div>
				<ul class="rightbar-sticky-ul"></ul>
			</div>
							<div id='GFG_AD_Desktop_RightSideBar_BTF_Sticky_300x250' style='min-width: 300px;margin-bottom:10px'></div>
			<div id='GFG_AD_Desktop_RightSideBar_Docked_160x600' style='min-width: 160px;'></div><div id='GFG_AD_Desktop_RightSideBar_BTFdocked_300x600' style='min-width: 300px;'></div>
			</aside>

	<!-------------------------- Text -20 (For maintaining some CSS) ---------------------- -->
	<aside id="text-20" class="widget widget_text">
		<div class="textwidget">
		 <!-- Please do not delete this div -->
		</div>
	</aside>
</div>

                <div id="user-personal-note" style="display: none;"></div>
        </div>
    </div>
    <section class="disqus-section">
        <div class="article-page_flex">
            <div class="leftBar">
            </div>
        </div>
    </section>
</div>

<div id="video-popup" style="display:none"></div>

<link rel="stylesheet" href='https://www.geeksforgeeks.org/wp-content/themes/iconic-one/css/articleList.min.css?ver=1.7'>

<script>
$(document).ready(function() {
    var isfollowingApiCall = false;
    if ($('.follow-btn').length) {
        var articleRecommendedTop = $(".article--recommended").offset().top;
        var articleRecommendedBottom = articleRecommendedTop + $(".article--recommended").outerHeight();
        $(window).scroll(function() {
            var top_of_element = $(".article--recommended").offset().top;
            var bottom_of_element = $(".article--recommended").offset().top + $(".article--recommended").outerHeight();
            var bottom_of_screen = $(window).scrollTop() + $(window).innerHeight();
            var top_of_screen = $(window).scrollTop();
            if ((bottom_of_screen > top_of_element && top_of_screen < bottom_of_element) || 
                (bottom_of_screen > articleRecommendedTop && top_of_screen < articleRecommendedBottom) ||
                (top_of_screen > articleRecommendedBottom)) {
                if (!isfollowingApiCall) {
                    isfollowingApiCall = true;
                    setTimeout(function(){
                        if (loginData && loginData.isLoggedIn) {
                            if (loginData.userName !== $('#followAuthor').val()) {
                                is_following();
                            } else {
                                $('.profileCard-profile-picture').css('background-color', '#E7E7E7');
                            }
                        } else {
                            $('.follow-btn').removeClass('hideIt');
                        }
                    }, 3000);
                }
            }
        });
    }
    
    $(".accordion-header").click(function() {
        var arrowIcon = $(this).find('.bottom-arrow-icon');
        arrowIcon.toggleClass('rotate180');
    });

});

window.isReportArticle = false;
function report_article(){
    if (!loginData || !loginData.isLoggedIn) {
        const loginModalButton = $('.login-modal-btn')
            if (loginModalButton.length) {
                loginModalButton.click();
            }
    return;
}

    if(!window.isReportArticle){
            //to add loader
            $('.report-loader').addClass('spinner');
            jQuery('#report_modal_content').load(gfgSiteUrl+'wp-content/themes/iconic-one/report-modal.php', {
                PRACTICE_API_URL: practiceAPIURL,
                PRACTICE_URL:practiceURL
            },function(responseTxt, statusTxt, xhr){
                if(statusTxt == "error"){
                    alert("Error: " + xhr.status + ": " + xhr.statusText);
                }
            });
    }else{
        window.scrollTo({ top: 0, behavior: 'smooth' });
        $("#report_modal_content").show();
    }
} 

function closeShareModal() {
    const shareOption = document.querySelector('[data-gfg-action="share-article"]');
    shareOption.classList.remove("hover_share_menu");
    let shareModal = document.querySelector(".hover__share-modal-container");
    shareModal && shareModal.remove();
}

function openShareModal() {
    closeShareModal(); // Remove existing modal if any

    let shareModal = document.querySelector(".three_dot_dropdown_share");
    shareModal.appendChild(Object.assign(document.createElement("div"), { className: "hover__share-modal-container" }));

    document.querySelector(".hover__share-modal-container").append(
        Object.assign(document.createElement('div'), { className: "share__modal" }),
    );

    document.querySelector(".share__modal").append(Object.assign(document.createElement('h1'), { className: "share__modal-heading" }, { textContent: "Share to" }));
    const socialOptions = ["LinkedIn", "WhatsApp", "Copy Link"];

    socialOptions.forEach((socialOption) => {
        const socialContainer = Object.assign(document.createElement('div'), { className: "social__container" });
        const icon = Object.assign(document.createElement("div"), { className: `share__icon share__${socialOption.split(" ").join("")}-icon` });
        const socialText = Object.assign(document.createElement("span"), { className: "share__option-text" }, { textContent: `${socialOption}` });
        const shareLink = (socialOption === "Copy Link") ? 
            Object.assign(document.createElement('div'), { role: "button", className: "link-container CopyLink" }) : 
            Object.assign(document.createElement('a'), { className: "link-container" });

       
        if (socialOption === "LinkedIn") {
            shareLink.setAttribute('href', `https://www.linkedin.com/sharing/share-offsite/?url=${window.location.href}`);
            shareLink.setAttribute('target', '_blank');
        }
        if (socialOption === "WhatsApp") {
            shareLink.setAttribute('href', `https://api.whatsapp.com/send?text=${window.location.href}`); 
            shareLink.setAttribute('target', "_blank");
        }

        shareLink.append(icon, socialText);
        socialContainer.append(shareLink);
        document.querySelector(".share__modal").appendChild(socialContainer);

        //adding copy url functionality
        if(socialOption === "Copy Link") {
            shareLink.addEventListener("click", function() {
                var tempInput = document.createElement("input");
                tempInput.value = window.location.href; 
                document.body.appendChild(tempInput); 
                tempInput.select();
                tempInput.setSelectionRange(0, 99999); // For mobile devices
                document.execCommand('copy');
                document.body.removeChild(tempInput);
                this.querySelector(".share__option-text").textContent = "Copied"
            })
        }
    });
    document.querySelector(".hover__share-modal-container").addEventListener("mouseover", () => document.querySelector('[data-gfg-action="share-article"]').classList.add("hover_share_menu"));
}
function toggleLikeElementVisibility(selector, show) {
    document.querySelector(`.${selector}`).style.display = show ? "block" : "none";
}

function closeKebabMenu(){
  document.getElementById("myDropdown").classList.toggle("show");
}
</script>
<!-- Script for the new design of similar read  -->
<script>
$(document).ready(function() {

    $("#showMoreTagsBtn").click(function() {
        $('.articles-hidden-tags').show();
        $(this).hide();
    });

    $("#showMorePracticeTagsBtn").click(function() {
        $(".practice-tags li:nth-child(n+5)").show();
        $(this).hide();
    });
});
</script>
<!-- Script end for similar read -->
<style>
        .grecaptcha-badge {
            visibility: hidden !important;
        }
        .thank-you-message {
            height: 100%;
            display:flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }
        .thank-you-message-content {
            margin-top: 17px;
            font: 400 20px var(--font-secondary);
            color: var(--improve-modal-text);
            line-height: 180%;
            text-align: center;
        }
        .thank-you-message-content h2{
          font-family: var(--font-secondary);
        }
        .all-footer-information{
          width: 100% !important;;
        }
        .footer-wrapper_links-list{
           margin-block-start: 0em !important;
           width: 16% !important; 
           padding-inline-start: 18px !important;
        }
        .link-head{
               margin-bottom: 0px;
        }
        @media only screen and (max-width:1340px) {
              .footer-wrapper_links-list{
              overflow-wrap: break-word;
          }
        }
        @media screen and (min-width: 991px)  {
              .all-footer-information{
                padding-left:15px;
          }
        }
        @media only screen and (max-width:980px) {
          .footer-wrapper_branding-address{
               padding-top: 10px;
          }
        }
        @media (max-width: 750px) {
            .thank-you-message-content{
                font-size: 14px;
                line-height: 170%;
            }
        }

        /* CSS variable meant to handle the dark and light mode icon for three 90 event in header courses dropdown */
        :root{
          --three90headericon : url('https://media.geeksforgeeks.org/auth-dashboard-uploads/three90daylogocompressed.svg');
          --three90headericonposition : 0px -40px;
          --three90leftbarimggrid : url('https://media.geeksforgeeks.org/auth-dashboard-uploads/three90leftbarspritecompressed.svg');
          --three90leftbarimgposition : -5px -55px;
          --three90leftbarbgcolour : #b3abd0;
        }

        body[data-dark-mode="true"]{
          --three90leftbarimgposition : -6px 1px;
          --three90headericonposition : 0px 0px;
          --three90leftbarbgcolour: #8c82b9;
        }

        .three90leftbarimg{
          margin-left: -5px;
          height: 30px;
          background-image: var(--three90leftbarimggrid);
          background-repeat: no-repeat;
          background-position: var(--three90leftbarimgposition);
          background-size: 212px;
        }

        .courseTabShimmer{
          position: absolute;
          height: 110%;
          width: 0;
          opacity: .7;
          -webkit-animation: courseShimmer 2s cubic-bezier(0,0,.07,.61) infinite;
          animation: courseShimmer 2s cubic-bezier(0,0,.07,.61) infinite;
          box-shadow: 0 0 25px 5px #dddcdc;
          -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
          padding:0px !important;
          border:unset !important;
        }

        @keyframes courseShimmer{
          0% {
              left: 0;
          }
          55% {
              left: 100%;
          }
          99% {
              left: 110%;
          }
        }

</style>


	</div><!-- #main .wrapper -->
  <div id="displayModal" class="modal fade" role="dialog">
    <div class="modal-dialog">
      <!-- <div class="upper-box">
        <h3 style="font: normal normal bold 18px/31px var(--font-primary); color: var(--color-black);">Improve your Coding Skills with Practice</h3>
        <button class="upper-box-btn"><a style="color: white !important;" href="https://practice.geeksforgeeks.org/explore?page=1&sortBy=submissions&utm_source=gfg&utm_medium=search-bar&utm_campaign=practice-search">Try It!</a></button>
      </div> -->
      <div class="modal-content">
        <div class="error-message"></div>
        <!-- <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal" data-modal="displayModal">&times;</button>
          <h2 class="modal-title" id="dmTitle"></h2>
        </div> -->
        <div class="modal-body" id="dmBody">
            <div id="modal-dm-content"></div>
              <div class="modal-overlay" aria-hidden=true>
                <span class="loader__animation"></span>
              </div>
            <!-- body -->
        </div>
      </div>
    </div>
  </div>  
  <div id="displayModalBackdrop" class="backdrop"></div>
  <!-- Footer start -->
  <footer class="gfg-footer" id="gfg-footer">
      <div class="footer-wrapper">
          <div class="footer-wrapper_branding">
              <a class="footer-wrapper_branding-anchor" aria-label="GeeksforGeeks Logo" href="https://www.geeksforgeeks.org/">
                <img style="height: 32px; width: 230px; max-width: fit-content;" class="footer-wrapper_branding-nlogo" src="https://media.geeksforgeeks.org/auth-dashboard-uploads/gfgFooterLogo.png" alt="geeksforgeeks-footer-logo"/>
              </a>
              <div class="footer-wrapper_branding-address">
                  <div class="address_section">
                    <div class="address-icon-wrapper">
                      <i class="gfg-icon gfg-icon_pin"></i> 
                    <div class="address_div">
                                          <div class="footer-address">
                      Corporate & Communications Address:- A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305) | Registered Address:- K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305                    </div>
                    </div>
                  </div>
                                      </div>
              </div>
              <div class="footer-wrapper_branding-social">
                  <a href="https://www.facebook.com/geeksforgeeks.org/" rel="noopener noreferrer" aria-label="GeeksforGeeks Facebook" target="_blank">
                      <div class="facebook"></div>
                  </a>
                  <a href="https://www.instagram.com/geeks_for_geeks/" rel="noopener noreferrer" aria-label="GeeksforGeeks Instagram" target="_blank">
                      <div class="instagram"></div>
                  </a>
                  <a href="https://in.linkedin.com/company/geeksforgeeks" rel="noopener noreferrer" aria-label="GeeksforGeeks LinkedIn" target="_blank">
                      <div class="linkedin"></div>
                  </a>
                  <a href="https://twitter.com/geeksforgeeks" rel="noopener noreferrer" aria-label="GeeksforGeeks Twitter" target="_blank">
                      <div class="twitter"></div>
                  </a>
                  <a href="https://www.youtube.com/geeksforgeeksvideos" rel="noopener noreferrer" aria-label="GeeksforGeeks YouTube" target="_blank">
                      <div class="youtube"></div>
                  </a>
              </div>
              <div class="footer-wrapper_branding-app">
                  <a aria-label="GeeksforGeeks App Link" href="https://geeksforgeeksapp.page.link/gfg-app" target="_blank" ><img src="https://media.geeksforgeeks.org/auth-dashboard-uploads/googleplay.png" alt="GFG App on Play Store" id="gplay" loading="lazy"></a>
                  <a aria-label="GeeksforGeeks App Link" href="https://geeksforgeeksapp.page.link/gfg-app" target="_blank"><img src="https://media.geeksforgeeks.org/auth-dashboard-uploads/appstore.png" alt="GFG App on App Store" id="appstore" loading="lazy"></a>
              </div>
              <div class="footer_advertise_btn_box">
                <a href="https://www.geeksforgeeks.org/advertise-with-us/?ref=footer" target="_blank" class="footer_advertise_btn">Advertise with us</a>
              </div> 
          </div>
        <div class="all-footer-information">
          <div class="footer-wrapper_links" style="justify-content: space-between; text-align: -webkit-left;"><ul class="footer-wrapper_links-list" ><li>Company</li><li><a href=https://www.geeksforgeeks.org/about/?ref=footer>About Us</a></li><li><a href=https://www.geeksforgeeks.org/legal/?ref=footer>Legal</a></li><li><a href=https://geeksforgeeks.zohorecruit.in/careers?ref=footer>Careers</a></li><li><a href=https://www.geeksforgeeks.org/press-release/?ref=footer>In Media</a></li><li><a href=https://www.geeksforgeeks.org/about/contact-us/?ref=footer>Contact Us</a></li><li><a href=https://www.geeksforgeeks.org/advertise-with-us/?ref=footer>Advertise with us</a></li><li><a href=https://www.geeksforgeeks.org/gfg-corporate-solution/?ref=footer>GFG Corporate Solution</a></li><li><a href=https://www.geeksforgeeks.org/campus-training-program/?ref=footer>Placement Training Program</a></li></ul><ul class="footer-wrapper_links-list" ><li>Explore</li><li><a href=https://practice.geeksforgeeks.org/events/rec/job-a-thon/?ref=footer>Job-A-Thon Hiring Challenge</a></li><li><a href=https://www.geeksforgeeks.org/events/rec/gfg-hackathon/?ref=footer>Hack-A-Thon</a></li><li><a href=https://practice.geeksforgeeks.org/events/rec/gfg-weekly-coding-contest?utm_source=geeksforgeeks&utm_medium=footer&utm_campaign=gfgweekly/?ref=footer>GfG Weekly Contest</a></li><li><a href=https://www.geeksforgeeks.org/courses/category/all?courseType=offline&courseFeeType=all/?ref=footer>Offline Classes (Delhi/NCR)</a></li><li><a href=https://www.geeksforgeeks.org/courses/dsa-self-paced?utm_source=geeksforgeeks&utm_medium=footer&utm_campaign=course/?ref=footer>DSA in JAVA/C++</a></li><li><a href=https://www.geeksforgeeks.org/courses/mastering-system-design-low-level-to-high-level-solutions?utm_source=geeksforgeeks&utm_medium=footer&utm_campaign=course/?ref=footer>Master System Design</a></li><li><a href=https://www.geeksforgeeks.org/courses/competitive-programming-cp?utm_source=geeksforgeeks&utm_medium=footer&utm_campaign=course>Master CP</a></li><li><a href=https://www.geeksforgeeks.org/videos/?ref=footer>GeeksforGeeks Videos</a></li><li><a href=https://www.geeksforgeeks.org/community/?ref=footer>Geeks Community</a></li></ul><ul class="footer-wrapper_links-list" ><li><a class="link-head" href=https://www.geeksforgeeks.org/introduction-to-programming-languages/?ref=footer>Languages</a></li><li><a href=https://www.geeksforgeeks.org/python-programming-language/?ref=footer>Python</a></li><li><a href=https://www.geeksforgeeks.org/java/?ref=footer>Java</a></li><li><a href=https://www.geeksforgeeks.org/c-plus-plus/?ref=footer>C++</a></li><li><a href=https://www.geeksforgeeks.org/php-tutorials/?ref=footer>PHP</a></li><li><a href=https://www.geeksforgeeks.org/golang/?ref=footer>GoLang</a></li><li><a href=https://www.geeksforgeeks.org/sql-tutorial/?ref=footer>SQL</a></li><li><a href=https://www.geeksforgeeks.org/r-tutorial/?ref=footer>R Language</a></li><li><a href=https://www.geeksforgeeks.org/android-tutorial/?ref=footer>Android Tutorial</a></li></ul><ul class="footer-wrapper_links-list" ><li><a class="link-head" href=https://www.geeksforgeeks.org/learn-data-structures-and-algorithms-dsa-tutorial/?ref=footer>DSA</a></li><li><a href=https://www.geeksforgeeks.org/data-structures/?ref=footer>Data Structures</a></li><li><a href=https://www.geeksforgeeks.org/fundamentals-of-algorithms/?ref=footer>Algorithms</a></li><li><a href=https://www.geeksforgeeks.org/complete-guide-to-dsa-for-beginners/?ref=footer>DSA for Beginners</a></li><li><a href=https://www.geeksforgeeks.org/basic-coding-problems-in-dsa-for-beginners/?ref=footer>Basic DSA Problems</a></li><li><a href=https://www.geeksforgeeks.org/complete-roadmap-to-learn-dsa-from-scratch/?ref=footer>DSA Roadmap</a></li><li><a href=https://www.geeksforgeeks.org/top-100-data-structure-and-algorithms-dsa-interview-questions-topic-wise/?ref=footer>DSA Interview Questions</a></li><li><a href=https://www.geeksforgeeks.org/competitive-programming-a-complete-guide/?ref=footer>Competitive Programming</a></li></ul><ul class="footer-wrapper_links-list" ><li><a class="link-head" href=https://www.geeksforgeeks.org/ai-ml-ds/?ref=footer>Data Science & ML</a></li><li><a href=https://www.geeksforgeeks.org/data-science-tutorial/?ref=footer>Data Science With Python</a></li><li><a href=https://www.geeksforgeeks.org/data-science-for-beginners/?ref=footer>Data Science For Beginner</a></li><li><a href=https://www.geeksforgeeks.org/machine-learning/?ref=footer>Machine Learning</a></li><li><a href=https://www.geeksforgeeks.org/machine-learning-mathematics/?ref=footer>ML Maths</a></li><li><a href=https://www.geeksforgeeks.org/python-data-visualization-tutorial/?ref=footer>Data Visualisation</a></li><li><a href=https://www.geeksforgeeks.org/pandas-tutorial/?ref=footer>Pandas</a></li><li><a href=https://www.geeksforgeeks.org/numpy-tutorial/?ref=footer>NumPy</a></li><li><a href=https://www.geeksforgeeks.org/natural-language-processing-nlp-tutorial/?ref=footer>NLP</a></li><li><a href=https://www.geeksforgeeks.org/deep-learning-tutorial/?ref=footer>Deep Learning</a></li></ul><ul class="footer-wrapper_links-list" ><li><a class="link-head" href=https://www.geeksforgeeks.org/web-technology/?ref=footer>Web Technologies</a></li><li><a href=https://www.geeksforgeeks.org/html/?ref=footer>HTML</a></li><li><a href=https://www.geeksforgeeks.org/css/?ref=footer>CSS</a></li><li><a href=https://www.geeksforgeeks.org/javascript/?ref=footer>JavaScript</a></li><li><a href=https://www.geeksforgeeks.org/typescript/?ref=footer>TypeScript</a></li><li><a href=https://www.geeksforgeeks.org/learn-reactjs/?ref=footer>ReactJS</a></li><li><a href=https://www.geeksforgeeks.org/nextjs/?ref=footer>NextJS</a></li><li><a href=https://www.geeksforgeeks.org/nodejs/?ref=footer>NodeJs</a></li><li><a href=https://www.geeksforgeeks.org/bootstrap/?ref=footer>Bootstrap</a></li><li><a href=https://www.geeksforgeeks.org/tailwind-css/?ref=footer>Tailwind CSS</a></li></ul></div><div class="footer-wrapper_links" style="justify-content: space-between; text-align: -webkit-left;"><ul class="footer-wrapper_links-list" style="margin-block-start: 0em; width:16%; padding-inline-start: 18px;"><li><a class="link-head" href=https://www.geeksforgeeks.org/python-programming-language/?ref=footer>Python Tutorial</a></li><li><a href=https://www.geeksforgeeks.org/python-programming-examples/?ref=footer>Python Programming Examples</a></li><li><a href=https://www.geeksforgeeks.org/django-tutorial/?ref=footer>Django Tutorial</a></li><li><a href=https://www.geeksforgeeks.org/python-projects-beginner-to-advanced/?ref=footer>Python Projects</a></li><li><a href=https://www.geeksforgeeks.org/python-tkinter-tutorial/?ref=footer>Python Tkinter</a></li><li><a href=https://www.geeksforgeeks.org/python-web-scraping-tutorial/?ref=footer>Web Scraping</a></li><li><a href=https://www.geeksforgeeks.org/opencv-python-tutorial/?ref=footer>OpenCV Tutorial</a></li><li><a href=https://www.geeksforgeeks.org/python-interview-questions/?ref=footer>Python Interview Question</a></li></ul><ul class="footer-wrapper_links-list" ><li><a class="link-head" href=https://www.geeksforgeeks.org/gate-cs-notes-gq/?ref=footer>Computer Science</a></li><li><a href=https://www.geeksforgeeks.org/gate-cs-notes-gq/?ref=footer>GATE CS Notes</a></li><li><a href=https://www.geeksforgeeks.org/operating-systems/?ref=footer>Operating Systems</a></li><li><a href=https://www.geeksforgeeks.org/computer-network-tutorials/?ref=footer>Computer Network</a></li><li><a href=https://www.geeksforgeeks.org/dbms/?ref=footer>Database Management System</a></li><li><a href=https://www.geeksforgeeks.org/software-engineering/?ref=footer>Software Engineering</a></li><li><a href=https://www.geeksforgeeks.org/digital-electronics-logic-design-tutorials/?ref=footer>Digital Logic Design</a></li><li><a href=https://www.geeksforgeeks.org/engineering-mathematics-tutorials/?ref=footer>Engineering Maths</a></li></ul><ul class="footer-wrapper_links-list" ><li><a class="link-head" href=https://www.geeksforgeeks.org/devops-tutorial/?ref=footer>DevOps</a></li><li><a href=https://www.geeksforgeeks.org/git-tutorial/?ref=footer>Git</a></li><li><a href=https://www.geeksforgeeks.org/aws-tutorial/?ref=footer>AWS</a></li><li><a href=https://www.geeksforgeeks.org/docker-tutorial/?ref=footer>Docker</a></li><li><a href=https://www.geeksforgeeks.org/kubernetes-tutorial/?ref=footer>Kubernetes</a></li><li><a href=https://www.geeksforgeeks.org/microsoft-azure/?ref=footer>Azure</a></li><li><a href=https://www.geeksforgeeks.org/google-cloud-platform-tutorial/?ref=footer>GCP</a></li><li><a href=https://www.geeksforgeeks.org/devops-roadmap/?ref=footer>DevOps Roadmap</a></li></ul><ul class="footer-wrapper_links-list" ><li><a class="link-head" href=https://www.geeksforgeeks.org/system-design-tutorial/?ref=footer>System Design</a></li><li><a href=https://www.geeksforgeeks.org/what-is-high-level-design-learn-system-design/?ref=footer>High Level Design</a></li><li><a href=https://www.geeksforgeeks.org/what-is-low-level-design-or-lld-learn-system-design/?ref=footer>Low Level Design</a></li><li><a href=https://www.geeksforgeeks.org/unified-modeling-language-uml-introduction/?ref=footer>UML Diagrams</a></li><li><a href=https://www.geeksforgeeks.org/system-design-interview-guide/?ref=footer>Interview Guide</a></li><li><a href=https://www.geeksforgeeks.org/software-design-patterns/?ref=footer>Design Patterns</a></li><li><a href=https://www.geeksforgeeks.org/object-oriented-analysis-and-design/?ref=footer>OOAD</a></li><li><a href=https://www.geeksforgeeks.org/system-design-interview-bootcamp-guide/?ref=footer>System Design Bootcamp</a></li><li><a href=https://www.geeksforgeeks.org/most-commonly-asked-system-design-interview-problems-questions/?ref=footer>Interview Questions</a></li></ul><ul class="footer-wrapper_links-list" ><li>School Subjects</li><li><a href=https://www.geeksforgeeks.org/maths/?ref=footer>Mathematics</a></li><li><a href=https://www.geeksforgeeks.org/physics/?ref=footer>Physics</a></li><li><a href=https://www.geeksforgeeks.org/chemistry/?ref=footer>Chemistry</a></li><li><a href=https://www.geeksforgeeks.org/biology/?ref=footer>Biology</a></li><li><a href=https://www.geeksforgeeks.org/social-science/?ref=footer>Social Science</a></li><li><a href=https://www.geeksforgeeks.org/english-grammar/?ref=footer>English Grammar</a></li></ul><ul class="footer-wrapper_links-list" ><li><a class="link-head" href=https://www.geeksforgeeks.org/commerce/?ref=footer>Commerce</a></li><li><a href=https://www.geeksforgeeks.org/accountancy/?ref=footer>Accountancy</a></li><li><a href=https://www.geeksforgeeks.org/business-studies/?ref=footer>Business Studies</a></li><li><a href=https://www.geeksforgeeks.org/economics/?ref=footer>Economics</a></li><li><a href=https://www.geeksforgeeks.org/management/?ref=footer>Management</a></li><li><a href=https://www.geeksforgeeks.org/human-resource-management-hrm/?ref=footer>HR Management</a></li><li><a href=https://www.geeksforgeeks.org/finance/?ref=footer>Finance</a></li><li><a href=https://www.geeksforgeeks.org/income-tax/?ref=footer>Income Tax</a></li></ul></div><div class="footer-wrapper_links" style="justify-content: space-between; text-align: -webkit-left;"><ul class="footer-wrapper_links-list" style="margin-block-start: 0em; width:16%; padding-inline-start: 18px;"><li><a class="link-head" href=https://www.geeksforgeeks.org/getting-started-with-database-management-system/?ref=footer>Databases</a></li><li><a href=https://www.geeksforgeeks.org/sql-tutorial/?ref=footer>SQL</a></li><li><a href=https://www.geeksforgeeks.org/mysql-tutorial/?ref=footer>MYSQL</a></li><li><a href=https://www.geeksforgeeks.org/postgresql-tutorial/?ref=footer>PostgreSQL</a></li><li><a href=https://www.geeksforgeeks.org/pl-sql-tutorial/?ref=footer>PL/SQL</a></li><li><a href=https://www.geeksforgeeks.org/mongodb-tutorial/?ref=footer>MongoDB</a></li></ul><ul class="footer-wrapper_links-list" ><li><a class="link-head" href=https://www.geeksforgeeks.org/technical-interview-preparation/?ref=footer>Preparation Corner</a></li><li><a href=https://www.geeksforgeeks.org/company-wise-recruitment-process/?ref=footer>Company-Wise Recruitment Process</a></li><li><a href=https://www.geeksforgeeks.org/free-resume-templates/?ref=footer>Resume Templates</a></li><li><a href=https://www.geeksforgeeks.org/aptitude-questions-and-answers/?ref=footer>Aptitude Preparation</a></li><li><a href=https://www.geeksforgeeks.org/puzzles/?ref=footer>Puzzles</a></li><li><a href=https://www.geeksforgeeks.org/company-preparation/?ref=footer>Company-Wise Preparation</a></li><li><a href=https://www.geeksforgeeks.org/companies/?ref=footer>Companies</a></li><li><a href=https://www.geeksforgeeks.org/colleges/?ref=footer>Colleges</a></li></ul><ul class="footer-wrapper_links-list" ><li>Competitive Exams</li><li><a href=https://www.geeksforgeeks.org/jee-advanced/?ref=footer>JEE Advanced</a></li><li><a href=https://www.geeksforgeeks.org/ugc-net-exam/?ref=footer>UGC NET</a></li><li><a href=https://www.geeksforgeeks.org/upsc-2024-study-materials-and-notes/?ref=footer>UPSC</a></li><li><a href=https://www.geeksforgeeks.org/ssc-cgl-syllabus/?ref=footer>SSC CGL</a></li><li><a href=https://www.geeksforgeeks.org/sbi-po-syllabus-2024/?ref=footer>SBI PO</a></li><li><a href=https://www.geeksforgeeks.org/sbi-clerk-syllabus/?ref=footer>SBI Clerk</a></li><li><a href=https://www.geeksforgeeks.org/ibps-po-syllabus/?ref=footer>IBPS PO</a></li><li><a href=https://www.geeksforgeeks.org/detailed-syllabus-of-ibps-clerk/?ref=footer>IBPS Clerk</a></li></ul><ul class="footer-wrapper_links-list" ><li><a class="link-head" href=https://www.geeksforgeeks.org/geeksforgeeks-online-tutorials-free/?ref=footer>More Tutorials</a></li><li><a href=https://www.geeksforgeeks.org/software-development/?ref=footer>Software Development</a></li><li><a href=https://www.geeksforgeeks.org/software-testing-tutorial/?ref=footer>Software Testing</a></li><li><a href=https://www.geeksforgeeks.org/product-management/?ref=footer>Product Management</a></li><li><a href=https://www.geeksforgeeks.org/project-management-tutorial/?ref=footer>Project Management</a></li><li><a href=https://www.geeksforgeeks.org/linux-tutorial/?ref=footer>Linux</a></li><li><a href=https://www.geeksforgeeks.org/excel-tutorial/?ref=footer>Excel</a></li><li><a href=https://www.geeksforgeeks.org/geeksforgeeks-master-sheet-list-of-all-cheat-sheets/?ref=footer>All Cheat Sheets</a></li><li><a href=https://www.geeksforgeeks.org/page/1/?ref=footer>Recent Articles</a></li></ul><ul class="footer-wrapper_links-list" ><li>Free Online Tools</li><li><a href=https://www.geeksforgeeks.org/free-typing-test/?ref=footer>Typing Test</a></li><li><a href=https://www.geeksforgeeks.org/online-image-editor/?ref=footer>Image Editor</a></li><li><a href=https://www.geeksforgeeks.org/online-code-formatter/?ref=footer>Code Formatters</a></li><li><a href=https://www.geeksforgeeks.org/online-file-converters/?ref=footer>Code Converters</a></li><li><a href=https://www.geeksforgeeks.org/currency-converter/?ref=footer>Currency Converter</a></li><li><a href=https://www.geeksforgeeks.org/random-number-generator/?ref=footer>Random Number Generator</a></li><li><a href=https://www.geeksforgeeks.org/random-password-generator/?ref=footer>Random Password Generator</a></li></ul><ul class="footer-wrapper_links-list" ><li>Write & Earn</li><li><a href=https://write.geeksforgeeks.org/?ref=footer>Write an Article</a></li><li><a href=https://www.geeksforgeeks.org/how-to-improve-an-article/?ref=footer>Improve an Article</a></li><li><a href=https://write.geeksforgeeks.org/pick-article/?ref=footer>Pick Topics to Write</a></li><li><a href=https://www.geeksforgeeks.org/share-your-experiences-on-geeksforgeeks/?ref=footer>Share your Experiences</a></li><li><a href=https://write.geeksforgeeks.org/internship/?ref=footer>Internships</a></li></ul></div><div class="footer-wrapper_links" style="justify-content: space-between; text-align: -webkit-left;"><ul class="footer-wrapper_links-list" style="margin-block-start: 0em; width:16%; padding-inline-start: 18px;"><li><a class="link-head" href=https://www.geeksforgeeks.org/courses/category/dsa-placements?ref=footer>DSA/Placements</a></li><li><a href=https://www.geeksforgeeks.org/courses/dsa-self-paced?ref=footer>DSA - Self Paced Course</a></li><li><a href=https://www.geeksforgeeks.org/courses/data-structures-and-algorithms-in-javascript?ref=footer>DSA in JavaScript - Self Paced Course</a></li><li><a href=https://www.geeksforgeeks.org/courses/Data-Structures-With-Python?ref=footer>DSA in Python - Self Paced</a></li><li><a href=https://www.geeksforgeeks.org/courses/c-Programming-basic-to-advanced?ref=footer>C Programming Course Online - Learn C with Data Structures</a></li><li><a href=https://www.geeksforgeeks.org/courses/complete-interview-preparation?ref=footer>Complete Interview Preparation</a></li><li><a href=https://www.geeksforgeeks.org/courses/competitive-programming-cp?ref=footer>Master Competitive Programming</a></li><li><a href=https://www.geeksforgeeks.org/courses/core-computer-science-for-interview-preparation?ref=footer>Core CS Subject for Interview Preparation</a></li><li><a href=https://www.geeksforgeeks.org/courses/mastering-system-design-low-level-to-high-level-solutions?ref=footer>Mastering System Design: LLD to HLD</a></li><li><a href=https://www.geeksforgeeks.org/courses/interviewe-101-data-structures-algorithm-system-design?ref=footer>Tech Interview 101 - From DSA to System Design [LIVE]</a></li><li><a href=https://www.geeksforgeeks.org/courses/dsa-to-development-coding-guide?ref=footer>DSA to Development [HYBRID]</a></li><li><a href=https://www.geeksforgeeks.org/courses/placement-prep-live?ref=footer>Placement Preparation Crash Course [LIVE]</a></li></ul><ul class="footer-wrapper_links-list" ><li><a class="link-head" href=https://www.geeksforgeeks.org/courses/category/development-testing?ref=footer>Development/Testing</a></li><li><a href=https://www.geeksforgeeks.org/courses/javascript?ref=footer>JavaScript Full Course</a></li><li><a href=https://www.geeksforgeeks.org/courses/react-js-beginner-to-advance?ref=footer>React JS Course</a></li><li><a href=https://www.geeksforgeeks.org/courses/react-native-course-online?ref=footer>React Native Course</a></li><li><a href=https://www.geeksforgeeks.org/courses/mastering-django-framework-beginner-to-advance?ref=footer>Django Web Development Course</a></li><li><a href=https://www.geeksforgeeks.org/courses/bootstrap?ref=footer>Complete Bootstrap Course</a></li><li><a href=https://www.geeksforgeeks.org/courses/full-stack-node?ref=footer>Full Stack Development - [LIVE]</a></li><li><a href=https://www.geeksforgeeks.org/courses/Java-backend-live?ref=footer>JAVA Backend Development - [LIVE]</a></li><li><a href=https://www.geeksforgeeks.org/courses/software-testing-course-online?ref=footer>Complete Software Testing Course [LIVE]</a></li><li><a href=https://www.geeksforgeeks.org/courses/android-by-kotlin?ref=footer>Android Mastery with Kotlin [LIVE]</a></li></ul><ul class="footer-wrapper_links-list" ><li><a class="link-head" href=https://www.geeksforgeeks.org/courses/search?query=data science?ref=footer>Machine Learning/Data Science</a></li><li><a href=https://www.geeksforgeeks.org/courses/data-science-live?ref=footer>Complete Machine Learning & Data Science Program - [LIVE]</a></li><li><a href=https://www.geeksforgeeks.org/courses/data-analytics-training-program-excel-sql-python-powerbi?ref=footer>Data Analytics Training using Excel, SQL, Python & PowerBI - [LIVE]</a></li><li><a href=https://www.geeksforgeeks.org/courses/full-stack-applied-data-science-program?ref=footer>Data Science Training Program - [LIVE]</a></li><li><a href=https://www.geeksforgeeks.org/courses/mastering-generative-ai-and-chat-gpt?ref=footer>Mastering Generative AI and ChatGPT</a></li><li><a href=https://www.geeksforgeeks.org/courses/category/ibm-certification?ref=footer>Data Science Course with IBM Certification</a></li></ul><ul class="footer-wrapper_links-list" ><li><a class="link-head" href=https://www.geeksforgeeks.org/courses/category/programming-languages?ref=footer>Programming Languages</a></li><li><a href=https://www.geeksforgeeks.org/courses/c-Programming-basic-to-advanced?ref=footer>C Programming with Data Structures</a></li><li><a href=https://www.geeksforgeeks.org/courses/cpp-programming-basic-to-advanced?ref=footer>C++ Programming Course</a></li><li><a href=https://www.geeksforgeeks.org/courses/java-online-course-complete-beginner-to-advanced?ref=footer>Java Programming Course</a></li><li><a href=https://www.geeksforgeeks.org/courses/master-python-complete-beginner-to-advanced?ref=footer>Python Full Course</a></li></ul><ul class="footer-wrapper_links-list" ><li><a class="link-head" href=https://www.geeksforgeeks.org/courses/category/cloud-devops?ref=footer>Clouds/Devops</a></li><li><a href=https://www.geeksforgeeks.org/courses/devops-live?ref=footer>DevOps Engineering</a></li><li><a href=https://www.geeksforgeeks.org/courses/AWS-solutions-architect-certification-training-program-live?ref=footer>AWS Solutions Architect Certification</a></li><li><a href=https://www.geeksforgeeks.org/courses/salesforce-certified-administrator?ref=footer>Salesforce Certified Administrator Course</a></li></ul><ul class="footer-wrapper_links-list" ><li><a class="link-head" href=https://www.geeksforgeeks.org/courses/search?query=gate?ref=footer>GATE</a></li><li><a href=https://www.geeksforgeeks.org/courses/test-series-2025?ref=footer>GATE CS & IT Test Series - 2025</a></li><li><a href=https://www.geeksforgeeks.org/courses/gate-da-testseries-2025?ref=footer>GATE DA Test Series 2025</a></li><li><a href=https://www.geeksforgeeks.org/courses/gate-cs-self-paced?ref=footer>GATE CS & IT Course - 2025</a></li><li><a href=https://www.geeksforgeeks.org/courses/gate-ds-ai-self-paced?ref=footer>GATE DA Course 2025</a></li></ul></div>        </div> 
      </div>
            <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css" integrity="sha384-n8MVd4RsNIU0tAv4ct0nTaAbDJwPJzDEaqSD1odI+WdtXRGWt2kTvGFasHpSy3SV" crossorigin="anonymous">      <script type="module" defer>
          import renderMathInElement from "https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/auto-render.mjs";
  
          function renderMath() {
              renderMathInElement(document.body, {
                  delimiters: [
                      {left: '[Tex]', right: '[/Tex]', display: false},
                      {left: '[katex]', right: '[/katex]', display: true},
                      {left: '[TEX]', right: '[/TEX]', display: false},
                      {left: "\\begin{equation}", right: "\\end{equation}", display: true}
                  ]
              });
          }
  
          document.addEventListener("DOMContentLoaded", renderMath);

          document.addEventListener('DOMContentLoaded', function() {

        //solving the problem of white spaces for class mord after katex rendering
        // Get all elements with class "mord"
        let elements = document.querySelectorAll('.mord');
        
        // Iterate through each element and remove the dynamic addition of &nbsp to only one.
        elements.forEach(function(element) {
            // Check if innerHTML includes '&nbsp;'
            if (element.innerHTML.includes('&nbsp')) {
                // Update innerHTML to '&nbsp;'
                element.innerHTML =  element.innerHTML.replace(/(&nbsp;)+/g, "&nbsp;");
            }
        });
        
        // Get all elements with class "katexPreClass"
        let preElements = document.querySelectorAll('.katexPreClass');
        preElements.forEach(function(element) {
          $(element).replaceWith($('<pre>' + $(element)[0].innerHTML + '</pre>'));
        });
      });
      </script>
      <!-- Jobs Fair 2024 related CSS changes -->

<style>
  :root{
    --home-jobs-section-jf-logo: url('https://media.geeksforgeeks.org/auth-dashboard-uploads/JobFair2024Logo.svg');
  }

  body[data-dark-mode="true"]
  {
    --home-jobs-section-jf-logo: url('https://media.geeksforgeeks.org/auth-dashboard-uploads/JobFair2024LogoDark.svg');
  }

  .hp_job_section_jf_logo, .job-a-thon-jf-sticky-header-logo{
    background: var(--home-jobs-section-jf-logo);
    height: 50px;
    background-repeat: no-repeat;
    width: 105px;
    background-size: 100px;
  }

  @keyframes challenge {
	0%{
		transform: scale(1);
	}
	50%{
		transform: scale(1.03);
	}
	100%{
		transform: scale(1);
	}
  }

  .job-a-thon-jf-sticky-header-logo{
    height: 45px;
  }

</style>

<!-- ---------------------------------- -->
      <div class="footer-strip" >
          <div class="copyright">
              <a href="https://www.geeksforgeeks.org/" rel="noopener noreferrer" target="_blank">@GeeksforGeeks, Sanchhaya Education Private Limited</a><span>, <a href="https://www.geeksforgeeks.org/copyright-information/">All rights reserved</a></span>
          </div>
          <div class="social-links">
          </div>
      </div>
  </footer>
</div><!-- #page -->
<script type='text/javascript' src='https://www.geeksforgeeks.org/wp-includes/js/wp-embed.min.js?ver=4.9.8'></script>

<script>jQuery(document).ready(function($) { RESPONSIVEUI.responsiveTabs(); })</script>

<!-- Cookie Consent Div-->
<div class="cookie-consent hide-consent">
    <span class="cookie-text">
        We use cookies to ensure you have the best browsing experience on our website. By using our site, you
        acknowledge that you have read and understood our
        <a href="https://www.geeksforgeeks.org/cookie-policy/" target="_blank"><u>Cookie Policy</u></a> &
        <a href="https://www.geeksforgeeks.org/privacy-policy/" target="_blank"><u>Privacy Policy</u></a>
            </span>
    <button class="consent-btn">
        Got It !
    </button>
</div>
<!-- Cookie Consent Div ends -->

<!--Light Box Div starts-->
<div class="lightbox-target">
   <img id="lightbox-image" src="" alt="Lightbox"/>
   <span class="lightbox-close"></span>
</div>
<!--Light Box Div ends-->

<!-- <link rel="stylesheet" href="https://use.typekit.net/mrg0hpc.css"/> -->
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;700&family=Source+Sans+3:wght@400;600&display=swap" rel="stylesheet">
<script>
  if(post_slug.includes('premium-plans-payment/') || post_slug.includes('premium-plans/')){
    $('.darkMode-wrap').remove();
    $('.toggle-darkMode').remove();
  }

function setGoogleRecaptcha() {
    var captchaSiteKey = '6LdMFNUZAAAAAIuRtzg0piOT-qXCbDF-iQiUi9KY';
    grecaptcha.ready(function() {
        grecaptcha.execute(captchaSiteKey).then(function(token) {
            document.getElementById('g-recaptcha-response-suggestion-form').value = token;
            suggestionCall();
        });
    });
}

</script>

        <div class="improve-modal--overlay" style="display: none;">
            <div class="improve-modal--improvement" status="locked">
                <div class="improve-modal--improve-header">
                    <div class="improve-header-fst-child">Improvement</div>
                    <div class="improve-header-sec-child">
                        <i class="gfg-icon improve-cross-icon"></i>
                    </div>
                </div>
                <div class="locked-status--impove-modal">
                    <div class="improve-modal--improve-content error-message"></div>                    
                    <div class="improve-modal--improve-bottom">
                        <button class="improve-bottom-btn" type="button">Suggest changes</button>
                    </div>
                </div>
                <div class="unlocked-status--improve-modal-content">
                  <div class="suggest-change_wrapper">
                    <div class="suggest-change-content_wrapper">
                      <div class="suggest-change">Suggest Changes</div>
                      <div class="suggest-changes-about">Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.</div>
                    </div>
                    <div class="suggest-change-icon_wrapper">
                      <img class="suggest-change-icon" src="https://media.geeksforgeeks.org/auth-dashboard-uploads/suggestChangeIcon.png" alt="geeksforgeeks-suggest-icon"/>
                    </div>
                  </div>
                  <div class="create-improvement_wrapper">
                    <div class="create-improvement-content_wrapper">
                      <div class="create-improvement">Create Improvement</div>
                      <div class="create-improvements-about">Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.</div>
                    </div>
                    <div class="create-improvement-icon_wrapper">
                    <img class="create-improvement-icon" src="https://media.geeksforgeeks.org/auth-dashboard-uploads/createImprovementIcon.png" alt="geeksforgeeks-improvement-icon"/>
                    </div>
                  </div>
                  <div class="error-status"></div>
                </div>
            </div>
            <div class="improve-modal--suggestion" style="display: none;">
                <!-- Header of improve-modal--improvement and improve-modal--suggestion have same CSS rule that's why I use same class name -->
                <div class="improve-modal--improve-header">
                  <div class="left-arrow-icon_suggest_wrapper">
                    <div class="left-arrow-icon_wrapper">
                      <i class="gfg-icon improve-left-arrow-icon"></i>
                    </div>
                    <div class="improve-header-fst-child">Suggest Changes</div>
                  </div>
                  <div class="improve-header-sec-child">
                        <i class="gfg-icon improve-cross-icon"></i>
                  </div>
                </div>
                <div class="suggestion-modal-section">
                    <form>
                        <label for="suggestion-section">min 4 words, max CharLimit:2000</label>
                        <textarea id="suggestion-section-textarea" name="suggestion-section" placeholder="Write your suggestions here"></textarea>
                        <input type="hidden" name="g-recaptcha-suggestion-response" id="g-recaptcha-response-suggestion-form">
                    </form>
                </div> 
                <!-- Button of improve-modal--improvement and improve-modal--suggestion have same CSS rule that's why I use same class name -->
                <div class="improve-modal--improve-bottom suggestion-btn">
                    <p><span id="suggestion-modal-alert" style="display: none;"></span></p>
                    <button class="suggest-bottom-btn" type="button"></button>
                </div>
            </div>
            <a href="#" style="visibility:hidden" class="create-improvement-redirection-to-write" target="_blank"></a>
        </div>
        <script>
            var lockedCasesHtml = `<span class="improve-modal--improve-content-modified"></span><span>You can suggest the changes for now and it will be under 'My Suggestions' Tab on Write.</span><br><br><span>You will be notified via email once the article is available for improvement. Thank you for your valuable feedback!</span>`;
            var badgesRequiredHtml = `<span>It seems that you do not meet the eligibility criteria to create improvements for this article, as only users who have earned specific badges are permitted to do so.</span><br><br><span>However, you can still create improvements through the <a href="https://write.geeksforgeeks.org/pick-improvements/pick" target='_blank'>Pick for Improvement</a> section.</span>`;
            jQuery('.improve-header-sec-child').on('click', function(){
                jQuery('.improve-modal--overlay').hide();
                $('.improve-modal--suggestion').hide();
            });

            $('.suggest-change_wrapper, .locked-status--impove-modal .improve-bottom-btn').on('click',function(){ // when suggest changes option is clicked
              $('#suggestion-section-textarea').val("");
              $('.suggest-bottom-btn').html("Suggest changes");
              $('.improve-modal--improvement').hide();
              $('.improve-modal--suggestion').show();
            });
            $('.create-improvement_wrapper').on('click',function(){  // when create improvement option clicked then improvement reason will be shown
              if(loginData && loginData.isLoggedIn) {
                $('body').append('<div class="spinner-loading-overlay"></div>');
                $('.spinner-loading-overlay').show();
                jQuery.ajax({
                  url: writeApiUrl + 'create-improvement-post/?v=1',
                  type: "POST",
                  contentType: 'application/json; charset=utf-8',
                  dataType: 'json',
                  xhrFields: {
                    withCredentials: true
                  },
                  data: JSON.stringify({
                    gfg_id: post_id
                  }),
                  success:function(result) {
                    $('.spinner-loading-overlay:eq(0)').remove();
                    $('.improve-modal--overlay').hide();
                    $('.unlocked-status--improve-modal-content').css("display","none");
                    $('.create-improvement-redirection-to-write').attr('href',writeUrl + 'improve-post/' + `${result.id}` + '/', '_blank');
                    $('.create-improvement-redirection-to-write')[0].click();
                  },
                  error:function(e) {
                    showErrorMessage(e.responseJSON,e.status)
                  },
                });
              }
              else {
               if(loginData && !loginData.isLoggedIn) {
                   $('.improve-modal--overlay').hide();
                if ($('.header-main__wrapper').find('.header-main__signup.login-modal-btn').length) {
                $('.header-main__wrapper').find('.header-main__signup.login-modal-btn').click();
                 }
                return;
                }
              }
            });
            $('.left-arrow-icon_wrapper').on('click',function(){
              if($('.improve-modal--suggestion').is(":visible"))
              $('.improve-modal--suggestion').hide();
              else{
              }

              $('.improve-modal--improvement').show();
            });
            const showErrorMessage = (result,statusCode) => {
                if(!result)
                return;
                $('.spinner-loading-overlay:eq(0)').remove();
                if(statusCode == 403) {
                    $('.improve-modal--improve-content.error-message').html(result.message);
                    jQuery('.improve-modal--overlay').show();
                    jQuery('.improve-modal--improvement').show();
                    $('.locked-status--impove-modal').css("display","block");
                    $('.unlocked-status--improve-modal-content').css("display","none");
                    $('.improve-modal--improvement').attr("status","locked");
                    return;
                }
                            }
            function loadScript(src, callback) {
                var script = document.createElement('script');
                script.src = src;
                script.onload = callback;
                document.head.appendChild(script);
            }
            function suggestionCall() {              
                var suggest_val = $.trim($("#suggestion-section-textarea").val());
                var array_String= suggest_val.split(" ") 
                var gCaptchaToken = $("#g-recaptcha-response-suggestion-form").val();
                var error_msg = false;
                if(suggest_val != "" && array_String.length >=4){
                    if(suggest_val.length <= 2000){
                        var payload = {
                                    "gfg_post_id" : `${post_id}`,
                                    "suggestion" : `<p>${suggest_val}</p>`,
                                }
                        if(!loginData || !loginData.isLoggedIn)                  // User is not logged in
                        payload["g-recaptcha-token"] = gCaptchaToken

                        jQuery.ajax({
                            type:'post',
                            url:  "https://apiwrite.geeksforgeeks.org/suggestions/auth/create/",
                            xhrFields: {
                                withCredentials: true
                            },
                            crossDomain: true,
                            contentType:'application/json',
                            data: JSON.stringify(payload),
                            success:function(data) {
                                jQuery('.spinner-loading-overlay:eq(0)').remove();
                                jQuery('#suggestion-section-textarea').val("");
                                jQuery('.suggest-bottom-btn').css("display","none");
                                
                                // Update the modal content
                                const modalSection = document.querySelector('.suggestion-modal-section');
                                modalSection.innerHTML = `
                                    <div class="thank-you-message" style="text-align: center;">
                                      <h2>Thank You!</h2>
                                      <div class="thank-you-message-content">Your suggestions are valuable to us.</div>
                                    </div>
                                `;

                            },
                            error:function(data) {
                                jQuery('.spinner-loading-overlay:eq(0)').remove();
                                jQuery('#suggestion-modal-alert').html("Something went wrong.");
                                jQuery('#suggestion-modal-alert').show();
                                error_msg = true;
                            }
                        });
                    }
                    else{
                        jQuery('.spinner-loading-overlay:eq(0)').remove();
                        jQuery('#suggestion-modal-alert').html("Minimum 5 Words and Maximum Character limit is 2000.");
                        jQuery('#suggestion-modal-alert').show();
                        jQuery('#suggestion-section-textarea').focus();
                        error_msg = true;
                    }
                }
                else{
                    jQuery('.spinner-loading-overlay:eq(0)').remove();
                    jQuery('#suggestion-modal-alert').html("Enter atleast four words !");
                    jQuery('#suggestion-modal-alert').show();
                    jQuery('#suggestion-section-textarea').focus();
                    error_msg = true;
                }
                if(error_msg){
                    setTimeout(() => {
                        jQuery('#suggestion-section-textarea').focus();
                        jQuery('#suggestion-modal-alert').hide();
                    }, 3000);
                }
            }
            
            document.querySelector('.suggest-bottom-btn').addEventListener('click', function(){
              jQuery('body').append('<div class="spinner-loading-overlay"></div>');
              jQuery('.spinner-loading-overlay').show();
              if(loginData && loginData.isLoggedIn) {
                 suggestionCall();
                 return;
              }
              // load the captcha script and set the token
              loadScript('https://www.google.com/recaptcha/api.js?render=6LdMFNUZAAAAAIuRtzg0piOT-qXCbDF-iQiUi9KY',[], function() {
                setGoogleRecaptcha();
              });
            });
            
            $('.improvement-bottom-btn.create-improvement-btn').click(function() {  //create improvement button is clicked
              $('body').append('<div class="spinner-loading-overlay"></div>');
              $('.spinner-loading-overlay').show();
              // send this option via create-improvement-post api
              jQuery.ajax({
                url: writeApiUrl + 'create-improvement-post/?v=1',
                type: "POST",
                contentType: 'application/json; charset=utf-8',
                dataType: 'json',
                xhrFields: {
                  withCredentials: true
                },
                data: JSON.stringify({
                  gfg_id: post_id
                }),
                success:function(result) {
                  $('.spinner-loading-overlay:eq(0)').remove();
                  $('.improve-modal--overlay').hide();
                  $('.create-improvement-redirection-to-write').attr('href',writeUrl + 'improve-post/' + `${result.id}` + '/', '_blank');
                  $('.create-improvement-redirection-to-write')[0].click();
                },
                error:function(e) {
                  showErrorMessage(e.responseJSON,e.status);
                },
              });
            });
        </script>
    <script>
var AdblockPlus = new function() {
     this.detect = function(px, callback) {
         var detected = false;
         var checksRemain = 2;
         var error1 = false;
         var error2 = false;
         if (typeof callback != "function") return;
         px += "?ch=*&rn=*";

         function beforeCheck(callback, timeout) {
             if (checksRemain == 0 || timeout > 1E3) callback(checksRemain == 0 && detected);
             else setTimeout(function() {
                 beforeCheck(callback, timeout * 2)
             }, timeout * 2)
         }

         function checkImages() {
             if (--checksRemain) return;
             detected = !error1 && error2
         }
         var random = Math.random() * 11;
         var img1 = new Image;
         img1.onload = checkImages;
         img1.onerror = function() {
             error1 = true;
             checkImages()
         };
         img1.src = px.replace(/\*/, 1).replace(/\*/, random);
         var img2 = new Image;
         img2.onload = checkImages;
         img2.onerror = function() {
             error2 = true;
             checkImages()
         };
         img2.src = px.replace(/\*/, 2).replace(/\*/, random);
         beforeCheck(callback, 250)
     }
 };

/*
AdblockPlus.detect("https://cdnads.geeksforgeeks.org/res/px.gif", function(abp){
    window.googletag = window.googletag || {cmd: []};
    window.abp=abp;
    var elms = [...document.querySelectorAll('div[id^=_GFG_ABP_]')];
    const units=elms.map(elem=>elem.id)
    if(abp) {
        for(let curr_unit of units) {
            const iframe = document.createElement('iframe');
            iframe.setAttribute('src',"https://aa.geeksforgeeks.org/iframe.html?code="+curr_unit.substr(1))
            const elem = document.getElementById(curr_unit)
            const div = document.createElement('div');
            div.setAttribute('id',curr_unit.substr(1))
            let sizes = curr_unit.split("_");
            sizes = sizes.filter(val => val.includes('x'));
            let [width, height] = sizes[0].split("x");
            iframe.style.width = `${+width+20}px`
            iframe.style.height = `${+height+20}px`
            if(elem) {
                elem.appendChild(iframe);
            }
        }
        var gfgAdDivs = [...document.querySelectorAll('div[id^=GFG_AD_]')];
        gfgAdDivs.forEach(gfgDiv => document.getElementById(gfgDiv.id).removeAttribute("style"));
        jQuery('#secondary .widget_text:last-child').css({"position": "unset"});
    }
});*/
    AdblockPlus.detect("https://cdnads.geeksforgeeks.org/res/px.gif", function(abp){
    window.googletag = window.googletag || {cmd: []};
    window.abp=abp;
    var elms = [...document.querySelectorAll('div[id^=_GFG_ABP_]')];
    //const units=elms.map(elem=>elem.id)
    const units = elms
      .filter(elem => !(window.innerWidth < 1500 && elem.id === "_GFG_ABP_Incontent_728x90"))
      .map(elem => elem.id);
    if(abp) {
        isAdBlockerPresent = true;
        for(let curr_unit of units) {
            const iframe = document.createElement('iframe');
            iframe.addEventListener("load", () => {
              iframe.contentWindow.postMessage(JSON.stringify({host: window.location.host,category: window.arrPostCatName,parentWidth: window.innerWidth}),'https://aa.geeksforgeeks.org');
            });
            iframe.setAttribute('src',"https://aa.geeksforgeeks.org/iframe.html?code="+curr_unit.substr(1))
            const elem = document.getElementById(curr_unit)
            const div = document.createElement('div');
            div.setAttribute('id',curr_unit.substr(1))
            let sizes = curr_unit.split("_");
            sizes = sizes.filter(val => val.includes('x'));
            let [width, height] = sizes[0].split("x");
            iframe.style.width = `${+width+20}px`
            iframe.style.height = `${+height+20}px`
            if(elem) {
                elem.appendChild(iframe);
            }
        }
        var gfgAdDivs = [...document.querySelectorAll('div[id^=GFG_AD_]')];
        gfgAdDivs.forEach(gfgDiv => document.getElementById(gfgDiv.id).removeAttribute("style"));
        jQuery('#secondary .widget_text:last-child').css({"position": "unset"});
    }
    else{
      try {
        var isAdblockEnabled = t =>
            fetch(
                new Request('https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js', {
                    method: 'HEAD',
                    mode: 'no-cors'
                })
            ).catch(t);
          isAdblockEnabled(() => {
            // here goes modal pop-up code
            isAdBlockerPresent = true;
          });
      } catch (err) {console.log(err);}
    }
});

  function closeAdBlockPopupModal(){
    const modal = document.getElementById("adBlockerModal");
    $('body').removeClass('body-for-ad-blocker');
    $('#adBlockerModal').remove()
    localStorage.setItem('gfgAdBlockPopup',new Date())
  }
  function showAdblockerModal(){
    let randomNumberForButtonText = Math.round(Math.random()); 
    let currTime = new Date();
    let lastTime = new Date(localStorage.getItem('gfgAdBlockPopup'));
    if(((currTime-lastTime)/(1000*60*60))<1)
    {
      return;
    }
    const adBlockerModal = `<div id="adBlockerModal" class="ad-blocker-modal">
      <div id="ad-blocker-modal-overlay">
        <div id="ad-blocker-outer-div">
          <div id="ad-blocker-div">
          <p id="ad-blocker-div-warning" style="margin-bottom: 30px;">It seems that you are using an ad blocker.<br><span style="font-size: 22px;font-weight: normal;">Please disable it to support us!</span></p>
              <div id="ad-blocker-div-btns">
                  <button id="ad-blocker-div-button1" onclick="handleAdBlockerClick('disabled')">
                      I disabled my ad blocker
                  </button>
                  <a href="https://www.geeksforgeeks.org/geeksforgeeks-premium-subscription${randomNumberForButtonText === 1 ? "/?itm_source=geeksforgeeks&itm_medium=adblocker&itm_campaign=premium1" : "/?itm_source=geeksforgeeks&itm_medium=adblocker&itm_campaign=premium2"}" target="_blank">
                      <button
                          id="ad-blocker-div-button2"
                          style="
                              background: linear-gradient(45deg, #f0bd36, #bf873f);
                              border: 1px solid transparent;
                              color: white;
                          "
                      >
                          ${randomNumberForButtonText === 1 ? "Go Ad-Free with Premium" : "Upgrade for No Ads"}
                      </button>
                  </a>
              </div>
              <div id="ad-blocker-div-continue-premium-promo-text">
                  "For an ad-free experience and exclusive features, subscribe to our Premium Plan!"<br>
              </div>
              <div id="ad-blocker-div-continue-btn-div">
                  <a id="ad-blocker-div-continue-btn" href="#" onclick="closeAdBlockPopupModal()">Continue without supporting</a>
              </div>
          </div>
        </div>
      </div>
    </div>`;
    $('body').append(adBlockerModal);
    $('body').addClass('body-for-ad-blocker');
    const modal = document.getElementById("adBlockerModal");
    modal.style.display = "block";
  }
  function handleAdBlockerClick(type){
      if(type == 'disabled'){
        window.location.reload();
      }
      else if(type == 'info'){
        document.getElementById("ad-blocker-div").style.display = "none";
        document.getElementById("ad-blocker-info-div").style.display = "flex";
        handleAdBlockerIconClick(0);
      }
  }
  var lastSelected= null;
  //Mapping of name and video URL with the index.
  const adBlockerVideoMap = [
    ['Ad Block Plus','https://media.geeksforgeeks.org/auth-dashboard-uploads/abp-blocker-min.mp4'],
    ['Ad Block','https://media.geeksforgeeks.org/auth-dashboard-uploads/Ad-block-min.mp4'],
    ['uBlock Origin','https://media.geeksforgeeks.org/auth-dashboard-uploads/ub-blocke-min.mp4'],
    ['uBlock','https://media.geeksforgeeks.org/auth-dashboard-uploads/U-blocker-min.mp4'],
  ]
  function handleAdBlockerIconClick(currSelected){
    const videocontainer = document.getElementById('ad-blocker-info-div-gif');
    const videosource = document.getElementById('ad-blocker-info-div-gif-src');
    if(lastSelected != null){
      document.getElementById("ad-blocker-info-div-icons-"+lastSelected).style.backgroundColor = "white";  
      document.getElementById("ad-blocker-info-div-icons-"+lastSelected).style.borderColor = "#D6D6D6";
    }
    document.getElementById("ad-blocker-info-div-icons-"+currSelected).style.backgroundColor = "#D9D9D9";
    document.getElementById("ad-blocker-info-div-icons-"+currSelected).style.borderColor = "#848484";
    document.getElementById('ad-blocker-info-div-name-span').innerHTML = adBlockerVideoMap[currSelected][0]
    videocontainer.pause();
    videosource.setAttribute('src', adBlockerVideoMap[currSelected][1]);
    videocontainer.load();
    videocontainer.play();
    lastSelected = currSelected;
  }
</script>
<!-- <script async src="https://www.googleoptimize.com/optimize.js?id=OPT-5PGZ8MN"></script> -->

<style>
/* Temporary CSS for Three90 pop up modal (START)*/
    .three90popup__container {
      width: 100vw;
      height: 100vh; 
      position: fixed;
      top:0px;
      background: var(--job-tab-faded-background);
      z-index: 1024;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .three90modal__wrapper{
      background-color: white;
      max-width: 350px;
      display: flex;
      flex-direction: column;
      border-radius: 10px;
      overflow: hidden;

    }
    .three90modal__message-container {
      display: flex;
      flex-direction: column;
      align-items: center;
      font-family: var(--font-primary);
    }
    .three90modal__subheading {
      margin-top: 20px;
      font-size: 22px;
      font-weight: 600;
    }
    .three90modal__text-message {
      margin-top: 20px;
      font-size: 15px;
      font-weight: 400;
      text-align: center;
      padding: 0 5px;
    }
    .three90__modal__button-wrapper {
      width: 100%;
      padding: 20px 0px;
      display: flex;
      justify-content: space-evenly;
    }
    .three90__modal__button-wrapper > button {
      width: 105px;
      height: 35px;
      border-radius: 13px;
      border:none;
      font-weight: 600;
      cursor: pointer;
    } 
    #three90__modal-close-btn:hover {
      background-color: #cacbcd;
    }
    #three90__modal-explore-btn {
      background-color: #0a0727;
      color: white
    }

    @media screen and (max-width: 441px) {
      .three90modal__wrapper {
        max-width: 300px;
      }
    }

  /* Temporary CSS for Three90 pop up modal (END)*/
</style>

<script type="text/javascript" >
    const coursePromotionCities = JSON.parse(`{"NCR":{"LOCATIONS":["Noida","Greater Noida","Ghaziabad","Faridabad","Delhi","New Delhi"],"COURSES":[{"name":"GATE CS 2025 Classroom Program","url":"https:\/\/www.geeksforgeeks.org\/courses\/gate-cs-self-paced"},{"name":"MERN Full Stack Development","url":"https:\/\/www.geeksforgeeks.org\/courses\/mern-full-stack-development-classroom"},{"name":"DSA For Interview Preparation","url":" https:\/\/www.geeksforgeeks.org\/courses\/dsa-interview-preparation-classroom"},{"name":"JAVA Backend Development","url":"https:\/\/www.geeksforgeeks.org\/courses\/complete-java-backend-development-program"},{"name":"Data Analytics Programme","url":"https:\/\/www.geeksforgeeks.org\/courses\/complete-data-analytics-program"},{"name":"AWS Solutions Architect Certification","url":"https:\/\/www.geeksforgeeks.org\/courses\/aws-solutions-architect-certification-classroom-training"},{"name":"Explore All","url":"https:\/\/www.geeksforgeeks.org\/courses\/offline-courses"}]},"NON_NCR":{"Bengaluru":[{"name":"Data Science Classroom Program","url":"https:\/\/www.geeksforgeeks.org\/courses\/data-science-classroom-program"},{"name":"System Design Classroom Program","url":"https:\/\/www.geeksforgeeks.org\/courses\/system-design-classroom-program"},{"name":"MERN Full Stack Development","url":"https:\/\/www.geeksforgeeks.org\/courses\/mern-full-stack-development-classroom"},{"name":"DSA For Interview Preparation","url":"https:\/\/www.geeksforgeeks.org\/courses\/dsa-interview-preparation-classroom"},{"name":"JAVA Backend Development","url":"https:\/\/www.geeksforgeeks.org\/courses\/complete-java-backend-development-program"},{"name":"Data Analytics Programme","url":"https:\/\/www.geeksforgeeks.org\/courses\/complete-data-analytics-program"},{"name":"AWS Solutions Architect Certification","url":"https:\/\/www.geeksforgeeks.org\/courses\/aws-solutions-architect-certification-classroom-training"},{"name":"Explore All","url":"https:\/\/www.geeksforgeeks.org\/courses\/offline-courses"}],"Pune":[{"name":"MERN Full Stack Development","url":"https:\/\/www.geeksforgeeks.org\/courses\/mern-full-stack-development-classroom"},{"name":"DSA For Interview Preparation","url":"https:\/\/www.geeksforgeeks.org\/courses\/dsa-interview-preparation-classroom"},{"name":"Complete Data Analytics Program","url":"https:\/\/www.geeksforgeeks.org\/courses\/complete-data-analytics-program"},{"name":"Explore All","url":"https:\/\/www.geeksforgeeks.org\/courses\/offline-courses"}],"Hyderabad":[{"name":"Complete Data Analytics Program","url":"https:\/\/www.geeksforgeeks.org\/courses\/complete-data-analytics-program"},{"name":"Complete Backend Development Program","url":"https:\/\/www.geeksforgeeks.org\/courses\/complete-java-backend-development-program"},{"name":"DSA for Interview Preparation","url":"https:\/\/www.geeksforgeeks.org\/courses\/dsa-interview-preparation-classroom"},{"name":"MERN Full Stack Web Development","url":"https:\/\/www.geeksforgeeks.org\/courses\/mern-full-stack-development-classroom"}]}}`);
    const offlineCourseTermMapper = JSON.parse(`{"ALL_TERMIDS":["2058","6263","2628","1745","1789","2601","2057","5037","2971","2023","2162","2795"],"COURSE_TERMID_MAP":{"JAVA":["2058"],"DATA_ANALYTICS":["1745","1789","2601","2057","5037","2971","2023","2162","2795"],"DSA":["6263"],"MERN":["2628"]}}`);
</script>

<script async src="https://www.geeksforgeeks.org/wp-content/themes/iconic-one/js/event-promotion.min.js?ver=4.2"></script>
  
<!-- gfg tabs compatablity bundled js -->

<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-KDVRCT5');</script>

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-DWCCJLKX3X"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
//  gtag('config', 'AW-474915276');
  gtag('config', 'G-DWCCJLKX3X');
  gtag('config', 'AW-796001856');
</script>

<!-- fancybar ad code start -->
<div id="GFG_AD_Desktop_Stickyunit_1x1"></div>
<!-- fancybar ad code ends -->
<!-- <div id="GFG_AD_gfg_mobile_320x50"></div> -->
<style>
    :root {
        --com-extra-icons-mobile-image: url(https://media.geeksforgeeks.org/auth-dashboard-uploads/Com-Extra-Icons13.svg);
        --write-experience-card-1: #ECF5F5;
        --write-experience-card-icon-1: #21898C;
        --write-experience-card-2: #EAF2F7;
        --write-experience-card-icon-2: #3079AC;
        --write-experience-card-3: #FDEFE6;
        --write-experience-card-icon-3: #F5A572;
        --write-experience-card-4: #F1F8F5;
        --write-experience-card-icon-4: #91C4AD;
        --write-experience-card-5: #EEE7FF;
        --write-experience-card-icon-5: #8B72C9;
        --write-experience-card-6: #F2F8E6;
        --write-experience-card-icon-6: #78C57F;
        --editor-button-text-color: #6E6E73;
        --write-modal-background: #fefefe;
        --experience-sidebar: #000;
        --left-bar-background: #FFFFFF;
        --write-redirect-container:#EAF2F7;
        --write-redirect-container-hover:#d6e7f2;
        
    }

    /* Dark Mode */
    body[data-dark-mode="true"] {
        --write-modal-background: #161c23;
        --experience-sidebar: #000;
        --left-bar-background: #F0F3F5;
    }

    .popup-main {
        padding: 20px 18px 20px 18px;
        border-radius: 8px;
    }

    .popup-main .popup-heading {
        display: flex;
        align-items: center;
        color: #E9E9EA;
        margin-bottom: 10px;
        justify-content: space-between;
    }

    .popup-main .close-icon {
        background-image: var(--com-extra-icons-mobile-image);background-position: -15px -1651px;height: 22px;width: 22px;transform: scale(1);
        margin-bottom: 12px;
        cursor: pointer;
    }

    .popup-main .experience-card {
        color: #000;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
        /* margin-bottom:10px; */
    }

    .popup-main a:hover,
    .popup-main a:active,
    .popup-main a:visited {
        color: inherit;
        text-decoration: none;
    }

    .popup-main .exp-card1,
    .popup-main .exp-card2,
    .popup-main .exp-card3,
    .popup-main .exp-card4,
    .popup-main .exp-card5,
    .popup-main .exp-card6 {
        display: flex;
        align-items: center;
        border-radius: 10px;
        cursor: pointer;
    }

    .popup-main .exp-card1 .icon1,
    .popup-main .exp-card2 .icon2,
    .popup-main .exp-card3 .icon3,
    .popup-main .exp-card4 .icon4,
    .popup-main .exp-card5 .icon5,
    .popup-main .exp-card6 .icon6 {
        width: 80px;
        height: 80px;
        border-radius: 10px 0px 0px 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--write-experience-card-icon-1);
    }

    .popup-main .exp-card1 .icon1,
    .popup-main .exp-card2 .icon2,
    .popup-main .exp-card3 .icon3,
    .popup-main .exp-card4 .icon4,
    .popup-main .exp-card5 .icon5,
    .popup-main .exp-card6 .icon6 {
        width: 80px;
        height: 80px;
        border-radius: 10px 0px 0px 10px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .popup-main .exp-card1 .icon1 {
        background: var(--write-experience-card-icon-1);
    }

    .popup-main .exp-card2 .icon2 {
        background: var(--write-experience-card-icon-2);
    }

    .popup-main .exp-card3 .icon3 {
        background: var(--write-experience-card-icon-3);
    }

    .popup-main .exp-card4 .icon4 {
        background: var(--write-experience-card-icon-4);
    }

    .popup-main .exp-card5 .icon5 {
        background: var(--write-experience-card-icon-5);
    }

    .popup-main .exp-card6 .icon6 {
        background: var(--write-experience-card-icon-6);
    }

    .popup-main .exp-card6 .icon6-image {
        background-image: url(https://media.geeksforgeeks.org/auth-dashboard-uploads/compass.svg);
        width: 46px;
        height: 30px;
        background-size: 30px;
        background-repeat: no-repeat;
        background-position: center;
    }

    .popup-main .exp-card1 .icon1-image {
        background-image: var(--com-extra-icons-mobile-image);
        width: 46px;
        height: 28px;
        background-position: -4px -812px;
    }

    .popup-main .exp-card2 .icon2-image {
        background-image: var(--com-extra-icons-mobile-image);
        width: 46px;
        height: 28px;
        background-position: -4px -888px;
    }

    .popup-main .exp-card3 .icon3-image {
        background-image: var(--com-extra-icons-mobile-image);
        width: 46px;
        height: 28px;
        background-position: -4px -848px;
    }

    .popup-main .exp-card4 .icon4-image {
        background-image: url(https://media.geeksforgeeks.org/auth-dashboard-uploads/competitive.svg);
        width: 46px;
        height: 30px;
        background-size: 30px;
        background-repeat: no-repeat;
        background-position: center;
    }

    .popup-main .exp-card5 .icon5-image {
        background-image: var(--com-extra-icons-mobile-image);
        width: 46px;
        height: 33px;
        background-position: -4px -1217px;
    }


    .popup-main .exp-card1 .exp-card1-text,
    .popup-main .exp-card2 .exp-card2-text,
    .popup-main .exp-card3 .exp-card3-text,
    .popup-main .exp-card4 .exp-card4-text,
    .popup-main .exp-card5 .exp-card5-text,
    .popup-main .exp-card6 .exp-card6-text {
        display: flex;
        align-items: center;
        border-radius: 0px 10px 10px 0px;
        height: 80px;
        width: calc(100% - 80px);
    }

    .popup-main .exp-card1 {
        justify-content: flex-start;
        background: var(--write-experience-card-1);
    }

    .popup-main .exp-card2 {
        justify-content: flex-start;
        background: var(--write-experience-card-2);
    }

    .popup-main .exp-card3 {
        justify-content: flex-start;
        background: var(--write-experience-card-3);
    }

    .popup-main .exp-card4 {
        justify-content: flex-start;
        background: var(--write-experience-card-4);
    }

    .popup-main .exp-card5 {
        justify-content: flex-start;
        background: var(--write-experience-card-5);
    }

    .popup-main .exp-card6 {
        justify-content: flex-start;
        background: var(--write-experience-card-6);
    }

    .popup-main span {
        font-family: var(--font-primary);
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        padding-left: 5px;
        padding-right: 5px;
    }

    #popup {
        display: none;
        background-color: var(--write-modal-background);
        padding: 20px;
        text-align: center;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 1026;
        width: min(650px, calc(100% - 20px));
    }
    .link-container-write{
        display:flex;
        flex-direction:column;
    }
    .link-container-write > a {
        margin:7px 0px;
    }
    .phrase__container{
        color:var(--color-gfg);
        border-radius: 6px;
        width: 100%;
        background-color:var(--write-redirect-container);
        padding: 15px;
        text-align: justify;
        font-size:14px;
    }
    .phrase__container:hover {
        color:var(--color-gfg) !important;
        background-color:var(--write-redirect-container-hover);
    }
</style>
<div class="popup-container">
        <div id="popup" accesskey="" class="popup-main">
            <div class="popup-heading">
                <h2>What kind of Experience do you want to share?</h2>
                <div class="close-icon share-experience-modal-close"></div>
            </div>
            <!-- <span class="description"style="color: #BEBEC2;">Tell us your type of experiences which can help other fellow Geeks for their future events and preparations.</span> -->
            <div class="experience-card">
                <a class="exp-card5" href= "https://write.geeksforgeeks.org/posts-new?cid=e8fc46fe-75e7-4a4b-be3c-0c862d655ed0" target="_blank">
                    <div class="icon5">
                        <div class="icon5-image"></div>
                    </div>
                    <div class="exp-card5-text">
                        <span style="color: #000;">Interview Experiences</span>
                    </div>
                </a>
                <a class="exp-card1" href="https://write.geeksforgeeks.org/posts-new?cid=82536bdb-84e6-4661-87c3-e77c3ac04ede" target="_blank">
                    <div class="icon1">
                        <div class="icon1-image"></div>
                    </div>
                    <div class="exp-card1-text">
                        <span style="color: #000;">Admission Experiences</span>
                    </div>
                </a>
                <a class="exp-card6" href= "https://write.geeksforgeeks.org/posts-new?cid=5219b0b2-7671-40a0-9bda-503e28a61c31" target="_blank">
                    <div class="icon6">
                        <div class="icon6-image"></div>
                    </div>
                    <div class="exp-card6-text">
                        <span style="color: #000;">Career Journeys</span>
                    </div>
                </a>
                <a class="exp-card2" href="https://write.geeksforgeeks.org/posts-new?cid=22ae3354-15b6-4dd4-a5b4-5c7a105b8a8f" target="_blank">
                    <div class="icon2">
                        <div class="icon2-image"></div>
                    </div>
                    <div class="exp-card2-text">
                        <span style="color: #000;">Work Experiences</span>
                    </div>
                </a>
                <a class="exp-card3" href= "https://write.geeksforgeeks.org/posts-new?cid=c5e1ac90-9490-440a-a5fa-6180c87ab8ae" target="_blank">
                    <div class="icon3">
                        <div class="icon3-image"></div>
                    </div>
                    <div class="exp-card3-text">
                        <span style="color: #000;">Campus Experiences</span>
                    </div>
                </a>
                <a class="exp-card4" href= "https://write.geeksforgeeks.org/posts-new?cid=5ebb8fe9-b980-4891-af07-f2d62a9735f2" target="_blank">
                    <div class="icon4">
                        <div class="icon4-image"></div>
                    </div>
                    <div class="exp-card4-text">
                        <span style="color: #000;">Competitive Exam Experiences</span>
                    </div>
                </a>
            </div>
        <!--    <div class="link-container-write">
                <a href="https://write.geeksforgeeks.org/pick-article?taxonomy=10261&page=1">
                    <div role="span" class="phrase__container">
                        Can't choose a topic to write? click here for suggested topics
                    </div>
                </a>
                <a href="https://write.geeksforgeeks.org/posts-new">
                    <div role="span" class="phrase__container">
                       Write and publish your own Article
                    </div>
                </a>
            </div> -->
        </div>
        <div id="overlay" onclick="toggleExperiencePopup()" style="display: block;min-height: 100vh;min-width: 100vw;position: fixed;top: 0;bottom: 0;right: 0;left: 0;display: none;justify-content: center;align-items: center;background: rgba(0,0,0,.702);z-index: 1025 !important;backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);word-break: keep-all;"></div>
    </div>

    <script>
        $('.share-experience-modal').click(function(e){
            e.preventDefault();
            var link = $(this).attr('href');
            toggleExperiencePopup(link);
        });
        function toggleExperiencePopup(link) {
            var popup = document.getElementById("popup");
            var overlay = document.getElementById("overlay");

            if (window.innerWidth < 992) {
                window.location.href = link;
            } else {
                popup.style.display = (popup.style.display === "block") ? "none" : "block";
                overlay.style.display = (overlay.style.display === "block") ? "none" : "block";
            }
        }
        $('.share-experience-modal-close').click(function(e){
            var popup = document.getElementById("popup");
            popup.style.display = 'none';
            var overlay = document.getElementById("overlay");
            overlay.style.display = 'none';
        });
</script>
</div><script type="text/javascript">
    $(window).on('load', function() {
        (function(c,l,a,r,i,t,y){
            c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
            t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
            y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
        })(window, document, "clarity", "script", "ayc7ypwwuk");
    });
</script>
<!-- Chat bot is being shown for these category articles (8 -> linked-list 9172 -> AI-ML-DS, 1789 -> python  4667 -> math)  -->

   <!--script to load push notification related js-->
   <script defer src="https://www.geeksforgeeks.org/wp-content/themes/iconic-one/js/gfgnotification.min.js?ver=1.0"></script>
  <!--loading push notification css-->
  <link rel='stylesheet' href="https://www.geeksforgeeks.org/wp-content/themes/iconic-one/css/gfgnotification.min.css?ver=1.0" type='text/css' >
</body>
</html>


<!-- Dynamic page generated in 3.102 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2025-01-06 20:20:21 -->

<!-- Compression = gzip -->
<!-- super cache -->