CINXE.COM

Time complexity - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Time complexity - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"ea11f28a-e930-4b36-9cc8-2fba8e7267b3","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Time_complexity","wgTitle":"Time complexity","wgCurRevisionId":1258396892,"wgRevisionId":1258396892,"wgArticleId":405944,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["CS1 maint: multiple names: authors list","CS1 maint: DOI inactive as of November 2024","Articles with short description","Short description matches Wikidata","Use dmy dates from September 2019","Analysis of algorithms","Computational complexity theory","Computational resources","Time"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Time_complexity","wgRelevantArticleId":405944,"wgIsProbablyEditable":true, "wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgRedirectedFrom":"Superpolynomial","wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":40000,"wgInternalRedirectTargetUrl":"/wiki/Time_complexity#Superpolynomial_time","wgRelatedArticlesCompat":[],"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q2393193","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile" ,"model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.math.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.tablesorter.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["mediawiki.action.view.redirect","ext.cite.ux-enhancements","mediawiki.page.media","site","mediawiki.page.ready","jquery.tablesorter","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp", "ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.math.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.tablesorter.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Comparison_computational_complexity.svg/1200px-Comparison_computational_complexity.svg.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="1200"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Comparison_computational_complexity.svg/800px-Comparison_computational_complexity.svg.png"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="800"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Comparison_computational_complexity.svg/640px-Comparison_computational_complexity.svg.png"> <meta property="og:image:width" content="640"> <meta property="og:image:height" content="640"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Time complexity - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Time_complexity#Superpolynomial_time"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Time_complexity&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Time_complexity#Superpolynomial_time"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Time_complexity rootpage-Time_complexity skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Time+complexity" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Time+complexity" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Time+complexity" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Time+complexity" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Table_of_common_time_complexities" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Table_of_common_time_complexities"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Table of common time complexities</span> </div> </a> <ul id="toc-Table_of_common_time_complexities-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Constant_time" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Constant_time"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Constant time</span> </div> </a> <ul id="toc-Constant_time-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Logarithmic_time" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Logarithmic_time"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Logarithmic time</span> </div> </a> <ul id="toc-Logarithmic_time-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Polylogarithmic_time" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Polylogarithmic_time"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Polylogarithmic time</span> </div> </a> <ul id="toc-Polylogarithmic_time-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Sub-linear_time" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Sub-linear_time"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Sub-linear time</span> </div> </a> <ul id="toc-Sub-linear_time-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Linear_time" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Linear_time"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Linear time</span> </div> </a> <ul id="toc-Linear_time-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Quasilinear_time" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Quasilinear_time"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Quasilinear time</span> </div> </a> <ul id="toc-Quasilinear_time-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Sub-quadratic_time" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Sub-quadratic_time"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>Sub-quadratic time</span> </div> </a> <ul id="toc-Sub-quadratic_time-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Polynomial_time" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Polynomial_time"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>Polynomial time</span> </div> </a> <button aria-controls="toc-Polynomial_time-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Polynomial time subsection</span> </button> <ul id="toc-Polynomial_time-sublist" class="vector-toc-list"> <li id="toc-Complexity_classes" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Complexity_classes"> <div class="vector-toc-text"> <span class="vector-toc-numb">9.1</span> <span>Complexity classes</span> </div> </a> <ul id="toc-Complexity_classes-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Superpolynomial_time" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Superpolynomial_time"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</span> <span>Superpolynomial time</span> </div> </a> <ul id="toc-Superpolynomial_time-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Quasi-polynomial_time" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Quasi-polynomial_time"> <div class="vector-toc-text"> <span class="vector-toc-numb">11</span> <span>Quasi-polynomial time</span> </div> </a> <button aria-controls="toc-Quasi-polynomial_time-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Quasi-polynomial time subsection</span> </button> <ul id="toc-Quasi-polynomial_time-sublist" class="vector-toc-list"> <li id="toc-Relation_to_NP-complete_problems" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Relation_to_NP-complete_problems"> <div class="vector-toc-text"> <span class="vector-toc-numb">11.1</span> <span>Relation to NP-complete problems</span> </div> </a> <ul id="toc-Relation_to_NP-complete_problems-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Sub-exponential_time" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Sub-exponential_time"> <div class="vector-toc-text"> <span class="vector-toc-numb">12</span> <span>Sub-exponential time</span> </div> </a> <button aria-controls="toc-Sub-exponential_time-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Sub-exponential time subsection</span> </button> <ul id="toc-Sub-exponential_time-sublist" class="vector-toc-list"> <li id="toc-First_definition" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#First_definition"> <div class="vector-toc-text"> <span class="vector-toc-numb">12.1</span> <span>First definition</span> </div> </a> <ul id="toc-First_definition-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Second_definition" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Second_definition"> <div class="vector-toc-text"> <span class="vector-toc-numb">12.2</span> <span>Second definition</span> </div> </a> <ul id="toc-Second_definition-sublist" class="vector-toc-list"> <li id="toc-Exponential_time_hypothesis" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Exponential_time_hypothesis"> <div class="vector-toc-text"> <span class="vector-toc-numb">12.2.1</span> <span>Exponential time hypothesis</span> </div> </a> <ul id="toc-Exponential_time_hypothesis-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> </ul> </li> <li id="toc-Exponential_time" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Exponential_time"> <div class="vector-toc-text"> <span class="vector-toc-numb">13</span> <span>Exponential time</span> </div> </a> <ul id="toc-Exponential_time-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Factorial_time" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Factorial_time"> <div class="vector-toc-text"> <span class="vector-toc-numb">14</span> <span>Factorial time</span> </div> </a> <ul id="toc-Factorial_time-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Double_exponential_time" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Double_exponential_time"> <div class="vector-toc-text"> <span class="vector-toc-numb">15</span> <span>Double exponential time</span> </div> </a> <ul id="toc-Double_exponential_time-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">16</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">17</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Time complexity</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 29 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-29" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">29 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%AA%D8%B9%D9%82%D9%8A%D8%AF_%D8%A7%D9%84%D9%88%D9%82%D8%AA" title="تعقيد الوقت – Arabic" lang="ar" hreflang="ar" data-title="تعقيد الوقت" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-zh-min-nan mw-list-item"><a href="https://zh-min-nan.wikipedia.org/wiki/S%C3%AE-kan_ho%CC%8Dk-cha%CC%8Dp-s%C3%A8ng" title="Sî-kan ho̍k-cha̍p-sèng – Minnan" lang="nan" hreflang="nan" data-title="Sî-kan ho̍k-cha̍p-sèng" data-language-autonym="閩南語 / Bân-lâm-gú" data-language-local-name="Minnan" class="interlanguage-link-target"><span>閩南語 / Bân-lâm-gú</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/%D0%92%D1%80%D0%B5%D0%BC%D0%B5%D0%B2%D0%B0_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82" title="Времева сложност – Bulgarian" lang="bg" hreflang="bg" data-title="Времева сложност" data-language-autonym="Български" data-language-local-name="Bulgarian" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Complexitat_temporal" title="Complexitat temporal – Catalan" lang="ca" hreflang="ca" data-title="Complexitat temporal" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Asymptotick%C3%A1_slo%C5%BEitost" title="Asymptotická složitost – Czech" lang="cs" hreflang="cs" data-title="Asymptotická složitost" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Tidskompleksitet" title="Tidskompleksitet – Danish" lang="da" hreflang="da" data-title="Tidskompleksitet" data-language-autonym="Dansk" data-language-local-name="Danish" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Zeitkomplexit%C3%A4t" title="Zeitkomplexität – German" lang="de" hreflang="de" data-title="Zeitkomplexität" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Complejidad_temporal" title="Complejidad temporal – Spanish" lang="es" hreflang="es" data-title="Complejidad temporal" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%B2%D9%85%D8%A7%D9%86_%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C_%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85" title="زمان اجرای الگوریتم – Persian" lang="fa" hreflang="fa" data-title="زمان اجرای الگوریتم" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Complexit%C3%A9_en_temps" title="Complexité en temps – French" lang="fr" hreflang="fr" data-title="Complexité en temps" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EC%8B%9C%EA%B0%84_%EB%B3%B5%EC%9E%A1%EB%8F%84" title="시간 복잡도 – Korean" lang="ko" hreflang="ko" data-title="시간 복잡도" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-hi mw-list-item"><a href="https://hi.wikipedia.org/wiki/%E0%A4%B8%E0%A4%AE%E0%A4%AF_%E0%A4%9C%E0%A4%9F%E0%A4%BF%E0%A4%B2%E0%A4%A4%E0%A4%BE" title="समय जटिलता – Hindi" lang="hi" hreflang="hi" data-title="समय जटिलता" data-language-autonym="हिन्दी" data-language-local-name="Hindi" class="interlanguage-link-target"><span>हिन्दी</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Kompleksitas_waktu" title="Kompleksitas waktu – Indonesian" lang="id" hreflang="id" data-title="Kompleksitas waktu" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Complessit%C3%A0_temporale" title="Complessità temporale – Italian" lang="it" hreflang="it" data-title="Complessità temporale" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%A1%D7%99%D7%91%D7%95%D7%9B%D7%99%D7%95%D7%AA_%D7%96%D7%9E%D7%9F" title="סיבוכיות זמן – Hebrew" lang="he" hreflang="he" data-title="סיבוכיות זמן" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-ml mw-list-item"><a href="https://ml.wikipedia.org/wiki/%E0%B4%B8%E0%B4%AE%E0%B4%AF_%E0%B4%B8%E0%B4%99%E0%B5%8D%E0%B4%95%E0%B5%80%E0%B5%BC%E0%B4%A3%E0%B5%8D%E0%B4%A3%E0%B4%A4_(%E0%B4%95%E0%B4%AE%E0%B5%8D%E0%B4%AA%E0%B5%8D%E0%B4%AF%E0%B5%82%E0%B4%9F%E0%B5%8D%E0%B4%9F%E0%B5%BC_%E0%B4%B6%E0%B4%BE%E0%B4%B8%E0%B5%8D%E0%B4%A4%E0%B5%8D%E0%B4%B0%E0%B4%82)" title="സമയ സങ്കീർണ്ണത (കമ്പ്യൂട്ടർ ശാസ്ത്രം) – Malayalam" lang="ml" hreflang="ml" data-title="സമയ സങ്കീർണ്ണത (കമ്പ്യൂട്ടർ ശാസ്ത്രം)" data-language-autonym="മലയാളം" data-language-local-name="Malayalam" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-mn mw-list-item"><a href="https://mn.wikipedia.org/wiki/%D0%A6%D0%B0%D0%B3%D0%B8%D0%B9%D0%BD_%D0%BD%D0%B0%D1%80%D0%B8%D0%B9%D0%BD_%D1%82%D3%A9%D0%B2%D3%A9%D0%B3%D1%82%D1%8D%D0%B9_%D0%B1%D0%B0%D0%B9%D0%B4%D0%B0%D0%BB" title="Цагийн нарийн төвөгтэй байдал – Mongolian" lang="mn" hreflang="mn" data-title="Цагийн нарийн төвөгтэй байдал" data-language-autonym="Монгол" data-language-local-name="Mongolian" class="interlanguage-link-target"><span>Монгол</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Tidskompleksitet" title="Tidskompleksitet – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Tidskompleksitet" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Complexidade_temporal" title="Complexidade temporal – Portuguese" lang="pt" hreflang="pt" data-title="Complexidade temporal" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/Complexitate_%C3%AEn_timp" title="Complexitate în timp – Romanian" lang="ro" hreflang="ro" data-title="Complexitate în timp" data-language-autonym="Română" data-language-local-name="Romanian" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%92%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0" title="Временная сложность алгоритма – Russian" lang="ru" hreflang="ru" data-title="Временная сложность алгоритма" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/V%C3%BDpo%C4%8Dtov%C3%A1_zlo%C5%BEitos%C5%A5" title="Výpočtová zložitosť – Slovak" lang="sk" hreflang="sk" data-title="Výpočtová zložitosť" data-language-autonym="Slovenčina" data-language-local-name="Slovak" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%A1%D1%83%D0%B1%D0%B5%D0%BA%D1%81%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%86%D0%B8%D1%98%D0%B0%D0%BB%D0%BD%D0%BE_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5" title="Субекспоненцијално време – Serbian" lang="sr" hreflang="sr" data-title="Субекспоненцијално време" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Aikavaatimus" title="Aikavaatimus – Finnish" lang="fi" hreflang="fi" data-title="Aikavaatimus" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Tidskomplexitet" title="Tidskomplexitet – Swedish" lang="sv" hreflang="sv" data-title="Tidskomplexitet" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Zaman_karma%C5%9F%C4%B1kl%C4%B1%C4%9F%C4%B1" title="Zaman karmaşıklığı – Turkish" lang="tr" hreflang="tr" data-title="Zaman karmaşıklığı" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%A7%D0%B0%D1%81%D0%BE%D0%B2%D0%B0_%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%BD%D1%96%D1%81%D1%82%D1%8C" title="Часова складність – Ukrainian" lang="uk" hreflang="uk" data-title="Часова складність" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E6%99%82%E9%96%93%E8%A4%87%E9%9B%9C%E5%BA%A6" title="時間複雜度 – Cantonese" lang="yue" hreflang="yue" data-title="時間複雜度" data-language-autonym="粵語" data-language-local-name="Cantonese" class="interlanguage-link-target"><span>粵語</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E6%97%B6%E9%97%B4%E5%A4%8D%E6%9D%82%E5%BA%A6" title="时间复杂度 – Chinese" lang="zh" hreflang="zh" data-title="时间复杂度" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q2393193#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Time_complexity" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Time_complexity" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Time_complexity"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Time_complexity&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Time_complexity&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Time_complexity"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Time_complexity&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Time_complexity&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Time_complexity" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Time_complexity" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Time_complexity&amp;oldid=1258396892" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Time_complexity&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Time_complexity&amp;id=1258396892&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FTime_complexity%23Superpolynomial_time"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FTime_complexity%23Superpolynomial_time"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Time_complexity&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Time_complexity&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q2393193" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"><span class="mw-redirectedfrom">(Redirected from <a href="/w/index.php?title=Superpolynomial&amp;redirect=no" class="mw-redirect" title="Superpolynomial">Superpolynomial</a>)</span></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Estimate of time taken for running an algorithm</div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">"Running time" redirects here. Not to be confused with <a href="/wiki/Running_Time_(film)" title="Running Time (film)">Running Time (film)</a>.</div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Comparison_computational_complexity.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Comparison_computational_complexity.svg/220px-Comparison_computational_complexity.svg.png" decoding="async" width="220" height="220" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Comparison_computational_complexity.svg/330px-Comparison_computational_complexity.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Comparison_computational_complexity.svg/440px-Comparison_computational_complexity.svg.png 2x" data-file-width="512" data-file-height="512" /></a><figcaption>Graphs of functions commonly used in the <a href="/wiki/Analysis_of_algorithms" title="Analysis of algorithms">analysis of algorithms</a>, showing the number of operations <i>N</i> as the result of input size <i>n</i> for each function</figcaption></figure> <p>In <a href="/wiki/Theoretical_computer_science" title="Theoretical computer science">theoretical computer science</a>, the <b>time complexity</b> is the <a href="/wiki/Computational_complexity" title="Computational complexity">computational complexity</a> that describes the amount of computer time it takes to run an <a href="/wiki/Algorithm" title="Algorithm">algorithm</a>. Time complexity is commonly estimated by counting the number of elementary operations performed by the algorithm, supposing that each elementary operation takes a fixed amount of time to perform. Thus, the amount of time taken and the number of elementary operations performed by the algorithm are taken to be related by a <a href="/wiki/Constant_factor" class="mw-redirect" title="Constant factor">constant factor</a>. </p><p>Since an algorithm's running time may vary among different inputs of the same size, one commonly considers the <a href="/wiki/Worst-case_complexity" title="Worst-case complexity">worst-case time complexity</a>, which is the maximum amount of time required for inputs of a given size. Less common, and usually specified explicitly, is the <a href="/wiki/Average-case_complexity" title="Average-case complexity">average-case complexity</a>, which is the average of the time taken on inputs of a given size (this makes sense because there are only a finite number of possible inputs of a given size). In both cases, the time complexity is generally expressed as a <a href="/wiki/Function_(mathematics)" title="Function (mathematics)">function</a> of the size of the input.<sup id="cite_ref-Sipser_1-0" class="reference"><a href="#cite_note-Sipser-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup><sup class="reference nowrap"><span title="Page / location: 226">&#58;&#8202;226&#8202;</span></sup> Since this function is generally difficult to compute exactly, and the running time for small inputs is usually not consequential, one commonly focuses on the behavior of the complexity when the input size increases—that is, the <a href="/wiki/Asymptotic_analysis" title="Asymptotic analysis">asymptotic behavior</a> of the complexity. Therefore, the time complexity is commonly expressed using <a href="/wiki/Big_O_notation" title="Big O notation">big O notation</a>, typically <span class="nowrap"><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/34109fe397fdcff370079185bfdb65826cb5565a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.977ex; height:2.843ex;" alt="{\displaystyle O(n)}"></span>,</span> <span class="nowrap"><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9d2320768fb54880ca4356e61f60eb02a3f9d9f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.118ex; height:2.843ex;" alt="{\displaystyle O(n\log n)}"></span>,</span> <span class="nowrap"><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n^{\alpha })}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>&#x03B1;<!-- α --></mi> </mrow> </msup> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n^{\alpha })}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/cec66a4a63247dd112a6ec9dd8eae41909e6b300" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:6.261ex; height:2.843ex;" alt="{\displaystyle O(n^{\alpha })}"></span>,</span> <span class="nowrap"><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(2^{n})}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msup> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(2^{n})}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d4b1a4ff0bc4f81ebf79f28260c6fb54ee08ff8d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:5.964ex; height:2.843ex;" alt="{\displaystyle O(2^{n})}"></span>,</span> etc., where <span class="texhtml mvar" style="font-style:italic;">n</span> is the size in units of <a href="/wiki/Bit" title="Bit">bits</a> needed to represent the input. </p><p>Algorithmic complexities are classified according to the type of function appearing in the big O notation. For example, an algorithm with time complexity <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/34109fe397fdcff370079185bfdb65826cb5565a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.977ex; height:2.843ex;" alt="{\displaystyle O(n)}"></span> is a <i>linear time algorithm</i> and an algorithm with time complexity <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n^{\alpha })}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>&#x03B1;<!-- α --></mi> </mrow> </msup> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n^{\alpha })}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/cec66a4a63247dd112a6ec9dd8eae41909e6b300" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:6.261ex; height:2.843ex;" alt="{\displaystyle O(n^{\alpha })}"></span> for some constant <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \alpha &gt;0}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>&#x03B1;<!-- α --></mi> <mo>&gt;</mo> <mn>0</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \alpha &gt;0}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/edd4f784b6e8bb68fa774213ceacbab2d97825dc" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.749ex; height:2.176ex;" alt="{\displaystyle \alpha &gt;0}"></span> is a <i>polynomial time algorithm</i>. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Table_of_common_time_complexities">Table of common time complexities</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=1" title="Edit section: Table of common time complexities"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Further information: <a href="/wiki/Computational_complexity_of_mathematical_operations" title="Computational complexity of mathematical operations">Computational complexity of mathematical operations</a></div> <p>The following table summarizes some classes of commonly encountered time complexities. In the table, <span class="nowrap">poly(<i>x</i>) = <i>x</i><sup><i>O</i>(1)</sup></span>, i.e., polynomial in&#160;<i>x</i>. </p> <table class="wikitable sortable"> <tbody><tr> <th>Name</th> <th><a href="/wiki/Complexity_class" title="Complexity class">Complexity class</a></th> <th>Time complexity <span class="nowrap">(<span class="texhtml"><i>O</i>(<i>n</i>)</span>)</span></th> <th>Examples of running times</th> <th>Example algorithms </th></tr> <tr> <td>constant time</td> <td></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(1)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mn>1</mn> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(1)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e66384bc40452c5452f33563fe0e27e803b0cc21" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.745ex; height:2.843ex;" alt="{\displaystyle O(1)}"></span></td> <td>10</td> <td>Finding the median value in a sorted <a href="/wiki/Array_data_structure" class="mw-redirect" title="Array data structure">array</a> of numbers. Calculating <span class="texhtml">(−1)<sup><i>n</i></sup></span>. </td></tr> <tr> <td><a href="/wiki/Inverse_Ackermann_function" class="mw-redirect" title="Inverse Ackermann function">inverse Ackermann</a> time</td> <td></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O{\bigl (}\alpha (n){\bigr )}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-OPEN"> <mo maxsize="1.2em" minsize="1.2em">(</mo> </mrow> </mrow> <mi>&#x03B1;<!-- α --></mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-CLOSE"> <mo maxsize="1.2em" minsize="1.2em">)</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O{\bigl (}\alpha (n){\bigr )}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/6325c00a7a6fdf5b3b05022c56d09054db68e156" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:8.595ex; height:3.176ex;" alt="{\displaystyle O{\bigl (}\alpha (n){\bigr )}}"></span></td> <td></td> <td><a href="/wiki/Amortized_time" class="mw-redirect" title="Amortized time">Amortized time</a> per operation using a <a href="/wiki/Disjoint_set_data_structure" class="mw-redirect" title="Disjoint set data structure">disjoint set</a> </td></tr> <tr> <td><a href="/wiki/Iterated_logarithm" title="Iterated logarithm">iterated logarithmic</a> time</td> <td></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(\log ^{*}n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <msup> <mi>log</mi> <mrow class="MJX-TeXAtom-ORD"> <mo>&#x2217;<!-- ∗ --></mo> </mrow> </msup> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(\log ^{*}n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ba846ca61ce56540d44c487534367163945ad17d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:9.39ex; height:2.843ex;" alt="{\displaystyle O(\log ^{*}n)}"></span></td> <td></td> <td><a href="/wiki/Cole-Vishkin_algorithm" class="mw-redirect" title="Cole-Vishkin algorithm">Distributed coloring of cycles</a> </td></tr> <tr> <td>log-logarithmic</td> <td></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(\log \log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(\log \log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a9f3ded7e013a35c8039ff3276bee6e183d7f1a7" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:11.695ex; height:2.843ex;" alt="{\displaystyle O(\log \log n)}"></span></td> <td></td> <td>Amortized time per operation using a bounded <a href="/wiki/Priority_queue" title="Priority queue">priority queue</a><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> </td></tr> <tr> <td>logarithmic time</td> <td><a href="/wiki/DLOGTIME" title="DLOGTIME">DLOGTIME</a></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/aae0f22048ba6b7c05dbae17b056bfa16e21807d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.336ex; height:2.843ex;" alt="{\displaystyle O(\log n)}"></span></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \log n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \log n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/317ab5292da7c7935aec01a570461fe0613b21d5" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:4.754ex; height:2.509ex;" alt="{\displaystyle \log n}"></span>, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \log(n^{2})}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mo stretchy="false">(</mo> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \log(n^{2})}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a8bbd9e54f53c3999490142142fc6282e21eaf42" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:7.23ex; height:3.176ex;" alt="{\displaystyle \log(n^{2})}"></span></td> <td><a href="/wiki/Binary_search" title="Binary search">Binary search</a> </td></tr> <tr> <td>polylogarithmic time</td> <td></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\text{poly}}(\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>poly</mtext> </mrow> <mo stretchy="false">(</mo> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{poly}}(\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/929c4038ec1df1559f60954467b18e80ca9ff362" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.892ex; height:2.843ex;" alt="{\displaystyle {\text{poly}}(\log n)}"></span></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (\log n)^{2}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo stretchy="false">(</mo> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <msup> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle (\log n)^{2}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d5e8b416ed664f6e00aae39e3d275f82839adea0" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:7.617ex; height:3.176ex;" alt="{\displaystyle (\log n)^{2}}"></span></td> <td> </td></tr> <tr> <td>fractional power</td> <td></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n^{c})}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>c</mi> </mrow> </msup> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n^{c})}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/949acd060374f98c6dc5f76ad962c7fe2d6636d4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:5.922ex; height:2.843ex;" alt="{\displaystyle O(n^{c})}"></span> where <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 0&lt;c&lt;1}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mn>0</mn> <mo>&lt;</mo> <mi>c</mi> <mo>&lt;</mo> <mn>1</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 0&lt;c&lt;1}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7c2ef66b35dc03fb20aa2da7cf53cdaaaac18ad0" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:9.529ex; height:2.176ex;" alt="{\displaystyle 0&lt;c&lt;1}"></span></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n^{\frac {1}{2}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n^{\frac {1}{2}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/cde54d7624bc2445a98cb673278df108b48cc786" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.13ex; height:3.509ex;" alt="{\displaystyle n^{\frac {1}{2}}}"></span>, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n^{\frac {2}{3}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mn>2</mn> <mn>3</mn> </mfrac> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n^{\frac {2}{3}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e6da2424ef7834dd547c2aac35892595cd112846" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.13ex; height:3.509ex;" alt="{\displaystyle n^{\frac {2}{3}}}"></span></td> <td><a href="/wiki/Range_searching" title="Range searching">Range searching</a> in a <a href="/wiki/K-d_tree" title="K-d tree"><i>k</i>-d tree</a> </td></tr> <tr> <td>linear time</td> <td></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/34109fe397fdcff370079185bfdb65826cb5565a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.977ex; height:2.843ex;" alt="{\displaystyle O(n)}"></span></td> <td><span class="texhtml mvar" style="font-style:italic;">n</span>, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2n+5}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mn>2</mn> <mi>n</mi> <mo>+</mo> <mn>5</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2n+5}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/988be5c38cac9e34f9d6a9b180f26193ece9f41e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:6.56ex; height:2.343ex;" alt="{\displaystyle 2n+5}"></span></td> <td>Finding the smallest or largest item in an unsorted <a href="/wiki/Array_data_structure" class="mw-redirect" title="Array data structure">array</a>. <a href="/wiki/Kadane%27s_algorithm" class="mw-redirect" title="Kadane&#39;s algorithm">Kadane's algorithm</a>. <a href="/wiki/Linear_search" title="Linear search">Linear search</a>. </td></tr> <tr> <td>"n log-star n" time</td> <td></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n\log ^{*}n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <msup> <mi>log</mi> <mrow class="MJX-TeXAtom-ORD"> <mo>&#x2217;<!-- ∗ --></mo> </mrow> </msup> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n\log ^{*}n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9c6a679f4e6f08c50bfbdf85386ff72f320fc384" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:11.172ex; height:2.843ex;" alt="{\displaystyle O(n\log ^{*}n)}"></span></td> <td></td> <td><a href="/wiki/Raimund_Seidel" title="Raimund Seidel">Seidel</a>'s <a href="/wiki/Polygon_triangulation" title="Polygon triangulation">polygon triangulation</a> algorithm. </td></tr> <tr> <td>linearithmic time</td> <td></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9d2320768fb54880ca4356e61f60eb02a3f9d9f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.118ex; height:2.843ex;" alt="{\displaystyle O(n\log n)}"></span></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n\log n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n\log n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/560dfdce0353a330e03e4b3e0b7ca6e484bb40fb" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:6.535ex; height:2.509ex;" alt="{\displaystyle n\log n}"></span>, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \log n!}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo>!</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \log n!}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/331273b9c429c44271590e75da654b7b60c3194c" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:5.4ex; height:2.509ex;" alt="{\displaystyle \log n!}"></span></td> <td>Fastest possible <a href="/wiki/Comparison_sort" title="Comparison sort">comparison sort</a>. <a href="/wiki/Fast_Fourier_transform" title="Fast Fourier transform">Fast Fourier transform</a>. </td></tr> <tr> <td>quasilinear time</td> <td></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n{\text{poly}}(\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mtext>poly</mtext> </mrow> <mo stretchy="false">(</mo> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n{\text{poly}}(\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/01736a7413079f2b2d05d9339136baf7e767a464" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:12.287ex; height:2.843ex;" alt="{\displaystyle n{\text{poly}}(\log n)}"></span></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n\log ^{2}n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>n</mi> <msup> <mi>log</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n\log ^{2}n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/8dcc3d3ab4d647731efd75119a13e8febd1a7e44" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:7.59ex; height:3.009ex;" alt="{\displaystyle n\log ^{2}n}"></span></td> <td><a href="/wiki/Polynomial_evaluation#Multipoint_evaluation" title="Polynomial evaluation">Multipoint polynomial evaluation</a> </td></tr> <tr> <td>quadratic time</td> <td></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n^{2})}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n^{2})}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/6cd9594a16cb898b8f2a2dff9227a385ec183392" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:6.032ex; height:3.176ex;" alt="{\displaystyle O(n^{2})}"></span></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n^{2}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n^{2}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ac9810bbdafe4a6a8061338db0f74e25b7952620" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.449ex; height:2.676ex;" alt="{\displaystyle n^{2}}"></span></td> <td><a href="/wiki/Bubble_sort" title="Bubble sort">Bubble sort</a>. <a href="/wiki/Insertion_sort" title="Insertion sort">Insertion sort</a>. <a href="/wiki/Convolution_theorem" title="Convolution theorem">Direct convolution</a> </td></tr> <tr> <td>cubic time</td> <td></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n^{3})}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </msup> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n^{3})}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/6b04f5c5cfea38f43406d9442387ad28555e2609" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:6.032ex; height:3.176ex;" alt="{\displaystyle O(n^{3})}"></span></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n^{3}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n^{3}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/3e9d1a52e455a7a5272a345b2697e35f1579b681" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.449ex; height:2.676ex;" alt="{\displaystyle n^{3}}"></span></td> <td>Naive multiplication of two <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n\times n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>n</mi> <mo>&#x00D7;<!-- × --></mo> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n\times n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/59d2b4cb72e304526cf5b5887147729ea259da78" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.63ex; height:1.676ex;" alt="{\displaystyle n\times n}"></span> matrices. Calculating <a href="/wiki/Partial_correlation" title="Partial correlation">partial correlation</a>. </td></tr> <tr> <td>polynomial time</td> <td><a href="/wiki/P_(complexity)" title="P (complexity)">P</a></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{O(\log n)}={\text{poly}}(n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> </msup> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>poly</mtext> </mrow> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{O(\log n)}={\text{poly}}(n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/1c6527f1fa349644568d2f1fecd79745b5328792" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:18.034ex; height:3.343ex;" alt="{\displaystyle 2^{O(\log n)}={\text{poly}}(n)}"></span></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n^{2}+n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>+</mo> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n^{2}+n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/bc5a79f894693cebbe2030d2e3daa35a7e5cd9cf" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:6.684ex; height:2.843ex;" alt="{\displaystyle n^{2}+n}"></span>, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n^{10}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>10</mn> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n^{10}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/df654a91adfed0cbf842309de83715d2eb41ce0f" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.271ex; height:2.676ex;" alt="{\displaystyle n^{10}}"></span></td> <td><a href="/wiki/Karmarkar%27s_algorithm" title="Karmarkar&#39;s algorithm">Karmarkar's algorithm</a> for <a href="/wiki/Linear_programming" title="Linear programming">linear programming</a>. <a href="/wiki/AKS_primality_test" title="AKS primality test">AKS primality test</a><sup id="cite_ref-tao-aks_3-0" class="reference"><a href="#cite_note-tao-aks-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> </td></tr> <tr> <td>quasi-polynomial time</td> <td>QP</td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{{\text{poly}}(\log n)}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mtext>poly</mtext> </mrow> <mo stretchy="false">(</mo> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{{\text{poly}}(\log n)}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e7b709eec8bfb0fe5c287cc942ee0d2116505e6b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:9.21ex; height:2.843ex;" alt="{\displaystyle 2^{{\text{poly}}(\log n)}}"></span></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n^{\log \log n}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n^{\log \log n}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/39561b8c2b523322a75d097915035e8fca3811b6" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:7.59ex; height:2.676ex;" alt="{\displaystyle n^{\log \log n}}"></span>, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n^{\log n}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n^{\log n}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/c403a7c02eceb7217e79eafa65de2554c56ebb02" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.102ex; height:2.676ex;" alt="{\displaystyle n^{\log n}}"></span></td> <td>Best-known <span class="texhtml"><i>O</i>(log<sup>2</sup><i>n</i>)</span>-<a href="/wiki/Approximation_algorithm" title="Approximation algorithm">approximation algorithm</a> for the directed <a href="/wiki/Steiner_tree_problem" title="Steiner tree problem">Steiner tree problem</a>, best known <a href="/wiki/Parity_game" title="Parity game">parity game</a> solver,<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup> best known <a href="/wiki/Graph_isomorphism" title="Graph isomorphism">graph isomorphism</a> algorithm </td></tr> <tr> <td>sub-exponential time<br />(first definition)</td> <td>SUBEXP</td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(2^{n^{\epsilon }})}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>&#x03F5;<!-- ϵ --></mi> </mrow> </msup> </mrow> </msup> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(2^{n^{\epsilon }})}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b70ad01996d0c0c0b7274da0854edf54ecebf8f2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:6.67ex; height:3.176ex;" alt="{\displaystyle O(2^{n^{\epsilon }})}"></span> for all <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 0&lt;\epsilon &lt;1}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mn>0</mn> <mo>&lt;</mo> <mi>&#x03F5;<!-- ϵ --></mi> <mo>&lt;</mo> <mn>1</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 0&lt;\epsilon &lt;1}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/36ed9547541a6736e0d2a979e8ae3f4a2c1193c7" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:9.466ex; height:2.176ex;" alt="{\displaystyle 0&lt;\epsilon &lt;1}"></span></td> <td></td> <td>Contains <a href="/wiki/Bounded-error_probabilistic_polynomial" class="mw-redirect" title="Bounded-error probabilistic polynomial">BPP</a> unless EXPTIME (see below) equals <a href="/wiki/Arthur%E2%80%93Merlin_protocol#MA" title="Arthur–Merlin protocol">MA</a>.<sup id="cite_ref-bpp_6-0" class="reference"><a href="#cite_note-bpp-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup> </td></tr> <tr> <td>sub-exponential time<br />(second definition)</td> <td></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{o(n)}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>o</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{o(n)}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/98ee27d18f582367c1c737ddc1c3380a92c93c0b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:4.458ex; height:2.843ex;" alt="{\displaystyle 2^{o(n)}}"></span></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{\sqrt[{3}]{n}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mroot> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </mroot> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{\sqrt[{3}]{n}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/55eec9753eb9a7bc49aa7e4ccac33f66844fe645" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.75ex; height:3.176ex;" alt="{\displaystyle 2^{\sqrt[{3}]{n}}}"></span></td> <td><a href="/wiki/General_number_field_sieve" title="General number field sieve">Best classical algorithm</a> for <a href="/wiki/Integer_factorization" title="Integer factorization">integer factorization</a> <p>formerly-best algorithm for <a href="/wiki/Graph_isomorphism_problem" title="Graph isomorphism problem">graph isomorphism</a> </p> </td></tr> <tr> <td>exponential time<br />(with linear exponent)</td> <td><a href="/wiki/E_(complexity)" title="E (complexity)">E</a></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{O(n)}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{O(n)}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/69a16bd3fa1209d0c3a221916283c9c3a4006d33" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:4.914ex; height:2.843ex;" alt="{\displaystyle 2^{O(n)}}"></span></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 1.1^{n}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>1.1</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 1.1^{n}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/5b4386d7093a0147839223c0f43e5249aeaa6e38" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:4.19ex; height:2.343ex;" alt="{\displaystyle 1.1^{n}}"></span>, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 10^{n}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>10</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 10^{n}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/eeff06a7c9ad9455cb809047cfc97a92c51e1bf7" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.543ex; height:2.343ex;" alt="{\displaystyle 10^{n}}"></span></td> <td>Solving the <a href="/wiki/Traveling_salesman_problem" class="mw-redirect" title="Traveling salesman problem">traveling salesman problem</a> using <a href="/wiki/Dynamic_programming" title="Dynamic programming">dynamic programming</a> </td></tr> <tr> <td>factorial time</td> <td></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n)!=2^{O(n\log n)}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> <mo>!</mo> <mo>=</mo> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n)!=2^{O(n\log n)}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/fb5847f828b512de7a23f83dd2cf50f853dd6ec8" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:17.499ex; height:3.343ex;" alt="{\displaystyle O(n)!=2^{O(n\log n)}}"></span></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n!,n^{n},2^{n\log n}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>n</mi> <mo>!</mo> <mo>,</mo> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msup> <mo>,</mo> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n!,n^{n},2^{n\log n}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f7783be21cc51bae90c5cd232d5ba10f87de5111" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:12.965ex; height:3.009ex;" alt="{\displaystyle n!,n^{n},2^{n\log n}}"></span></td> <td>Solving the <a href="/wiki/Travelling_salesman_problem" title="Travelling salesman problem">traveling salesman problem</a> via <a href="/wiki/Brute-force_search" title="Brute-force search">brute-force search</a> </td></tr> <tr> <td>exponential time</td> <td><a href="/wiki/EXPTIME" title="EXPTIME">EXPTIME</a></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{{\text{poly}}(n)}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mtext>poly</mtext> </mrow> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{{\text{poly}}(n)}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a463533b7d73e0763dd81740925c28d6526b6087" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:6.722ex; height:2.843ex;" alt="{\displaystyle 2^{{\text{poly}}(n)}}"></span></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{n}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{n}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/8226f30650ee4fe4e640c6d2798127e80e9c160d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.381ex; height:2.343ex;" alt="{\displaystyle 2^{n}}"></span>, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{n^{2}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{n^{2}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e736acf2e0b9a29d97b91a1413af326c7175f117" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.212ex; height:3.009ex;" alt="{\displaystyle 2^{n^{2}}}"></span></td> <td>Solving <a href="/wiki/Matrix_chain_multiplication" title="Matrix chain multiplication">matrix chain multiplication</a> via <a href="/wiki/Brute-force_search" title="Brute-force search">brute-force search</a> </td></tr> <tr> <td>double exponential time</td> <td><a href="/wiki/2-EXPTIME" title="2-EXPTIME">2-EXPTIME</a></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{2^{{\text{poly}}(n)}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mtext>poly</mtext> </mrow> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> </msup> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{2^{{\text{poly}}(n)}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/cf75e36850e9ac9124d21e907fb2afb83d631f20" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:6.706ex; height:3.176ex;" alt="{\displaystyle 2^{2^{{\text{poly}}(n)}}}"></span></td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{2^{n}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msup> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{2^{n}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/6bcc9417763ad5d68870290ddaa2ca025ffdaf85" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.182ex; height:2.676ex;" alt="{\displaystyle 2^{2^{n}}}"></span></td> <td>Deciding the truth of a given statement in <a href="/wiki/Presburger_arithmetic" title="Presburger arithmetic">Presburger arithmetic</a> </td></tr></tbody></table> <div class="mw-heading mw-heading2"><h2 id="Constant_time">Constant time</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=2" title="Edit section: Constant time"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">"Constant time" redirects here. For programming technique to avoid a timing attack, see <a href="/wiki/Timing_attack#Avoidance" title="Timing attack">Timing attack §&#160;Avoidance</a>.</div> <p>An algorithm is said to be <b>constant time</b> (also written as <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\textstyle O(1)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mn>1</mn> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\textstyle O(1)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/55a2cd47ca6554fafc21bbef3331256c7e1631ad" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.745ex; height:2.843ex;" alt="{\textstyle O(1)}"></span> time) if the value of <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\textstyle T(n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mi>T</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\textstyle T(n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0b5ecab7146650b99bab59b6e97e228de0a4c61a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.84ex; height:2.843ex;" alt="{\textstyle T(n)}"></span> (the complexity of the algorithm) is bounded by a value that does not depend on the size of the input. For example, accessing any single element in an <a href="/wiki/Array_data_structure" class="mw-redirect" title="Array data structure">array</a> takes constant time as only one <a href="/wiki/Instruction_(computer_science)" class="mw-redirect" title="Instruction (computer science)">operation</a> has to be performed to locate it. In a similar manner, finding the minimal value in an array sorted in ascending order; it is the first element. However, finding the minimal value in an unordered array is not a constant time operation as scanning over each <a href="/wiki/Element_(math)" class="mw-redirect" title="Element (math)">element</a> in the array is needed in order to determine the minimal value. Hence it is a linear time operation, taking <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\textstyle O(n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\textstyle O(n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e73234cd485b947e68d1d78823313db65ef226d7" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.977ex; height:2.843ex;" alt="{\textstyle O(n)}"></span> time. If the number of elements is known in advance and does not change, however, such an algorithm can still be said to run in constant time. </p><p>Despite the name "constant time", the running time does not have to be independent of the problem size, but an upper bound for the running time has to be independent of the problem size. For example, the task "exchange the values of <span class="texhtml mvar" style="font-style:italic;">a</span> and <span class="texhtml mvar" style="font-style:italic;">b</span> if necessary so that <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\textstyle a\leq b}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mi>a</mi> <mo>&#x2264;<!-- ≤ --></mo> <mi>b</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\textstyle a\leq b}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/80bc3e45cdf18025be4beb90f84cf7b58cfcaf46" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:5.326ex; height:2.343ex;" alt="{\textstyle a\leq b}"></span>" is called constant time even though the time may depend on whether or not it is already true that <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\textstyle a\leq b}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mi>a</mi> <mo>&#x2264;<!-- ≤ --></mo> <mi>b</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\textstyle a\leq b}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/80bc3e45cdf18025be4beb90f84cf7b58cfcaf46" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:5.326ex; height:2.343ex;" alt="{\textstyle a\leq b}"></span>. However, there is some constant <span class="texhtml mvar" style="font-style:italic;">t</span> such that the time required is always <i>at most</i> <span class="texhtml mvar" style="font-style:italic;">t</span>. </p> <div class="mw-heading mw-heading2"><h2 id="Logarithmic_time">Logarithmic time</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=3" title="Edit section: Logarithmic time"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Further information: <a href="/wiki/Logarithmic_growth" title="Logarithmic growth">Logarithmic growth</a></div> <p>An algorithm is said to take <b>logarithmic time</b> when <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T(n)=O(\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>T</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mi>O</mi> <mo stretchy="false">(</mo> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle T(n)=O(\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/298f88c665173713636b659403fdabaf115a15e0" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:16.275ex; height:2.843ex;" alt="{\displaystyle T(n)=O(\log n)}"></span>. Since <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \log _{a}n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>log</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>a</mi> </mrow> </msub> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \log _{a}n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/2170c522b640ec2801a86c6c8bc66f9ae10e2c34" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:5.855ex; height:2.676ex;" alt="{\displaystyle \log _{a}n}"></span> and <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \log _{b}n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>log</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>b</mi> </mrow> </msub> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \log _{b}n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/52d9386c0be26d3cd2bc042a9856d4c3dd9a6f2a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:5.691ex; height:2.676ex;" alt="{\displaystyle \log _{b}n}"></span> are related by a <a href="/wiki/Logarithmic_identities#Changing_the_base" class="mw-redirect" title="Logarithmic identities">constant multiplier</a>, and such a <a href="/wiki/Big_O_notation#Multiplication_by_a_constant" title="Big O notation">multiplier is irrelevant</a> to big O classification, the standard usage for logarithmic-time algorithms is <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/aae0f22048ba6b7c05dbae17b056bfa16e21807d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.336ex; height:2.843ex;" alt="{\displaystyle O(\log n)}"></span> regardless of the base of the logarithm appearing in the expression of <span class="texhtml mvar" style="font-style:italic;">T</span>. </p><p>Algorithms taking logarithmic time are commonly found in operations on <a href="/wiki/Binary_tree" title="Binary tree">binary trees</a> or when using <a href="/wiki/Binary_search" title="Binary search">binary search</a>. </p><p>An <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/aae0f22048ba6b7c05dbae17b056bfa16e21807d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.336ex; height:2.843ex;" alt="{\displaystyle O(\log n)}"></span> algorithm is considered highly efficient, as the ratio of the number of operations to the size of the input decreases and tends to zero when <span class="texhtml mvar" style="font-style:italic;">n</span> increases. An algorithm that must access all elements of its input cannot take logarithmic time, as the time taken for reading an input of size <span class="texhtml mvar" style="font-style:italic;">n</span> is of the order of <span class="texhtml mvar" style="font-style:italic;">n</span>. </p><p>An example of logarithmic time is given by dictionary search. Consider a <a href="/wiki/Dictionary_(data_structure)" class="mw-redirect" title="Dictionary (data structure)">dictionary</a> <span class="texhtml"><i>D</i></span> which contains <span class="texhtml mvar" style="font-style:italic;">n</span> entries, sorted in <a href="/wiki/Alphabetical_order" title="Alphabetical order">alphabetical order</a>. We suppose that, for <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 1\leq k\leq n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mn>1</mn> <mo>&#x2264;<!-- ≤ --></mo> <mi>k</mi> <mo>&#x2264;<!-- ≤ --></mo> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 1\leq k\leq n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/78ec00bc2eb99b403bee93def3c12ae87f1e3c3d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:9.965ex; height:2.343ex;" alt="{\displaystyle 1\leq k\leq n}"></span>, one may access the <span class="texhtml mvar" style="font-style:italic;">k</span>th entry of the dictionary in a constant time. Let <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle D(k)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>D</mi> <mo stretchy="false">(</mo> <mi>k</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle D(k)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f9c571e1520ae00f08fd58fb4d577491f592901a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.945ex; height:2.843ex;" alt="{\displaystyle D(k)}"></span> denote this <span class="texhtml mvar" style="font-style:italic;">k</span>th entry. Under these hypotheses, the test to see if a word <span class="texhtml mvar" style="font-style:italic;">w</span> is in the dictionary may be done in logarithmic time: consider <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle D\left(\left\lfloor {\frac {n}{2}}\right\rfloor \right)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>D</mi> <mrow> <mo>(</mo> <mrow> <mo>&#x230A;</mo> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mi>n</mi> <mn>2</mn> </mfrac> </mrow> <mo>&#x230B;</mo> </mrow> <mo>)</mo> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle D\left(\left\lfloor {\frac {n}{2}}\right\rfloor \right)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/2edee9939c593f103c81f5819e73e1de781e6532" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.838ex; width:9.773ex; height:4.843ex;" alt="{\displaystyle D\left(\left\lfloor {\frac {n}{2}}\right\rfloor \right)}"></span>, where <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \lfloor \;\rfloor }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo fence="false" stretchy="false">&#x230A;<!-- ⌊ --></mo> <mspace width="thickmathspace" /> <mo fence="false" stretchy="false">&#x230B;<!-- ⌋ --></mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \lfloor \;\rfloor }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/8d1d99deef81d9e1b3f2757b901042a218e2322a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:2.71ex; height:2.843ex;" alt="{\displaystyle \lfloor \;\rfloor }"></span> denotes the <a href="/wiki/Floor_function" class="mw-redirect" title="Floor function">floor function</a>. If <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle w=D\left(\left\lfloor {\frac {n}{2}}\right\rfloor \right)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>w</mi> <mo>=</mo> <mi>D</mi> <mrow> <mo>(</mo> <mrow> <mo>&#x230A;</mo> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mi>n</mi> <mn>2</mn> </mfrac> </mrow> <mo>&#x230B;</mo> </mrow> <mo>)</mo> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle w=D\left(\left\lfloor {\frac {n}{2}}\right\rfloor \right)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/32c796b219fc3540120b41a96017eda688c08b3e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.838ex; width:14.535ex; height:4.843ex;" alt="{\displaystyle w=D\left(\left\lfloor {\frac {n}{2}}\right\rfloor \right)}"></span>--that is to say, the word <span class="texhtml mvar" style="font-style:italic;">w</span> is exactly in the middle of the dictionary--then we are done. Else, if <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle w&lt;D\left(\left\lfloor {\frac {n}{2}}\right\rfloor \right)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>w</mi> <mo>&lt;</mo> <mi>D</mi> <mrow> <mo>(</mo> <mrow> <mo>&#x230A;</mo> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mi>n</mi> <mn>2</mn> </mfrac> </mrow> <mo>&#x230B;</mo> </mrow> <mo>)</mo> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle w&lt;D\left(\left\lfloor {\frac {n}{2}}\right\rfloor \right)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a3a6bdb8f549a2be360fb7331528fbf3c13bd288" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.838ex; width:14.535ex; height:4.843ex;" alt="{\displaystyle w&lt;D\left(\left\lfloor {\frac {n}{2}}\right\rfloor \right)}"></span>--i.e., if the word <span class="texhtml mvar" style="font-style:italic;">w</span> comes earlier in alphabetical order than the middle word of the whole dictionary--we continue the search in the same way in the left (i.e. earlier) half of the dictionary, and then again repeatedly until the correct word is found. Otherwise, if it comes after the middle word, continue similarly with the right half of the dictionary. This algorithm is similar to the method often used to find an entry in a paper dictionary. As a result, the search space within the dictionary decreases as the algorithm gets closer to the target word. </p> <div class="mw-heading mw-heading2"><h2 id="Polylogarithmic_time">Polylogarithmic time</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=4" title="Edit section: Polylogarithmic time"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>An algorithm is said to run in <b><a href="/wiki/Polylogarithmic_function" title="Polylogarithmic function">polylogarithmic</a> time</b> if its time <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T(n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>T</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle T(n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0be5a46684e1279c27414b285fa995f30407d002" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.84ex; height:2.843ex;" alt="{\displaystyle T(n)}"></span> is <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O{\bigl (}(\log n)^{k}{\bigr )}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-OPEN"> <mo maxsize="1.2em" minsize="1.2em">(</mo> </mrow> </mrow> <mo stretchy="false">(</mo> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <msup> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mi>k</mi> </mrow> </msup> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-CLOSE"> <mo maxsize="1.2em" minsize="1.2em">)</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O{\bigl (}(\log n)^{k}{\bigr )}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/2d550792fa06ee0782c8d0e4b7668ede8f5388b2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:11.555ex; height:3.343ex;" alt="{\displaystyle O{\bigl (}(\log n)^{k}{\bigr )}}"></span> for some constant <span class="texhtml mvar" style="font-style:italic;">k</span>. Another way to write this is <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(\log ^{k}n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <msup> <mi>log</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>k</mi> </mrow> </msup> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(\log ^{k}n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0261ca9897bad579fede1c3b4e2a20717b66fb5c" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:9.425ex; height:3.176ex;" alt="{\displaystyle O(\log ^{k}n)}"></span>. </p><p>For example, <a href="/wiki/Matrix_chain_multiplication" title="Matrix chain multiplication">matrix chain ordering</a> can be solved in polylogarithmic time on a <a href="/wiki/Parallel_random-access_machine" class="mw-redirect" title="Parallel random-access machine">parallel random-access machine</a>,<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup> and <a href="/wiki/Graph_(discrete_mathematics)" title="Graph (discrete mathematics)">a graph</a> can be <a href="/wiki/Planarity_testing" title="Planarity testing">determined to be planar</a> in a <a href="/wiki/Dynamic_connectivity" title="Dynamic connectivity">fully dynamic</a> way in <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(\log ^{3}n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <msup> <mi>log</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </msup> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(\log ^{3}n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a7f77c48b4c4e7b58b75244a9c512673896f6236" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:9.39ex; height:3.176ex;" alt="{\displaystyle O(\log ^{3}n)}"></span> time per insert/delete operation.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Sub-linear_time">Sub-linear time</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=5" title="Edit section: Sub-linear time"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>An algorithm is said to run in <b>sub-linear time</b> (often spelled <b>sublinear time</b>) if <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T(n)=o(n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>T</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mi>o</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle T(n)=o(n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/cded9a3b1a3b5dc08a44b03338c5b54821c90a1b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:12.27ex; height:2.843ex;" alt="{\displaystyle T(n)=o(n)}"></span>. In particular this includes algorithms with the time complexities defined above. </p><p>The specific term <i>sublinear time algorithm</i> commonly refers to randomized algorithms that sample a small fraction of their inputs and process them efficiently to <a href="/wiki/Approximation_algorithm" title="Approximation algorithm">approximately</a> infer properties of the entire instance.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup> This type of sublinear time algorithm is closely related to <a href="/wiki/Property_testing" title="Property testing">property testing</a> and <a href="/wiki/Statistics" title="Statistics">statistics</a>. </p><p>Other settings where algorithms can run in sublinear time include: </p> <ul><li><a href="/wiki/Parallel_algorithm" title="Parallel algorithm">Parallel algorithms</a> that have linear or greater total <a href="/wiki/Analysis_of_parallel_algorithms#Definitions" title="Analysis of parallel algorithms">work</a> (allowing them to read the entire input), but sub-linear <a href="/wiki/Analysis_of_parallel_algorithms#Definitions" title="Analysis of parallel algorithms">depth</a>.</li> <li>Algorithms that have <a href="/wiki/Promise_problem" title="Promise problem">guaranteed assumptions</a> on the input structure. An important example are operations on <a href="/wiki/Data_structures" class="mw-redirect" title="Data structures">data structures</a>, e.g. <a href="/wiki/Binary_search_algorithm" class="mw-redirect" title="Binary search algorithm">binary search</a> in a sorted array.</li> <li>Algorithms that search for local structure in the input, for example finding a local minimum in a 1-D array (can be solved in&#160;<span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(\log(n))}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(\log(n))}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7d3f404959a75e486669fd7618e00046eb00bb24" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:9.758ex; height:2.843ex;" alt="{\displaystyle O(\log(n))}"></span> time using a variant of binary search).&#160; A closely related notion is that of <a href="/w/index.php?title=Local_Computation_Algorithms_(LCA)&amp;action=edit&amp;redlink=1" class="new" title="Local Computation Algorithms (LCA) (page does not exist)">Local Computation Algorithms (LCA)</a> where the algorithm receives a large input and queries to local information about some valid large output.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup></li></ul> <div class="mw-heading mw-heading2"><h2 id="Linear_time">Linear time</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=6" title="Edit section: Linear time"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>An algorithm is said to take <b>linear time</b>, or <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/34109fe397fdcff370079185bfdb65826cb5565a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.977ex; height:2.843ex;" alt="{\displaystyle O(n)}"></span> time, if its time complexity is <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/34109fe397fdcff370079185bfdb65826cb5565a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.977ex; height:2.843ex;" alt="{\displaystyle O(n)}"></span>. Informally, this means that the running time increases at most linearly with the size of the input. More precisely, this means that there is a constant <span class="texhtml mvar" style="font-style:italic;">c</span> such that the running time is at most <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle cn}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>c</mi> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle cn}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7f0390269a433e7f1a987b5968c6229e43cd7a2b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.402ex; height:1.676ex;" alt="{\displaystyle cn}"></span> for every input of size <span class="texhtml mvar" style="font-style:italic;">n</span>. For example, a procedure that adds up all elements of a list requires time proportional to the length of the list, if the adding time is constant, or, at least, bounded by a constant. </p><p>Linear time is the best possible time complexity in situations where the algorithm has to sequentially read its entire input. Therefore, much research has been invested into discovering algorithms exhibiting linear time or, at least, nearly linear time. This research includes both software and hardware methods. There are several hardware technologies which exploit <a href="/wiki/Parallel_computing" title="Parallel computing">parallelism</a> to provide this. An example is <a href="/wiki/Content-addressable_memory" title="Content-addressable memory">content-addressable memory</a>. This concept of linear time is used in string matching algorithms such as the <a href="/wiki/Boyer%E2%80%93Moore_string-search_algorithm" title="Boyer–Moore string-search algorithm">Boyer–Moore string-search algorithm</a> and <a href="/wiki/Ukkonen%27s_algorithm" title="Ukkonen&#39;s algorithm">Ukkonen's algorithm</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Quasilinear_time"><span id="Linearithmic_time"></span> Quasilinear time</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=7" title="Edit section: Quasilinear time"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>An algorithm is said to run in <b>quasilinear time</b> (also referred to as <b>log-linear time</b>) if <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T(n)=O(n\log ^{k}n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>T</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <msup> <mi>log</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>k</mi> </mrow> </msup> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle T(n)=O(n\log ^{k}n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/fb4711e3053ab6bb92b05c83b9e3037f1213784b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:19.145ex; height:3.176ex;" alt="{\displaystyle T(n)=O(n\log ^{k}n)}"></span> for some positive constant <span class="texhtml mvar" style="font-style:italic;">k</span>;<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup> <b>linearithmic time</b> is the case <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k=1}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle k=1}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/6c035ffa69b5bca8bf2d16c3da3aaad79a8bcbfa" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.472ex; height:2.176ex;" alt="{\displaystyle k=1}"></span>.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup> Using <a href="/wiki/Soft_O_notation" class="mw-redirect" title="Soft O notation">soft O notation</a> these algorithms are <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\tilde {O}}(n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi>O</mi> <mo stretchy="false">&#x007E;<!-- ~ --></mo> </mover> </mrow> </mrow> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\tilde {O}}(n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/725007a6715e12268a37cbbc5194302dfb7e69a5" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.977ex; height:3.176ex;" alt="{\displaystyle {\tilde {O}}(n)}"></span>. Quasilinear time algorithms are also <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n^{1+\varepsilon })}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> <mo>+</mo> <mi>&#x03B5;<!-- ε --></mi> </mrow> </msup> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n^{1+\varepsilon })}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/13194779a160ce780eee140bc714e50f6e2b62a9" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.076ex; height:3.176ex;" alt="{\displaystyle O(n^{1+\varepsilon })}"></span> for every constant <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \varepsilon &gt;0}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>&#x03B5;<!-- ε --></mi> <mo>&gt;</mo> <mn>0</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \varepsilon &gt;0}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e04ec3670b50384a3ce48aca42e7cc5131a06b12" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.344ex; height:2.176ex;" alt="{\displaystyle \varepsilon &gt;0}"></span> and thus run faster than any polynomial time algorithm whose time bound includes a term <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n^{c}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>c</mi> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n^{c}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/3a62b39da47c098d4cec1ac794318335b381c436" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.339ex; height:2.343ex;" alt="{\displaystyle n^{c}}"></span> for any <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle c&gt;1}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>c</mi> <mo>&gt;</mo> <mn>1</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle c&gt;1}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/bd1d6b5c226641ad3def8e65631f0eb463d9c67a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.268ex; height:2.176ex;" alt="{\displaystyle c&gt;1}"></span>. </p><p>Algorithms which run in quasilinear time include: </p> <ul><li><a href="/wiki/In-place_merge_sort" class="mw-redirect" title="In-place merge sort">In-place merge sort</a>, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n\log ^{2}n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <msup> <mi>log</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n\log ^{2}n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/48c36489701bc8023db2f8d6bc809b14a7f8dd4e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:11.172ex; height:3.176ex;" alt="{\displaystyle O(n\log ^{2}n)}"></span></li> <li><a href="/wiki/Quicksort" title="Quicksort">Quicksort</a>, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9d2320768fb54880ca4356e61f60eb02a3f9d9f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.118ex; height:2.843ex;" alt="{\displaystyle O(n\log n)}"></span>, in its randomized version, has a running time that is <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9d2320768fb54880ca4356e61f60eb02a3f9d9f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.118ex; height:2.843ex;" alt="{\displaystyle O(n\log n)}"></span> in expectation on the worst-case input. Its non-randomized version has an <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9d2320768fb54880ca4356e61f60eb02a3f9d9f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.118ex; height:2.843ex;" alt="{\displaystyle O(n\log n)}"></span> running time only when considering average case complexity.</li> <li><a href="/wiki/Heapsort" title="Heapsort">Heapsort</a>, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9d2320768fb54880ca4356e61f60eb02a3f9d9f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.118ex; height:2.843ex;" alt="{\displaystyle O(n\log n)}"></span>, <a href="/wiki/Merge_sort" title="Merge sort">merge sort</a>, <a href="/wiki/Introsort" title="Introsort">introsort</a>, binary tree sort, <a href="/wiki/Smoothsort" title="Smoothsort">smoothsort</a>, <a href="/wiki/Patience_sorting" title="Patience sorting">patience sorting</a>, etc. in the worst case</li> <li><a href="/wiki/Fast_Fourier_transform" title="Fast Fourier transform">Fast Fourier transforms</a>, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9d2320768fb54880ca4356e61f60eb02a3f9d9f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.118ex; height:2.843ex;" alt="{\displaystyle O(n\log n)}"></span></li> <li><a href="/wiki/Monge_array" title="Monge array">Monge array</a> calculation, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9d2320768fb54880ca4356e61f60eb02a3f9d9f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.118ex; height:2.843ex;" alt="{\displaystyle O(n\log n)}"></span></li></ul> <p>In many cases, the <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9d2320768fb54880ca4356e61f60eb02a3f9d9f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.118ex; height:2.843ex;" alt="{\displaystyle O(n\log n)}"></span> running time is simply the result of performing a <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Theta (\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi mathvariant="normal">&#x0398;<!-- Θ --></mi> <mo stretchy="false">(</mo> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Theta (\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/65bac5223de9c91eb3e89a032b5c51fd3041dc66" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.371ex; height:2.843ex;" alt="{\displaystyle \Theta (\log n)}"></span> operation <span class="texhtml mvar" style="font-style:italic;">n</span> times (for the notation, see <a href="/wiki/Big_O_notation#Family_of_Bachmann–Landau_notations" title="Big O notation">Big O notation §&#160;Family of Bachmann–Landau notations</a>). For example, <a href="/wiki/Binary_tree_sort" class="mw-redirect" title="Binary tree sort">binary tree sort</a> creates a <a href="/wiki/Binary_tree" title="Binary tree">binary tree</a> by inserting each element of the <span class="texhtml mvar" style="font-style:italic;">n</span>-sized array one by one. Since the insert operation on a <a href="/wiki/Self-balancing_binary_search_tree" title="Self-balancing binary search tree">self-balancing binary search tree</a> takes <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/aae0f22048ba6b7c05dbae17b056bfa16e21807d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.336ex; height:2.843ex;" alt="{\displaystyle O(\log n)}"></span> time, the entire algorithm takes <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9d2320768fb54880ca4356e61f60eb02a3f9d9f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.118ex; height:2.843ex;" alt="{\displaystyle O(n\log n)}"></span> time. </p><p><a href="/wiki/Comparison_sort" title="Comparison sort">Comparison sorts</a> require at least <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Omega (n\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi mathvariant="normal">&#x03A9;<!-- Ω --></mi> <mo stretchy="false">(</mo> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Omega (n\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/00663e988b37b064dbfe30791c3ad477907cc3a4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.023ex; height:2.843ex;" alt="{\displaystyle \Omega (n\log n)}"></span> comparisons in the worst case because <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \log(n!)=\Theta (n\log n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mo stretchy="false">(</mo> <mi>n</mi> <mo>!</mo> <mo stretchy="false">)</mo> <mo>=</mo> <mi mathvariant="normal">&#x0398;<!-- Θ --></mi> <mo stretchy="false">(</mo> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \log(n!)=\Theta (n\log n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/74ad099d9cb60cd65e4234ed770a3923973eea8a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:20.074ex; height:2.843ex;" alt="{\displaystyle \log(n!)=\Theta (n\log n)}"></span>, by <a href="/wiki/Stirling%27s_approximation" title="Stirling&#39;s approximation">Stirling's approximation</a>. They also frequently arise from the <a href="/wiki/Recurrence_relation" title="Recurrence relation">recurrence relation</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\textstyle T(n)=2T\left({\frac {n}{2}}\right)+O(n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mi>T</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mn>2</mn> <mi>T</mi> <mrow> <mo>(</mo> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mi>n</mi> <mn>2</mn> </mfrac> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\textstyle T(n)=2T\left({\frac {n}{2}}\right)+O(n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b8cd0d7755d0bc79417b34d5a5ef603155de31d2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.171ex; width:22.894ex; height:3.343ex;" alt="{\textstyle T(n)=2T\left({\frac {n}{2}}\right)+O(n)}"></span>. </p> <div class="mw-heading mw-heading2"><h2 id="Sub-quadratic_time">Sub-quadratic time</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=8" title="Edit section: Sub-quadratic time"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>An <a href="/wiki/Algorithm" title="Algorithm">algorithm</a> is said to be <b>subquadratic time</b> if <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T(n)=o(n^{2})}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>T</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mi>o</mi> <mo stretchy="false">(</mo> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle T(n)=o(n^{2})}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b5a1fa201043da51e8f5fcadfc9922764da3408b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:13.325ex; height:3.176ex;" alt="{\displaystyle T(n)=o(n^{2})}"></span>. </p><p>For example, simple, comparison-based <a href="/wiki/Sorting_algorithm" title="Sorting algorithm">sorting algorithms</a> are quadratic (e.g. <a href="/wiki/Insertion_sort" title="Insertion sort">insertion sort</a>), but more advanced algorithms can be found that are subquadratic (e.g. <a href="/wiki/Shell_sort" class="mw-redirect" title="Shell sort">shell sort</a>). No general-purpose sorts run in linear time, but the change from quadratic to sub-quadratic is of great practical importance. </p> <div class="mw-heading mw-heading2"><h2 id="Polynomial_time">Polynomial time</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=9" title="Edit section: Polynomial time"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/P_(complexity)" title="P (complexity)">P (complexity)</a></div> <p>An algorithm is said to be of <b>polynomial time</b> if its running time is <a href="/wiki/Upper_bound" class="mw-redirect" title="Upper bound">upper bounded</a> by a <a href="/wiki/Polynomial" title="Polynomial">polynomial</a> expression in the size of the input for the algorithm, that is, <span class="nowrap"><i>T</i>(<i>n</i>) = <i>O</i>(<i>n</i><sup><i>k</i></sup>)</span> for some positive constant <i>k</i>.<sup id="cite_ref-Sipser_1-1" class="reference"><a href="#cite_note-Sipser-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Decision_problem" title="Decision problem">Problems</a> for which a deterministic polynomial-time algorithm exists belong to the <a href="/wiki/Complexity_class" title="Complexity class">complexity class</a> <b><a href="/wiki/P_(complexity)" title="P (complexity)">P</a></b>, which is central in the field of <a href="/wiki/Computational_complexity_theory" title="Computational complexity theory">computational complexity theory</a>. <a href="/wiki/Cobham%27s_thesis" title="Cobham&#39;s thesis">Cobham's thesis</a> states that polynomial time is a synonym for "tractable", "feasible", "efficient", or "fast".<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup> </p><p>Some examples of polynomial-time algorithms: </p> <ul><li>The <a href="/wiki/Selection_sort" title="Selection sort">selection sort</a> sorting algorithm on <i>n</i> integers performs <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle An^{2}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>A</mi> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle An^{2}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/2796e53b94e7bd410c057a6d425c4923ed580156" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:4.192ex; height:2.676ex;" alt="{\displaystyle An^{2}}"></span> operations for some constant <i>A</i>. Thus it runs in time <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n^{2})}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(n^{2})}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/6cd9594a16cb898b8f2a2dff9227a385ec183392" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:6.032ex; height:3.176ex;" alt="{\displaystyle O(n^{2})}"></span> and is a polynomial-time algorithm.</li> <li>All the basic arithmetic operations (addition, subtraction, multiplication, division, and comparison) can be done in polynomial time.</li> <li><a href="/wiki/Maximum_matching" class="mw-redirect" title="Maximum matching">Maximum matchings</a> in <a href="/wiki/Graph_(discrete_mathematics)" title="Graph (discrete mathematics)">graphs</a> can be found in polynomial time. In some contexts, especially in <a href="/wiki/Optimization_(mathematics)" class="mw-redirect" title="Optimization (mathematics)">optimization</a>, one differentiates between <b><a href="/wiki/Strongly-polynomial_time" title="Strongly-polynomial time">strongly polynomial time</a></b> and <b>weakly polynomial time</b> algorithms.</li></ul> <p>These two concepts are only relevant if the inputs to the algorithms consist of integers. </p> <div class="mw-heading mw-heading3"><h3 id="Complexity_classes">Complexity classes</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=10" title="Edit section: Complexity classes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The concept of polynomial time leads to several complexity classes in computational complexity theory. Some important classes defined using polynomial time are the following. </p> <ul><li><b><a href="/wiki/P_(complexity)" title="P (complexity)">P</a></b>: The <a href="/wiki/Complexity_class" title="Complexity class">complexity class</a> of <a href="/wiki/Decision_problem" title="Decision problem">decision problems</a> that can be solved on a <a href="/wiki/Deterministic_Turing_machine" class="mw-redirect" title="Deterministic Turing machine">deterministic Turing machine</a> in polynomial time</li> <li><b><a href="/wiki/NP_(complexity)" title="NP (complexity)">NP</a></b>: The complexity class of decision problems that can be solved on a <a href="/wiki/Non-deterministic_Turing_machine" class="mw-redirect" title="Non-deterministic Turing machine">non-deterministic Turing machine</a> in polynomial time</li> <li><b><a href="/wiki/ZPP_(complexity)" title="ZPP (complexity)">ZPP</a></b>: The complexity class of decision problems that can be solved with zero error on a <a href="/wiki/Probabilistic_Turing_machine" title="Probabilistic Turing machine">probabilistic Turing machine</a> in polynomial time</li> <li><b><a href="/wiki/RP_(complexity)" title="RP (complexity)">RP</a></b>: The complexity class of decision problems that can be solved with 1-sided error on a probabilistic Turing machine in polynomial time.</li> <li><b><a href="/wiki/BPP_(complexity)" title="BPP (complexity)">BPP</a></b>: The complexity class of decision problems that can be solved with 2-sided error on a probabilistic Turing machine in polynomial time</li> <li><b><a href="/wiki/BQP" title="BQP">BQP</a></b>: The complexity class of decision problems that can be solved with 2-sided error on a <a href="/wiki/Quantum_Turing_machine" title="Quantum Turing machine">quantum Turing machine</a> in polynomial time</li></ul> <p>P is the smallest time-complexity class on a deterministic machine which is <a href="/wiki/Robustness_(computer_science)" title="Robustness (computer science)">robust</a> in terms of machine model changes. (For example, a change from a single-tape Turing machine to a multi-tape machine can lead to a quadratic speedup, but any algorithm that runs in polynomial time under one model also does so on the other.) Any given <a href="/wiki/Abstract_machine" title="Abstract machine">abstract machine</a> will have a complexity class corresponding to the problems which can be solved in polynomial time on that machine. </p> <div class="mw-heading mw-heading2"><h2 id="Superpolynomial_time">Superpolynomial time</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=11" title="Edit section: Superpolynomial time"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>An algorithm is defined to take <b>superpolynomial time</b> if <i>T</i>(<i>n</i>) is not bounded above by any polynomial. Using <a href="/wiki/Big_O_notation#Family_of_Bachmann–Landau_notations" title="Big O notation">little omega notation</a>, it is <i>ω</i>(<i>n</i><sup><i>c</i></sup>) time for all constants <i>c</i>, where <i>n</i> is the input parameter, typically the number of bits in the input. </p><p>For example, an algorithm that runs for 2<sup><i>n</i></sup> steps on an input of size <i>n</i> requires superpolynomial time (more specifically, exponential time). </p><p>An algorithm that uses exponential resources is clearly superpolynomial, but some algorithms are only very weakly superpolynomial. For example, the <a href="/wiki/Adleman%E2%80%93Pomerance%E2%80%93Rumely_primality_test" title="Adleman–Pomerance–Rumely primality test">Adleman–Pomerance–Rumely primality test</a> runs for <span class="nowrap"><i>n</i><sup><i>O</i>(log log <i>n</i>)</sup></span> time on <i>n</i>-bit inputs; this grows faster than any polynomial for large enough <i>n</i>, but the input size must become impractically large before it cannot be dominated by a polynomial with small degree. </p><p>An algorithm that requires superpolynomial time lies outside the <a href="/wiki/Complexity_class" title="Complexity class">complexity class</a> <b><a href="/wiki/P_(complexity)" title="P (complexity)">P</a></b>. <a href="/wiki/Cobham%27s_thesis" title="Cobham&#39;s thesis">Cobham's thesis</a> posits that these algorithms are impractical, and in many cases they are. Since the <a href="/wiki/P_versus_NP_problem" title="P versus NP problem">P versus NP problem</a> is unresolved, it is unknown whether <a href="/wiki/NP-complete" class="mw-redirect" title="NP-complete">NP-complete</a> problems require superpolynomial time. </p> <div class="mw-heading mw-heading2"><h2 id="Quasi-polynomial_time">Quasi-polynomial time</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=12" title="Edit section: Quasi-polynomial time"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Quasi-polynomial_time" title="Quasi-polynomial time">Quasi-polynomial time</a></div> <p><b>Quasi-polynomial time</b> algorithms are algorithms whose running time exhibits <a href="/wiki/Quasi-polynomial_growth" title="Quasi-polynomial growth">quasi-polynomial growth</a>, a type of behavior that may be slower than polynomial time but yet is significantly faster than <a href="/wiki/Exponential_time" class="mw-redirect" title="Exponential time">exponential time</a>. The worst case running time of a quasi-polynomial time algorithm is <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{O(\log ^{c}n)}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>O</mi> <mo stretchy="false">(</mo> <msup> <mi>log</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>c</mi> </mrow> </msup> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{O(\log ^{c}n)}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/8bf734f7fea354217d29a8bc1a007044ab520aae" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:8.145ex; height:2.843ex;" alt="{\displaystyle 2^{O(\log ^{c}n)}}"></span> for some fixed <span class="nowrap"><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle c&gt;0}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>c</mi> <mo>&gt;</mo> <mn>0</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle c&gt;0}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/2ba126f626d61752f62eaacaf11761a54de4dc84" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.268ex; height:2.176ex;" alt="{\displaystyle c&gt;0}"></span>.</span> When <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle c=1}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>c</mi> <mo>=</mo> <mn>1</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle c=1}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/3e3467f9e219a5ea38a30da5c3a02c2c23f61a79" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.268ex; height:2.176ex;" alt="{\displaystyle c=1}"></span> this gives polynomial time, and for <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle c&lt;1}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>c</mi> <mo>&lt;</mo> <mn>1</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle c&lt;1}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d8f310fc940b3622eefb2bb82bb2cb2a049a60c2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.268ex; height:2.176ex;" alt="{\displaystyle c&lt;1}"></span> it gives sub-linear time. </p><p>There are some problems for which we know quasi-polynomial time algorithms, but no polynomial time algorithm is known. Such problems arise in approximation algorithms; a famous example is the directed <a href="/wiki/Steiner_tree_problem" title="Steiner tree problem">Steiner tree problem</a>, for which there is a quasi-polynomial time approximation algorithm achieving an approximation factor of <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(\log ^{3}n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>O</mi> <mo stretchy="false">(</mo> <msup> <mi>log</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </msup> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle O(\log ^{3}n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a7f77c48b4c4e7b58b75244a9c512673896f6236" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:9.39ex; height:3.176ex;" alt="{\displaystyle O(\log ^{3}n)}"></span> (<i>n</i> being the number of vertices), but showing the existence of such a polynomial time algorithm is an open problem. </p><p>Other computational problems with quasi-polynomial time solutions but no known polynomial time solution include the <a href="/wiki/Planted_clique" title="Planted clique">planted clique</a> problem in which the goal is to <a href="/wiki/Clique_problem" title="Clique problem">find a large clique</a> in the union of a clique and a <a href="/wiki/Random_graph" title="Random graph">random graph</a>. Although quasi-polynomially solvable, it has been conjectured that the planted clique problem has no polynomial time solution; this planted clique conjecture has been used as a <a href="/wiki/Computational_hardness_assumption" title="Computational hardness assumption">computational hardness assumption</a> to prove the difficulty of several other problems in computational <a href="/wiki/Game_theory" title="Game theory">game theory</a>, <a href="/wiki/Property_testing" title="Property testing">property testing</a>, and <a href="/wiki/Machine_learning" title="Machine learning">machine learning</a>.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup> </p><p>The complexity class <b>QP</b> consists of all problems that have quasi-polynomial time algorithms. It can be defined in terms of <a href="/wiki/DTIME" title="DTIME">DTIME</a> as follows.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup> </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\mbox{QP}}=\bigcup _{c\in \mathbb {N} }{\mbox{DTIME}}\left(2^{\log ^{c}n}\right)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mtext>QP</mtext> </mstyle> </mrow> <mo>=</mo> <munder> <mo>&#x22C3;<!-- ⋃ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi>c</mi> <mo>&#x2208;<!-- ∈ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">N</mi> </mrow> </mrow> </munder> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mtext>DTIME</mtext> </mstyle> </mrow> <mrow> <mo>(</mo> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <msup> <mi>log</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>c</mi> </mrow> </msup> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> </mrow> </msup> <mo>)</mo> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\mbox{QP}}=\bigcup _{c\in \mathbb {N} }{\mbox{DTIME}}\left(2^{\log ^{c}n}\right)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/efc34b706aa344b0652e533568b621f576904089" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.171ex; width:26.653ex; height:6.176ex;" alt="{\displaystyle {\mbox{QP}}=\bigcup _{c\in \mathbb {N} }{\mbox{DTIME}}\left(2^{\log ^{c}n}\right)}"></span></dd></dl> <div class="mw-heading mw-heading3"><h3 id="Relation_to_NP-complete_problems">Relation to NP-complete problems</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=13" title="Edit section: Relation to NP-complete problems"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In complexity theory, the unsolved <a href="/wiki/P_versus_NP" class="mw-redirect" title="P versus NP">P versus NP</a> problem asks if all problems in NP have polynomial-time algorithms. All the best-known algorithms for <a href="/wiki/NP-complete" class="mw-redirect" title="NP-complete">NP-complete</a> problems like 3SAT etc. take exponential time. Indeed, it is conjectured for many natural NP-complete problems that they do not have sub-exponential time algorithms. Here "sub-exponential time" is taken to mean the second definition presented below. (On the other hand, many graph problems represented in the natural way by adjacency matrices are solvable in subexponential time simply because the size of the input is the square of the number of vertices.) This conjecture (for the k-SAT problem) is known as the <a href="/wiki/Exponential_time_hypothesis" title="Exponential time hypothesis">exponential time hypothesis</a>.<sup id="cite_ref-ETH_17-0" class="reference"><a href="#cite_note-ETH-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup> Since it is conjectured that NP-complete problems do not have quasi-polynomial time algorithms, some inapproximability results in the field of <a href="/wiki/Approximation_algorithms" class="mw-redirect" title="Approximation algorithms">approximation algorithms</a> make the assumption that NP-complete problems do not have quasi-polynomial time algorithms. For example, see the known inapproximability results for the <a href="/wiki/Set_cover" class="mw-redirect" title="Set cover">set cover</a> problem. </p> <div class="mw-heading mw-heading2"><h2 id="Sub-exponential_time"><span class="anchor" id="subexponential_time"></span>Sub-exponential time</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=14" title="Edit section: Sub-exponential time"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The term <b><a href="/wiki/Infra-exponential" title="Infra-exponential">sub-exponential</a> time</b> is used to express that the running time of some algorithm may grow faster than any polynomial but is still significantly smaller than an exponential. In this sense, problems that have sub-exponential time algorithms are somewhat more tractable than those that only have exponential algorithms. The precise definition of "sub-exponential" is not generally agreed upon,<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup> however the two most widely used are below. </p> <div class="mw-heading mw-heading3"><h3 id="First_definition">First definition</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=15" title="Edit section: First definition"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A problem is said to be sub-exponential time solvable if it can be solved in running times whose logarithms grow smaller than any given polynomial. More precisely, a problem is in sub-exponential time if for every <span class="nowrap"><i>ε</i> &gt; 0</span> there exists an algorithm which solves the problem in time <i>O</i>(2<sup><i>n</i><sup><i>ε</i></sup></sup>). The set of all such problems is the complexity class <b>SUBEXP</b> which can be defined in terms of <a href="/wiki/DTIME" title="DTIME">DTIME</a> as follows.<sup id="cite_ref-bpp_6-1" class="reference"><a href="#cite_note-bpp-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">&#91;</span>20<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">&#91;</span>21<span class="cite-bracket">&#93;</span></a></sup> </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\text{SUBEXP}}=\bigcap _{\varepsilon &gt;0}{\text{DTIME}}\left(2^{n^{\varepsilon }}\right)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>SUBEXP</mtext> </mrow> <mo>=</mo> <munder> <mo>&#x22C2;<!-- ⋂ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi>&#x03B5;<!-- ε --></mi> <mo>&gt;</mo> <mn>0</mn> </mrow> </munder> <mrow class="MJX-TeXAtom-ORD"> <mtext>DTIME</mtext> </mrow> <mrow> <mo>(</mo> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>&#x03B5;<!-- ε --></mi> </mrow> </msup> </mrow> </msup> <mo>)</mo> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{SUBEXP}}=\bigcap _{\varepsilon &gt;0}{\text{DTIME}}\left(2^{n^{\varepsilon }}\right)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/4250b13f4892da1b3905e37beee2070232690b3f" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; width:30.279ex; height:6.009ex;" alt="{\displaystyle {\text{SUBEXP}}=\bigcap _{\varepsilon &gt;0}{\text{DTIME}}\left(2^{n^{\varepsilon }}\right)}"></span></dd></dl> <p>This notion of sub-exponential is non-uniform in terms of <i>ε</i> in the sense that <i>ε</i> is not part of the input and each ε may have its own algorithm for the problem. </p> <div class="mw-heading mw-heading3"><h3 id="Second_definition">Second definition</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=16" title="Edit section: Second definition"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Some authors define sub-exponential time as running times in <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{o(n)}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>o</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{o(n)}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/98ee27d18f582367c1c737ddc1c3380a92c93c0b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:4.458ex; height:2.843ex;" alt="{\displaystyle 2^{o(n)}}"></span>.<sup id="cite_ref-ETH_17-1" class="reference"><a href="#cite_note-ETH-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">&#91;</span>23<span class="cite-bracket">&#93;</span></a></sup> This definition allows larger running times than the first definition of sub-exponential time. An example of such a sub-exponential time algorithm is the best-known classical algorithm for integer factorization, the <a href="/wiki/General_number_field_sieve" title="General number field sieve">general number field sieve</a>, which runs in time about <span class="nowrap"><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{{\tilde {O}}(n^{1/3})}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi>O</mi> <mo stretchy="false">&#x007E;<!-- ~ --></mo> </mover> </mrow> </mrow> <mo stretchy="false">(</mo> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> <mrow class="MJX-TeXAtom-ORD"> <mo>/</mo> </mrow> <mn>3</mn> </mrow> </msup> <mo stretchy="false">)</mo> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{{\tilde {O}}(n^{1/3})}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/30d319f41f6fb8ab309bf15ad8a64c870cb52021" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:7.08ex; height:3.176ex;" alt="{\displaystyle 2^{{\tilde {O}}(n^{1/3})}}"></span>,</span> where the length of the input is <span class="texhtml mvar" style="font-style:italic;">n</span>. Another example was the <a href="/wiki/Graph_isomorphism_problem" title="Graph isomorphism problem">graph isomorphism problem</a>, which the best known algorithm from 1982 to 2016 solved in <span class="nowrap"><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{O\left({\sqrt {n\log n}}\right)}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>O</mi> <mrow> <mo>(</mo> <mrow class="MJX-TeXAtom-ORD"> <msqrt> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> </msqrt> </mrow> <mo>)</mo> </mrow> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{O\left({\sqrt {n\log n}}\right)}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/421e4106c1d0cbf0b63861e4473c479865a04a07" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:10.646ex; height:3.009ex;" alt="{\displaystyle 2^{O\left({\sqrt {n\log n}}\right)}}"></span>.</span> However, at <a href="/wiki/Symposium_on_Theory_of_Computing" title="Symposium on Theory of Computing">STOC</a> 2016 a quasi-polynomial time algorithm was presented.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">&#91;</span>24<span class="cite-bracket">&#93;</span></a></sup> </p><p>It makes a difference whether the algorithm is allowed to be sub-exponential in the size of the instance, the number of vertices, or the number of edges. In <a href="/wiki/Parameterized_complexity" title="Parameterized complexity">parameterized complexity</a>, this difference is made explicit by considering pairs <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (L,k)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo stretchy="false">(</mo> <mi>L</mi> <mo>,</mo> <mi>k</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle (L,k)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/60912d6e9f29e343e9e77d28e3a19ede88d9d655" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:5.637ex; height:2.843ex;" alt="{\displaystyle (L,k)}"></span> of <a href="/wiki/Decision_problem" title="Decision problem">decision problems</a> and parameters <i>k</i>. <b>SUBEPT</b> is the class of all parameterized problems that run in time sub-exponential in <i>k</i> and polynomial in the input size <i>n</i>:<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">&#91;</span>25<span class="cite-bracket">&#93;</span></a></sup> </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\text{SUBEPT}}={\text{DTIME}}\left(2^{o(k)}\cdot {\text{poly}}(n)\right).}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>SUBEPT</mtext> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>DTIME</mtext> </mrow> <mrow> <mo>(</mo> <mrow> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>o</mi> <mo stretchy="false">(</mo> <mi>k</mi> <mo stretchy="false">)</mo> </mrow> </msup> <mo>&#x22C5;<!-- ⋅ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>poly</mtext> </mrow> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> <mo>)</mo> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{SUBEPT}}={\text{DTIME}}\left(2^{o(k)}\cdot {\text{poly}}(n)\right).}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ff05fe27e749e87ad729180e2538feb7414883e8" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.838ex; width:38.367ex; height:4.843ex;" alt="{\displaystyle {\text{SUBEPT}}={\text{DTIME}}\left(2^{o(k)}\cdot {\text{poly}}(n)\right).}"></span></dd></dl> <p>More precisely, SUBEPT is the class of all parameterized problems <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (L,k)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo stretchy="false">(</mo> <mi>L</mi> <mo>,</mo> <mi>k</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle (L,k)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/60912d6e9f29e343e9e77d28e3a19ede88d9d655" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:5.637ex; height:2.843ex;" alt="{\displaystyle (L,k)}"></span> for which there is a <a href="/wiki/Computable_function" title="Computable function">computable function</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f:\mathbb {N} \to \mathbb {N} }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>f</mi> <mo>:</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">N</mi> </mrow> <mo stretchy="false">&#x2192;<!-- → --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">N</mi> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f:\mathbb {N} \to \mathbb {N} }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/dfa847e103c9e2e5075b1b510f67aad8ceae9349" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:10.186ex; height:2.509ex;" alt="{\displaystyle f:\mathbb {N} \to \mathbb {N} }"></span> with <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f\in o(k)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>f</mi> <mo>&#x2208;<!-- ∈ --></mo> <mi>o</mi> <mo stretchy="false">(</mo> <mi>k</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f\in o(k)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ea31b6df475b663254eeea2570f974d8ce662741" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.267ex; height:2.843ex;" alt="{\displaystyle f\in o(k)}"></span> and an algorithm that decides <i>L</i> in time <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{f(k)}\cdot {\text{poly}}(n)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>f</mi> <mo stretchy="false">(</mo> <mi>k</mi> <mo stretchy="false">)</mo> </mrow> </msup> <mo>&#x22C5;<!-- ⋅ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>poly</mtext> </mrow> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{f(k)}\cdot {\text{poly}}(n)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e830c3a9cf201dda30b0a6126e1cf7b7c66569a7" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:13.647ex; height:3.343ex;" alt="{\displaystyle 2^{f(k)}\cdot {\text{poly}}(n)}"></span>. </p> <div class="mw-heading mw-heading4"><h4 id="Exponential_time_hypothesis">Exponential time hypothesis</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=17" title="Edit section: Exponential time hypothesis"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Exponential_time_hypothesis" title="Exponential time hypothesis">Exponential time hypothesis</a></div> <p>The <b>exponential time hypothesis</b> (<b>ETH</b>) is that <a href="/wiki/3SAT" class="mw-redirect" title="3SAT">3SAT</a>, the satisfiability problem of Boolean formulas in <a href="/wiki/Conjunctive_normal_form" title="Conjunctive normal form">conjunctive normal form</a> with at most three literals per clause and with <i>n</i> variables, cannot be solved in time 2<sup><i>o</i>(<i>n</i>)</sup>. More precisely, the hypothesis is that there is some absolute constant <span class="texhtml"><i>c</i> &gt; 0</span> such that 3SAT cannot be decided in time 2<sup><i>cn</i></sup> by any deterministic Turing machine. With <i>m</i> denoting the number of clauses, ETH is equivalent to the hypothesis that <i>k</i>SAT cannot be solved in time 2<sup><i>o</i>(<i>m</i>)</sup> for any integer <span class="texhtml"><i>k</i> ≥ 3</span>.<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">&#91;</span>26<span class="cite-bracket">&#93;</span></a></sup> The exponential time hypothesis implies <a href="/wiki/P_%E2%89%A0_NP" class="mw-redirect" title="P ≠ NP">P ≠ NP</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Exponential_time">Exponential time</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=18" title="Edit section: Exponential time"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>An algorithm is said to be <b>exponential time</b>, if <i>T</i>(<i>n</i>) is upper bounded by 2<sup>poly(<i>n</i>)</sup>, where poly(<i>n</i>) is some polynomial in <i>n</i>. More formally, an algorithm is exponential time if <i>T</i>(<i>n</i>) is bounded by <i>O</i>(2<sup><i>n</i><sup><i>k</i></sup></sup>) for some constant <i>k</i>. Problems which admit exponential time algorithms on a deterministic Turing machine form the complexity class known as <b><a href="/wiki/EXP" class="mw-redirect" title="EXP">EXP</a></b>. </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\text{EXP}}=\bigcup _{c\in \mathbb {R_{+}} }{\text{DTIME}}\left(2^{n^{c}}\right)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>EXP</mtext> </mrow> <mo>=</mo> <munder> <mo>&#x22C3;<!-- ⋃ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi>c</mi> <mo>&#x2208;<!-- ∈ --></mo> <mrow class="MJX-TeXAtom-ORD"> <msub> <mi mathvariant="double-struck">R</mi> <mrow class="MJX-TeXAtom-ORD"> <mo mathvariant="double-struck">+</mo> </mrow> </msub> </mrow> </mrow> </munder> <mrow class="MJX-TeXAtom-ORD"> <mtext>DTIME</mtext> </mrow> <mrow> <mo>(</mo> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>c</mi> </mrow> </msup> </mrow> </msup> <mo>)</mo> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{EXP}}=\bigcup _{c\in \mathbb {R_{+}} }{\text{DTIME}}\left(2^{n^{c}}\right)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7a45ff8152c4e2a1e24055289239ac8888314d12" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.338ex; width:26.884ex; height:6.343ex;" alt="{\displaystyle {\text{EXP}}=\bigcup _{c\in \mathbb {R_{+}} }{\text{DTIME}}\left(2^{n^{c}}\right)}"></span></dd></dl> <p>Sometimes, exponential time is used to refer to algorithms that have <i>T</i>(<i>n</i>) = 2<sup><i>O</i>(<i>n</i>)</sup>, where the exponent is at most a linear function of <i>n</i>. This gives rise to the complexity class <b><a href="/wiki/E_(complexity)" title="E (complexity)">E</a></b>. </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\text{E}}=\bigcup _{c\in \mathbb {N} }{\text{DTIME}}\left(2^{cn}\right)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>E</mtext> </mrow> <mo>=</mo> <munder> <mo>&#x22C3;<!-- ⋃ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi>c</mi> <mo>&#x2208;<!-- ∈ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">N</mi> </mrow> </mrow> </munder> <mrow class="MJX-TeXAtom-ORD"> <mtext>DTIME</mtext> </mrow> <mrow> <mo>(</mo> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>c</mi> <mi>n</mi> </mrow> </msup> <mo>)</mo> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{E}}=\bigcup _{c\in \mathbb {N} }{\text{DTIME}}\left(2^{cn}\right)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/90a73905632297c23232f3ea47c87409aff8d53e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.171ex; width:21.36ex; height:5.676ex;" alt="{\displaystyle {\text{E}}=\bigcup _{c\in \mathbb {N} }{\text{DTIME}}\left(2^{cn}\right)}"></span></dd></dl> <div class="mw-heading mw-heading2"><h2 id="Factorial_time">Factorial time</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=19" title="Edit section: Factorial time"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>An algorithm is said to be <b>factorial time</b> if <i>T(n)</i> is upper bounded by the <a href="/wiki/Factorial_function" class="mw-redirect" title="Factorial function">factorial function</a> <i>n!</i>. Factorial time is a subset of exponential time (EXP) because <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n!\leq n^{n}=2^{n\log n}=O\left(2^{n^{1+\epsilon }}\right)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>n</mi> <mo>!</mo> <mo>&#x2264;<!-- ≤ --></mo> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msup> <mo>=</mo> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> <mi>log</mi> <mo>&#x2061;<!-- ⁡ --></mo> <mi>n</mi> </mrow> </msup> <mo>=</mo> <mi>O</mi> <mrow> <mo>(</mo> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> <mo>+</mo> <mi>&#x03F5;<!-- ϵ --></mi> </mrow> </msup> </mrow> </msup> <mo>)</mo> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n!\leq n^{n}=2^{n\log n}=O\left(2^{n^{1+\epsilon }}\right)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7d00a62e76b74b7da06d90644aa16abd7b7c95f5" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.838ex; width:29.921ex; height:4.843ex;" alt="{\displaystyle n!\leq n^{n}=2^{n\log n}=O\left(2^{n^{1+\epsilon }}\right)}"></span> for all <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \epsilon &gt;0}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>&#x03F5;<!-- ϵ --></mi> <mo>&gt;</mo> <mn>0</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \epsilon &gt;0}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/568095ad3924314374a5ab68fae17343661f2a71" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.205ex; height:2.176ex;" alt="{\displaystyle \epsilon &gt;0}"></span>. However, it is not a subset of E. </p><p>An example of an algorithm that runs in factorial time is <a href="/wiki/Bogosort" title="Bogosort">bogosort</a>, a notoriously inefficient sorting algorithm based on <a href="/wiki/Trial_and_error" title="Trial and error">trial and error</a>. Bogosort sorts a list of <i>n</i> items by repeatedly <a href="/wiki/Shuffling" title="Shuffling">shuffling</a> the list until it is found to be sorted. In the average case, each pass through the bogosort algorithm will examine one of the <i>n</i>! orderings of the <i>n</i> items. If the items are distinct, only one such ordering is sorted. Bogosort shares patrimony with the <a href="/wiki/Infinite_monkey_theorem" title="Infinite monkey theorem">infinite monkey theorem</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Double_exponential_time">Double exponential time</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=20" title="Edit section: Double exponential time"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>An algorithm is said to be <a href="/wiki/Double_exponential_function" title="Double exponential function">double exponential</a> time if <i>T</i>(<i>n</i>) is upper bounded by 2<sup>2<sup>poly(<i>n</i>)</sup></sup>, where poly(<i>n</i>) is some polynomial in <i>n</i>. Such algorithms belong to the complexity class <a href="/wiki/2-EXPTIME" title="2-EXPTIME">2-EXPTIME</a>. </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\mbox{2-EXPTIME}}=\bigcup _{c\in \mathbb {N} }{\mbox{DTIME}}\left(2^{2^{n^{c}}}\right)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mtext>2-EXPTIME</mtext> </mstyle> </mrow> <mo>=</mo> <munder> <mo>&#x22C3;<!-- ⋃ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi>c</mi> <mo>&#x2208;<!-- ∈ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">N</mi> </mrow> </mrow> </munder> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mtext>DTIME</mtext> </mstyle> </mrow> <mrow> <mo>(</mo> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <msup> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>c</mi> </mrow> </msup> </mrow> </msup> </mrow> </msup> <mo>)</mo> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\mbox{2-EXPTIME}}=\bigcup _{c\in \mathbb {N} }{\mbox{DTIME}}\left(2^{2^{n^{c}}}\right)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0ae0eedc226c47bc0d6bf831c2796d3f4412762b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.171ex; width:34.62ex; height:6.176ex;" alt="{\displaystyle {\mbox{2-EXPTIME}}=\bigcup _{c\in \mathbb {N} }{\mbox{DTIME}}\left(2^{2^{n^{c}}}\right)}"></span></dd></dl> <p>Well-known double exponential time algorithms include: </p> <ul><li>Decision procedures for <a href="/wiki/Presburger_arithmetic" title="Presburger arithmetic">Presburger arithmetic</a></li> <li>Computing a <a href="/wiki/Gr%C3%B6bner_basis" title="Gröbner basis">Gröbner basis</a> (in the worst case<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">&#91;</span>27<span class="cite-bracket">&#93;</span></a></sup>)</li> <li><a href="/wiki/Quantifier_elimination" title="Quantifier elimination">Quantifier elimination</a> on <a href="/wiki/Real_closed_field" title="Real closed field">real closed fields</a> takes at least double exponential time,<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">&#91;</span>28<span class="cite-bracket">&#93;</span></a></sup> and can be done in this time.<sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">&#91;</span>29<span class="cite-bracket">&#93;</span></a></sup></li></ul> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=21" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/L-notation" title="L-notation">L-notation</a></li> <li><a href="/wiki/Space_complexity" title="Space complexity">Space complexity</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Time_complexity&amp;action=edit&amp;section=22" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist reflist-columns references-column-width" style="column-width: 33em;"> <ol class="references"> <li id="cite_note-Sipser-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-Sipser_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Sipser_1-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFSipser2006" class="citation book cs1"><a href="/wiki/Michael_Sipser" title="Michael Sipser">Sipser, Michael</a> (2006). <i>Introduction to the Theory of Computation</i>. Course Technology Inc. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-619-21764-2" title="Special:BookSources/0-619-21764-2"><bdi>0-619-21764-2</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Introduction+to+the+Theory+of+Computation&amp;rft.pub=Course+Technology+Inc&amp;rft.date=2006&amp;rft.isbn=0-619-21764-2&amp;rft.aulast=Sipser&amp;rft.aufirst=Michael&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMehlhornNaher1990" class="citation journal cs1"><a href="/wiki/Kurt_Mehlhorn" title="Kurt Mehlhorn">Mehlhorn, Kurt</a>; Naher, Stefan (1990). "Bounded ordered dictionaries in <span class="texhtml"><i>O</i>(log log <i>N</i>)</span> time and <span class="texhtml"><i>O</i>(<i>n</i>)</span> space". <i><a href="/wiki/Information_Processing_Letters" title="Information Processing Letters">Information Processing Letters</a></i>. <b>35</b> (4): 183–189. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2F0020-0190%2890%2990022-P">10.1016/0020-0190(90)90022-P</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Information+Processing+Letters&amp;rft.atitle=Bounded+ordered+dictionaries+in+%3Cspan+class%3D%22texhtml+%22+%3EO%28log+log+N%29%3C%2Fspan%3E+time+and+%3Cspan+class%3D%22texhtml+%22+%3EO%28n%29%3C%2Fspan%3E+space&amp;rft.volume=35&amp;rft.issue=4&amp;rft.pages=183-189&amp;rft.date=1990&amp;rft_id=info%3Adoi%2F10.1016%2F0020-0190%2890%2990022-P&amp;rft.aulast=Mehlhorn&amp;rft.aufirst=Kurt&amp;rft.au=Naher%2C+Stefan&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-tao-aks-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-tao-aks_3-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFTao2010" class="citation book cs1"><a href="/wiki/Terence_Tao" title="Terence Tao">Tao, Terence</a> (2010). <a rel="nofollow" class="external text" href="https://terrytao.wordpress.com/2009/08/11/the-aks-primality-test/">"1.11 The AKS primality test"</a>. <i>An epsilon of room, II: Pages from year three of a mathematical blog</i>. Graduate Studies in Mathematics. Vol.&#160;117. Providence, RI: American Mathematical Society. pp.&#160;82–86. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1090%2Fgsm%2F117">10.1090/gsm/117</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-8218-5280-4" title="Special:BookSources/978-0-8218-5280-4"><bdi>978-0-8218-5280-4</bdi></a>. <a href="/wiki/MR_(identifier)" class="mw-redirect" title="MR (identifier)">MR</a>&#160;<a rel="nofollow" class="external text" href="https://mathscinet.ams.org/mathscinet-getitem?mr=2780010">2780010</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=1.11+The+AKS+primality+test&amp;rft.btitle=An+epsilon+of+room%2C+II%3A+Pages+from+year+three+of+a+mathematical+blog&amp;rft.place=Providence%2C+RI&amp;rft.series=Graduate+Studies+in+Mathematics&amp;rft.pages=82-86&amp;rft.pub=American+Mathematical+Society&amp;rft.date=2010&amp;rft_id=https%3A%2F%2Fmathscinet.ams.org%2Fmathscinet-getitem%3Fmr%3D2780010%23id-name%3DMR&amp;rft_id=info%3Adoi%2F10.1090%2Fgsm%2F117&amp;rft.isbn=978-0-8218-5280-4&amp;rft.aulast=Tao&amp;rft.aufirst=Terence&amp;rft_id=https%3A%2F%2Fterrytao.wordpress.com%2F2009%2F08%2F11%2Fthe-aks-primality-test%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLenstraPomerance2019" class="citation journal cs1"><a href="/wiki/Hendrik_Lenstra" title="Hendrik Lenstra">Lenstra, H. W. Jr.</a>; <a href="/wiki/Carl_Pomerance" title="Carl Pomerance">Pomerance, Carl</a> (2019). <a rel="nofollow" class="external text" href="https://math.dartmouth.edu/~carlp/aks111216.pdf">"Primality testing with Gaussian periods"</a> <span class="cs1-format">(PDF)</span>. <i><a href="/wiki/Journal_of_the_European_Mathematical_Society" title="Journal of the European Mathematical Society">Journal of the European Mathematical Society</a></i>. <b>21</b> (4): 1229–1269. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.4171%2FJEMS%2F861">10.4171/JEMS/861</a>. <a href="/wiki/Hdl_(identifier)" class="mw-redirect" title="Hdl (identifier)">hdl</a>:<a rel="nofollow" class="external text" href="https://hdl.handle.net/21.11116%2F0000-0005-717D-0">21.11116/0000-0005-717D-0</a>. <a href="/wiki/MR_(identifier)" class="mw-redirect" title="MR (identifier)">MR</a>&#160;<a rel="nofollow" class="external text" href="https://mathscinet.ams.org/mathscinet-getitem?mr=3941463">3941463</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:127807021">127807021</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Journal+of+the+European+Mathematical+Society&amp;rft.atitle=Primality+testing+with+Gaussian+periods&amp;rft.volume=21&amp;rft.issue=4&amp;rft.pages=1229-1269&amp;rft.date=2019&amp;rft_id=info%3Ahdl%2F21.11116%2F0000-0005-717D-0&amp;rft_id=https%3A%2F%2Fmathscinet.ams.org%2Fmathscinet-getitem%3Fmr%3D3941463%23id-name%3DMR&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A127807021%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.4171%2FJEMS%2F861&amp;rft.aulast=Lenstra&amp;rft.aufirst=H.+W.+Jr.&amp;rft.au=Pomerance%2C+Carl&amp;rft_id=https%3A%2F%2Fmath.dartmouth.edu%2F~carlp%2Faks111216.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCalude,_Cristian_S._and_Jain,_Sanjay_and_Khoussainov,_Bakhadyr_and_Li,_Wei_and_Stephan,_Frank2017" class="citation book cs1">Calude, Cristian S. and Jain, Sanjay and Khoussainov, Bakhadyr and Li, Wei and Stephan, Frank (2017). <a rel="nofollow" class="external text" href="https://doi.org/10.1145/3055399.3055409">"Deciding parity games in quasipolynomial time"</a>. <i>Proceedings of the 49th Annual ACM SIGACT Symposium on Theory of Computing</i>. Association for Computing Machinery. pp.&#160;252–263. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F3055399.3055409">10.1145/3055399.3055409</a>. <a href="/wiki/Hdl_(identifier)" class="mw-redirect" title="Hdl (identifier)">hdl</a>:<a rel="nofollow" class="external text" href="https://hdl.handle.net/2292%2F31757">2292/31757</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781450345286" title="Special:BookSources/9781450345286"><bdi>9781450345286</bdi></a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:30338402">30338402</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Deciding+parity+games+in+quasipolynomial+time&amp;rft.btitle=Proceedings+of+the+49th+Annual+ACM+SIGACT+Symposium+on+Theory+of+Computing&amp;rft.pages=252-263&amp;rft.pub=Association+for+Computing+Machinery&amp;rft.date=2017&amp;rft_id=info%3Ahdl%2F2292%2F31757&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A30338402%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1145%2F3055399.3055409&amp;rft.isbn=9781450345286&amp;rft.au=Calude%2C+Cristian+S.+and+Jain%2C+Sanjay+and+Khoussainov%2C+Bakhadyr+and+Li%2C+Wei+and+Stephan%2C+Frank&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.1145%2F3055399.3055409&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span><span class="cs1-maint citation-comment"><code class="cs1-code">{{<a href="/wiki/Template:Cite_book" title="Template:Cite book">cite book</a>}}</code>: CS1 maint: multiple names: authors list (<a href="/wiki/Category:CS1_maint:_multiple_names:_authors_list" title="Category:CS1 maint: multiple names: authors list">link</a>)</span></span> </li> <li id="cite_note-bpp-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-bpp_6-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-bpp_6-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBabaiFortnowNisanWigderson1993" class="citation journal cs1"><a href="/wiki/L%C3%A1szl%C3%B3_Babai" title="László Babai">Babai, László</a>; <a href="/wiki/Lance_Fortnow" title="Lance Fortnow">Fortnow, Lance</a>; <a href="/wiki/Noam_Nisan" title="Noam Nisan">Nisan, N.</a>; <a href="/wiki/Avi_Wigderson" title="Avi Wigderson">Wigderson, Avi</a> (1993). "BPP has subexponential time simulations unless EXPTIME has publishable proofs". <i>Computational Complexity</i>. <b>3</b> (4). Berlin, New York: <a href="/wiki/Springer-Verlag" class="mw-redirect" title="Springer-Verlag">Springer-Verlag</a>: 307–318. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2FBF01275486">10.1007/BF01275486</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:14802332">14802332</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Computational+Complexity&amp;rft.atitle=BPP+has+subexponential+time+simulations+unless+EXPTIME+has+publishable+proofs&amp;rft.volume=3&amp;rft.issue=4&amp;rft.pages=307-318&amp;rft.date=1993&amp;rft_id=info%3Adoi%2F10.1007%2FBF01275486&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A14802332%23id-name%3DS2CID&amp;rft.aulast=Babai&amp;rft.aufirst=L%C3%A1szl%C3%B3&amp;rft.au=Fortnow%2C+Lance&amp;rft.au=Nisan%2C+N.&amp;rft.au=Wigderson%2C+Avi&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBradfordRawlinsShannon1998" class="citation journal cs1">Bradford, Phillip G.; Rawlins, Gregory J. E.; Shannon, Gregory E. (1998). "Efficient matrix chain ordering in polylog time". <i><a href="/wiki/SIAM_Journal_on_Computing" title="SIAM Journal on Computing">SIAM Journal on Computing</a></i>. <b>27</b> (2): 466–490. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1137%2FS0097539794270698">10.1137/S0097539794270698</a>. <a href="/wiki/MR_(identifier)" class="mw-redirect" title="MR (identifier)">MR</a>&#160;<a rel="nofollow" class="external text" href="https://mathscinet.ams.org/mathscinet-getitem?mr=1616556">1616556</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=SIAM+Journal+on+Computing&amp;rft.atitle=Efficient+matrix+chain+ordering+in+polylog+time&amp;rft.volume=27&amp;rft.issue=2&amp;rft.pages=466-490&amp;rft.date=1998&amp;rft_id=info%3Adoi%2F10.1137%2FS0097539794270698&amp;rft_id=https%3A%2F%2Fmathscinet.ams.org%2Fmathscinet-getitem%3Fmr%3D1616556%23id-name%3DMR&amp;rft.aulast=Bradford&amp;rft.aufirst=Phillip+G.&amp;rft.au=Rawlins%2C+Gregory+J.+E.&amp;rft.au=Shannon%2C+Gregory+E.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHolmRotenberg2020" class="citation conference cs1">Holm, Jacob; Rotenberg, Eva (2020). "Fully-dynamic planarity testing in polylogarithmic time". In Makarychev, Konstantin; Makarychev, Yury; Tulsiani, Madhur; Kamath, Gautam; <a href="/wiki/Julia_Chuzhoy" title="Julia Chuzhoy">Chuzhoy, Julia</a> (eds.). <i>Proceedings of the 52nd Annual ACM SIGACT Symposium on Theory of Computing, STOC 2020, Chicago, IL, USA, June 22-26, 2020</i>. Association for Computing Machinery. pp.&#160;167–180. <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1911.03449">1911.03449</a></span>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F3357713.3384249">10.1145/3357713.3384249</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-4503-6979-4" title="Special:BookSources/978-1-4503-6979-4"><bdi>978-1-4503-6979-4</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=conference&amp;rft.atitle=Fully-dynamic+planarity+testing+in+polylogarithmic+time&amp;rft.btitle=Proceedings+of+the+52nd+Annual+ACM+SIGACT+Symposium+on+Theory+of+Computing%2C+STOC+2020%2C+Chicago%2C+IL%2C+USA%2C+June+22-26%2C+2020&amp;rft.pages=167-180&amp;rft.pub=Association+for+Computing+Machinery&amp;rft.date=2020&amp;rft_id=info%3Aarxiv%2F1911.03449&amp;rft_id=info%3Adoi%2F10.1145%2F3357713.3384249&amp;rft.isbn=978-1-4503-6979-4&amp;rft.aulast=Holm&amp;rft.aufirst=Jacob&amp;rft.au=Rotenberg%2C+Eva&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKumarRubinfeld2003" class="citation journal cs1">Kumar, Ravi; <a href="/wiki/Ronitt_Rubinfeld" title="Ronitt Rubinfeld">Rubinfeld, Ronitt</a> (2003). <a rel="nofollow" class="external text" href="http://www.cs.princeton.edu/courses/archive/spr04/cos598B/bib/kumarR-survey.pdf">"Sublinear time algorithms"</a> <span class="cs1-format">(PDF)</span>. <i><a href="/wiki/SIGACT_News" class="mw-redirect" title="SIGACT News">SIGACT News</a></i>. <b>34</b> (4): 57–67. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F954092.954103">10.1145/954092.954103</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:65359">65359</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=SIGACT+News&amp;rft.atitle=Sublinear+time+algorithms&amp;rft.volume=34&amp;rft.issue=4&amp;rft.pages=57-67&amp;rft.date=2003&amp;rft_id=info%3Adoi%2F10.1145%2F954092.954103&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A65359%23id-name%3DS2CID&amp;rft.aulast=Kumar&amp;rft.aufirst=Ravi&amp;rft.au=Rubinfeld%2C+Ronitt&amp;rft_id=http%3A%2F%2Fwww.cs.princeton.edu%2Fcourses%2Farchive%2Fspr04%2Fcos598B%2Fbib%2FkumarR-survey.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRubinfeld2019" class="citation conference cs1"><a href="/wiki/Ronitt_Rubinfeld" title="Ronitt Rubinfeld">Rubinfeld, Ronitt</a> (2019). "Local Computation Algorithms". <i>Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing (PODC)</i>. p.&#160;3. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F3293611.3331587">10.1145/3293611.3331587</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-4503-6217-7" title="Special:BookSources/978-1-4503-6217-7"><bdi>978-1-4503-6217-7</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=conference&amp;rft.atitle=Local+Computation+Algorithms&amp;rft.btitle=Proceedings+of+the+2019+ACM+Symposium+on+Principles+of+Distributed+Computing+%28PODC%29&amp;rft.pages=3&amp;rft.date=2019&amp;rft_id=info%3Adoi%2F10.1145%2F3293611.3331587&amp;rft.isbn=978-1-4503-6217-7&amp;rft.aulast=Rubinfeld&amp;rft.aufirst=Ronitt&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFNaikReganSivakumar1995" class="citation journal cs1">Naik, Ashish V.; Regan, Kenneth W.; Sivakumar, D. (1995). <a rel="nofollow" class="external text" href="http://www.cse.buffalo.edu/~regan/papers/pdf/NRS95.pdf">"On quasilinear-time complexity theory"</a> <span class="cs1-format">(PDF)</span>. <i><a href="/wiki/Theoretical_Computer_Science_(journal)" title="Theoretical Computer Science (journal)">Theoretical Computer Science</a></i>. <b>148</b> (2): 325–349. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1016%2F0304-3975%2895%2900031-Q">10.1016/0304-3975(95)00031-Q</a></span>. <a href="/wiki/MR_(identifier)" class="mw-redirect" title="MR (identifier)">MR</a>&#160;<a rel="nofollow" class="external text" href="https://mathscinet.ams.org/mathscinet-getitem?mr=1355592">1355592</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Theoretical+Computer+Science&amp;rft.atitle=On+quasilinear-time+complexity+theory&amp;rft.volume=148&amp;rft.issue=2&amp;rft.pages=325-349&amp;rft.date=1995&amp;rft_id=info%3Adoi%2F10.1016%2F0304-3975%2895%2900031-Q&amp;rft_id=https%3A%2F%2Fmathscinet.ams.org%2Fmathscinet-getitem%3Fmr%3D1355592%23id-name%3DMR&amp;rft.aulast=Naik&amp;rft.aufirst=Ashish+V.&amp;rft.au=Regan%2C+Kenneth+W.&amp;rft.au=Sivakumar%2C+D.&amp;rft_id=http%3A%2F%2Fwww.cse.buffalo.edu%2F~regan%2Fpapers%2Fpdf%2FNRS95.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSedgewickWayne2011" class="citation book cs1">Sedgewick, Robert; Wayne, Kevin (2011). <a rel="nofollow" class="external text" href="https://algs4.cs.princeton.edu/home/"><i>Algorithms</i></a> (4th&#160;ed.). Pearson Education. p.&#160;186.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Algorithms&amp;rft.pages=186&amp;rft.edition=4th&amp;rft.pub=Pearson+Education&amp;rft.date=2011&amp;rft.aulast=Sedgewick&amp;rft.aufirst=Robert&amp;rft.au=Wayne%2C+Kevin&amp;rft_id=https%3A%2F%2Falgs4.cs.princeton.edu%2Fhome%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPapadimitriou1994" class="citation book cs1"><a href="/wiki/Christos_H._Papadimitriou" class="mw-redirect" title="Christos H. Papadimitriou">Papadimitriou, Christos H.</a> (1994). <i>Computational complexity</i>. Reading, Mass.: Addison-Wesley. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-201-53082-1" title="Special:BookSources/0-201-53082-1"><bdi>0-201-53082-1</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Computational+complexity&amp;rft.place=Reading%2C+Mass.&amp;rft.pub=Addison-Wesley&amp;rft.date=1994&amp;rft.isbn=0-201-53082-1&amp;rft.aulast=Papadimitriou&amp;rft.aufirst=Christos+H.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCobham1965" class="citation book cs1"><a href="/wiki/Alan_Cobham_(mathematician)" title="Alan Cobham (mathematician)">Cobham, Alan</a> (1965). "The intrinsic computational difficulty of functions". <i>Proc. Logic, Methodology, and Philosophy of Science II</i>. North Holland.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=The+intrinsic+computational+difficulty+of+functions&amp;rft.btitle=Proc.+Logic%2C+Methodology%2C+and+Philosophy+of+Science+II&amp;rft.pub=North+Holland&amp;rft.date=1965&amp;rft.aulast=Cobham&amp;rft.aufirst=Alan&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBravermanKun-KoRubinsteinWeinstein2017" class="citation conference cs1"><a href="/wiki/Mark_Braverman_(mathematician)" title="Mark Braverman (mathematician)">Braverman, Mark</a>; Kun-Ko, Young; Rubinstein, Aviad; Weinstein, Omri (2017). "ETH hardness for densest-<span class="texhtml mvar" style="font-style:italic;">k</span>-subgraph with perfect completeness". In Klein, Philip N. (ed.). <i>Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2017, Barcelona, Spain, Hotel Porta Fira, January 16-19</i>. Society for Industrial and Applied Mathematics. pp.&#160;1326–1341. <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1504.08352">1504.08352</a></span>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1137%2F1.9781611974782.86">10.1137/1.9781611974782.86</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-61197-478-2" title="Special:BookSources/978-1-61197-478-2"><bdi>978-1-61197-478-2</bdi></a>. <a href="/wiki/MR_(identifier)" class="mw-redirect" title="MR (identifier)">MR</a>&#160;<a rel="nofollow" class="external text" href="https://mathscinet.ams.org/mathscinet-getitem?mr=3627815">3627815</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=conference&amp;rft.atitle=ETH+hardness+for+densest-%3Cspan+class%3D%22texhtml+mvar%22+style%3D%22font-style%3Aitalic%3B%22%3Ek%3C%2Fspan%3E-subgraph+with+perfect+completeness&amp;rft.btitle=Proceedings+of+the+Twenty-Eighth+Annual+ACM-SIAM+Symposium+on+Discrete+Algorithms%2C+SODA+2017%2C+Barcelona%2C+Spain%2C+Hotel+Porta+Fira%2C+January+16-19&amp;rft.pages=1326-1341&amp;rft.pub=Society+for+Industrial+and+Applied+Mathematics&amp;rft.date=2017&amp;rft_id=info%3Aarxiv%2F1504.08352&amp;rft_id=https%3A%2F%2Fmathscinet.ams.org%2Fmathscinet-getitem%3Fmr%3D3627815%23id-name%3DMR&amp;rft_id=info%3Adoi%2F10.1137%2F1.9781611974782.86&amp;rft.isbn=978-1-61197-478-2&amp;rft.aulast=Braverman&amp;rft.aufirst=Mark&amp;rft.au=Kun-Ko%2C+Young&amp;rft.au=Rubinstein%2C+Aviad&amp;rft.au=Weinstein%2C+Omri&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><i><a href="/wiki/Complexity_Zoo" class="mw-redirect" title="Complexity Zoo">Complexity Zoo</a></i>: <a rel="nofollow" class="external text" href="https://complexityzoo.net/Complexity_Zoo:Q#qp">Class QP: Quasipolynomial-Time</a></span> </li> <li id="cite_note-ETH-17"><span class="mw-cite-backlink">^ <a href="#cite_ref-ETH_17-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-ETH_17-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFImpagliazzoPaturi2001" class="citation journal cs1"><a href="/wiki/Russell_Impagliazzo" title="Russell Impagliazzo">Impagliazzo, Russell</a>; Paturi, Ramamohan (2001). <a rel="nofollow" class="external text" href="https://cseweb.ucsd.edu/~paturi/myPapers/pubs/ImpagliazzoPaturi_2001_jcss.pdf">"On the complexity of <span class="texhtml mvar" style="font-style:italic;">k</span>-SAT"</a> <span class="cs1-format">(PDF)</span>. <i><a href="/wiki/Journal_of_Computer_and_System_Sciences" title="Journal of Computer and System Sciences">Journal of Computer and System Sciences</a></i>. <b>62</b> (2): 367–375. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1006%2Fjcss.2000.1727">10.1006/jcss.2000.1727</a></span>. <a href="/wiki/MR_(identifier)" class="mw-redirect" title="MR (identifier)">MR</a>&#160;<a rel="nofollow" class="external text" href="https://mathscinet.ams.org/mathscinet-getitem?mr=1820597">1820597</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Journal+of+Computer+and+System+Sciences&amp;rft.atitle=On+the+complexity+of+%3Cspan+class%3D%22texhtml+mvar%22+style%3D%22font-style%3Aitalic%3B%22%3Ek%3C%2Fspan%3E-SAT&amp;rft.volume=62&amp;rft.issue=2&amp;rft.pages=367-375&amp;rft.date=2001&amp;rft_id=info%3Adoi%2F10.1006%2Fjcss.2000.1727&amp;rft_id=https%3A%2F%2Fmathscinet.ams.org%2Fmathscinet-getitem%3Fmr%3D1820597%23id-name%3DMR&amp;rft.aulast=Impagliazzo&amp;rft.aufirst=Russell&amp;rft.au=Paturi%2C+Ramamohan&amp;rft_id=https%3A%2F%2Fcseweb.ucsd.edu%2F~paturi%2FmyPapers%2Fpubs%2FImpagliazzoPaturi_2001_jcss.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAaronson,_Scott2009" class="citation web cs1">Aaronson, Scott (5 April 2009). <a rel="nofollow" class="external text" href="http://scottaaronson.com/blog/?p=394">"A not-quite-exponential dilemma"</a>. <i>Shtetl-Optimized</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2 December</span> 2009</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Shtetl-Optimized&amp;rft.atitle=A+not-quite-exponential+dilemma&amp;rft.date=2009-04-05&amp;rft.au=Aaronson%2C+Scott&amp;rft_id=http%3A%2F%2Fscottaaronson.com%2Fblog%2F%3Fp%3D394&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><i><a href="/wiki/Complexity_Zoo" class="mw-redirect" title="Complexity Zoo">Complexity Zoo</a></i>: <a rel="nofollow" class="external text" href="https://complexityzoo.net/Complexity_Zoo:S#subexp">Class SUBEXP: Deterministic Subexponential-Time</a></span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMoser2003" class="citation conference cs1">Moser, P. (2003). "Baire's Categories on Small Complexity Classes". In Andrzej Lingas; Bengt J. Nilsson (eds.). <i>Fundamentals of Computation Theory: 14th International Symposium, FCT 2003, Malmö, Sweden, August 12-15, 2003, Proceedings</i>. <a href="/wiki/Lecture_Notes_in_Computer_Science" title="Lecture Notes in Computer Science">Lecture Notes in Computer Science</a>. Vol.&#160;2751. Berlin, New York: Springer-Verlag. pp.&#160;333–342. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-540-45077-1_31">10.1007/978-3-540-45077-1_31</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-3-540-40543-6" title="Special:BookSources/978-3-540-40543-6"><bdi>978-3-540-40543-6</bdi></a>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0302-9743">0302-9743</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=conference&amp;rft.atitle=Baire%27s+Categories+on+Small+Complexity+Classes&amp;rft.btitle=Fundamentals+of+Computation+Theory%3A+14th+International+Symposium%2C+FCT+2003%2C+Malm%C3%B6%2C+Sweden%2C+August+12-15%2C+2003%2C+Proceedings&amp;rft.place=Berlin%2C+New+York&amp;rft.series=Lecture+Notes+in+Computer+Science&amp;rft.pages=333-342&amp;rft.pub=Springer-Verlag&amp;rft.date=2003&amp;rft.issn=0302-9743&amp;rft_id=info%3Adoi%2F10.1007%2F978-3-540-45077-1_31&amp;rft.isbn=978-3-540-40543-6&amp;rft.aulast=Moser&amp;rft.aufirst=P.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMiltersen2001" class="citation journal cs1">Miltersen, P.B. (2001). "Derandomizing Complexity Classes". <i>Handbook of Randomized Computing</i>. Combinatorial Optimization. <b>9</b>. Kluwer Academic Pub: 843. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-1-4615-0013-1_19">10.1007/978-1-4615-0013-1_19</a> (inactive 1 November 2024). <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-4613-4886-3" title="Special:BookSources/978-1-4613-4886-3"><bdi>978-1-4613-4886-3</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Handbook+of+Randomized+Computing&amp;rft.atitle=Derandomizing+Complexity+Classes&amp;rft.volume=9&amp;rft.pages=843&amp;rft.date=2001&amp;rft_id=info%3Adoi%2F10.1007%2F978-1-4615-0013-1_19&amp;rft.isbn=978-1-4613-4886-3&amp;rft.aulast=Miltersen&amp;rft.aufirst=P.B.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span><span class="cs1-maint citation-comment"><code class="cs1-code">{{<a href="/wiki/Template:Cite_journal" title="Template:Cite journal">cite journal</a>}}</code>: CS1 maint: DOI inactive as of November 2024 (<a href="/wiki/Category:CS1_maint:_DOI_inactive_as_of_November_2024" title="Category:CS1 maint: DOI inactive as of November 2024">link</a>)</span></span> </li> <li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKuperberg2005" class="citation journal cs1">Kuperberg, Greg (2005). "A Subexponential-Time Quantum Algorithm for the Dihedral Hidden Subgroup Problem". <i>SIAM Journal on Computing</i>. <b>35</b> (1). Philadelphia: 188. <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/quant-ph/0302112">quant-ph/0302112</a></span>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1137%2Fs0097539703436345">10.1137/s0097539703436345</a>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/1095-7111">1095-7111</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:15965140">15965140</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=SIAM+Journal+on+Computing&amp;rft.atitle=A+Subexponential-Time+Quantum+Algorithm+for+the+Dihedral+Hidden+Subgroup+Problem&amp;rft.volume=35&amp;rft.issue=1&amp;rft.pages=188&amp;rft.date=2005&amp;rft_id=info%3Aarxiv%2Fquant-ph%2F0302112&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A15965140%23id-name%3DS2CID&amp;rft.issn=1095-7111&amp;rft_id=info%3Adoi%2F10.1137%2Fs0097539703436345&amp;rft.aulast=Kuperberg&amp;rft.aufirst=Greg&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFOded_Regev2004" class="citation arxiv cs1">Oded Regev (2004). "A Subexponential Time Algorithm for the Dihedral Hidden Subgroup Problem with Polynomial Space". <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/quant-ph/0406151v1">quant-ph/0406151v1</a></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=preprint&amp;rft.jtitle=arXiv&amp;rft.atitle=A+Subexponential+Time+Algorithm+for+the+Dihedral+Hidden+Subgroup+Problem+with+Polynomial+Space&amp;rft.date=2004&amp;rft_id=info%3Aarxiv%2Fquant-ph%2F0406151v1&amp;rft.au=Oded+Regev&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFGroheNeuen2021" class="citation book cs1">Grohe, Martin; Neuen, Daniel (2021). "Recent advances on the graph isomorphism problem". In Dabrowski, Konrad K.; Gadouleau, Maximilien; Georgiou, Nicholas; Johnson, Matthew; Mertzios, George B.; Paulusma, Daniël (eds.). <i>Surveys in combinatorics 2021</i>. London Mathematical Society Lecture Note Series. Vol.&#160;470. Cambridge University Press. pp.&#160;187–234. <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/2011.01366">2011.01366</a></span>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-009-01888-3" title="Special:BookSources/978-1-009-01888-3"><bdi>978-1-009-01888-3</bdi></a>. <a href="/wiki/MR_(identifier)" class="mw-redirect" title="MR (identifier)">MR</a>&#160;<a rel="nofollow" class="external text" href="https://mathscinet.ams.org/mathscinet-getitem?mr=4273431">4273431</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Recent+advances+on+the+graph+isomorphism+problem&amp;rft.btitle=Surveys+in+combinatorics+2021&amp;rft.series=London+Mathematical+Society+Lecture+Note+Series&amp;rft.pages=187-234&amp;rft.pub=Cambridge+University+Press&amp;rft.date=2021&amp;rft_id=info%3Aarxiv%2F2011.01366&amp;rft_id=https%3A%2F%2Fmathscinet.ams.org%2Fmathscinet-getitem%3Fmr%3D4273431%23id-name%3DMR&amp;rft.isbn=978-1-009-01888-3&amp;rft.aulast=Grohe&amp;rft.aufirst=Martin&amp;rft.au=Neuen%2C+Daniel&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFFlumGrohe2006" class="citation book cs1">Flum, Jörg; <a href="/wiki/Martin_Grohe" title="Martin Grohe">Grohe, Martin</a> (2006). <a rel="nofollow" class="external text" href="https://www.springer.com/east/home/generic/search/results?SGWID=5-40109-22-141358322-0"><i>Parameterized Complexity Theory</i></a>. Springer. p.&#160;417. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-3-540-29952-3" title="Special:BookSources/978-3-540-29952-3"><bdi>978-3-540-29952-3</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Parameterized+Complexity+Theory&amp;rft.pages=417&amp;rft.pub=Springer&amp;rft.date=2006&amp;rft.isbn=978-3-540-29952-3&amp;rft.aulast=Flum&amp;rft.aufirst=J%C3%B6rg&amp;rft.au=Grohe%2C+Martin&amp;rft_id=https%3A%2F%2Fwww.springer.com%2Feast%2Fhome%2Fgeneric%2Fsearch%2Fresults%3FSGWID%3D5-40109-22-141358322-0&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFImpagliazzoPaturiZane2001" class="citation journal cs1"><a href="/wiki/Russell_Impagliazzo" title="Russell Impagliazzo">Impagliazzo, R.</a>; Paturi, R.; Zane, F. (2001). <a rel="nofollow" class="external text" href="https://doi.org/10.1006%2Fjcss.2001.1774">"Which problems have strongly exponential complexity?"</a>. <i><a href="/wiki/Journal_of_Computer_and_System_Sciences" title="Journal of Computer and System Sciences">Journal of Computer and System Sciences</a></i>. <b>63</b> (4): 512–530. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1006%2Fjcss.2001.1774">10.1006/jcss.2001.1774</a></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Journal+of+Computer+and+System+Sciences&amp;rft.atitle=Which+problems+have+strongly+exponential+complexity%3F&amp;rft.volume=63&amp;rft.issue=4&amp;rft.pages=512-530&amp;rft.date=2001&amp;rft_id=info%3Adoi%2F10.1006%2Fjcss.2001.1774&amp;rft.aulast=Impagliazzo&amp;rft.aufirst=R.&amp;rft.au=Paturi%2C+R.&amp;rft.au=Zane%2C+F.&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.1006%252Fjcss.2001.1774&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMayrMeyer1982" class="citation journal cs1"><a href="/wiki/Ernst_Mayr_(computer_scientist)" title="Ernst Mayr (computer scientist)">Mayr, Ernst W.</a>; <a href="/wiki/Albert_R._Meyer" title="Albert R. Meyer">Meyer, Albert R.</a> (1982). <a rel="nofollow" class="external text" href="https://doi.org/10.1016%2F0001-8708%2882%2990048-2">"The complexity of the word problems for commutative semigroups and polynomial ideals"</a>. <i><a href="/wiki/Advances_in_Mathematics" title="Advances in Mathematics">Advances in Mathematics</a></i>. <b>46</b> (3): 305–329. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1016%2F0001-8708%2882%2990048-2">10.1016/0001-8708(82)90048-2</a></span>. <a href="/wiki/MR_(identifier)" class="mw-redirect" title="MR (identifier)">MR</a>&#160;<a rel="nofollow" class="external text" href="https://mathscinet.ams.org/mathscinet-getitem?mr=0683204">0683204</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Advances+in+Mathematics&amp;rft.atitle=The+complexity+of+the+word+problems+for+commutative+semigroups+and+polynomial+ideals&amp;rft.volume=46&amp;rft.issue=3&amp;rft.pages=305-329&amp;rft.date=1982&amp;rft_id=info%3Adoi%2F10.1016%2F0001-8708%2882%2990048-2&amp;rft_id=https%3A%2F%2Fmathscinet.ams.org%2Fmathscinet-getitem%3Fmr%3D683204%23id-name%3DMR&amp;rft.aulast=Mayr&amp;rft.aufirst=Ernst+W.&amp;rft.au=Meyer%2C+Albert+R.&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.1016%252F0001-8708%252882%252990048-2&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDavenportHeintz1988" class="citation journal cs1"><a href="/wiki/James_H._Davenport" title="James H. Davenport">Davenport, James H.</a>; <a href="/wiki/Joos_Ulrich_Heintz" title="Joos Ulrich Heintz">Heintz, Joos</a> (1988). <a rel="nofollow" class="external text" href="https://doi.org/10.1016%2FS0747-7171%2888%2980004-X">"Real quantifier elimination is doubly exponential"</a>. <i><a href="/wiki/Journal_of_Symbolic_Computation" title="Journal of Symbolic Computation">Journal of Symbolic Computation</a></i>. <b>5</b> (1–2): 29–35. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1016%2FS0747-7171%2888%2980004-X">10.1016/S0747-7171(88)80004-X</a></span>. <a href="/wiki/MR_(identifier)" class="mw-redirect" title="MR (identifier)">MR</a>&#160;<a rel="nofollow" class="external text" href="https://mathscinet.ams.org/mathscinet-getitem?mr=0949111">0949111</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Journal+of+Symbolic+Computation&amp;rft.atitle=Real+quantifier+elimination+is+doubly+exponential&amp;rft.volume=5&amp;rft.issue=1%E2%80%932&amp;rft.pages=29-35&amp;rft.date=1988&amp;rft_id=info%3Adoi%2F10.1016%2FS0747-7171%2888%2980004-X&amp;rft_id=https%3A%2F%2Fmathscinet.ams.org%2Fmathscinet-getitem%3Fmr%3D949111%23id-name%3DMR&amp;rft.aulast=Davenport&amp;rft.aufirst=James+H.&amp;rft.au=Heintz%2C+Joos&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.1016%252FS0747-7171%252888%252980004-X&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> <li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCollins1975" class="citation conference cs1"><a href="/wiki/George_E._Collins" title="George E. Collins">Collins, George E.</a> (1975). "Quantifier elimination for real closed fields by cylindrical algebraic decomposition". In Brakhage, H. (ed.). <i>Automata Theory and Formal Languages: 2nd GI Conference, Kaiserslautern, May 20–23, 1975</i>. Lecture Notes in Computer Science. Vol.&#160;33. Springer. pp.&#160;134–183. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F3-540-07407-4_17">10.1007/3-540-07407-4_17</a></span>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-3-540-07407-6" title="Special:BookSources/978-3-540-07407-6"><bdi>978-3-540-07407-6</bdi></a>. <a href="/wiki/MR_(identifier)" class="mw-redirect" title="MR (identifier)">MR</a>&#160;<a rel="nofollow" class="external text" href="https://mathscinet.ams.org/mathscinet-getitem?mr=0403962">0403962</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=conference&amp;rft.atitle=Quantifier+elimination+for+real+closed+fields+by+cylindrical+algebraic+decomposition&amp;rft.btitle=Automata+Theory+and+Formal+Languages%3A+2nd+GI+Conference%2C+Kaiserslautern%2C+May+20%E2%80%9323%2C+1975&amp;rft.series=Lecture+Notes+in+Computer+Science&amp;rft.pages=134-183&amp;rft.pub=Springer&amp;rft.date=1975&amp;rft_id=https%3A%2F%2Fmathscinet.ams.org%2Fmathscinet-getitem%3Fmr%3D0403962%23id-name%3DMR&amp;rft_id=info%3Adoi%2F10.1007%2F3-540-07407-4_17&amp;rft.isbn=978-3-540-07407-6&amp;rft.aulast=Collins&amp;rft.aufirst=George+E.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATime+complexity" class="Z3988"></span></span> </li> </ol></div> <p class="mw-empty-elt"> </p> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐5857dfdcd6‐h5ctz Cached time: 20241203065309 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.516 seconds Real time usage: 0.786 seconds Preprocessor visited node count: 3653/1000000 Post‐expand include size: 74222/2097152 bytes Template argument size: 2127/2097152 bytes Highest expansion depth: 16/100 Expensive parser function count: 11/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 112870/5000000 bytes Lua time usage: 0.240/10.000 seconds Lua memory usage: 6489421/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 456.228 1 -total 55.55% 253.437 1 Template:Reflist 23.79% 108.553 8 Template:Cite_book 15.74% 71.816 1 Template:Short_description 13.58% 61.953 12 Template:Cite_journal 10.11% 46.137 2 Template:Pagetype 6.90% 31.457 5 Template:Cite_conference 5.79% 26.414 1 Template:Redirect-distinguish 4.60% 20.973 1 Template:RP 3.86% 17.601 1 Template:Use_dmy_dates --> <!-- Saved in parser cache with key enwiki:pcache:405944:|#|:idhash:canonical and timestamp 20241203065309 and revision id 1258396892. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1&amp;useformat=desktop" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Time_complexity&amp;oldid=1258396892#Superpolynomial_time">https://en.wikipedia.org/w/index.php?title=Time_complexity&amp;oldid=1258396892#Superpolynomial_time</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Analysis_of_algorithms" title="Category:Analysis of algorithms">Analysis of algorithms</a></li><li><a href="/wiki/Category:Computational_complexity_theory" title="Category:Computational complexity theory">Computational complexity theory</a></li><li><a href="/wiki/Category:Computational_resources" title="Category:Computational resources">Computational resources</a></li><li><a href="/wiki/Category:Time" title="Category:Time">Time</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:CS1_maint:_multiple_names:_authors_list" title="Category:CS1 maint: multiple names: authors list">CS1 maint: multiple names: authors list</a></li><li><a href="/wiki/Category:CS1_maint:_DOI_inactive_as_of_November_2024" title="Category:CS1 maint: DOI inactive as of November 2024">CS1 maint: DOI inactive as of November 2024</a></li><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_matches_Wikidata" title="Category:Short description matches Wikidata">Short description matches Wikidata</a></li><li><a href="/wiki/Category:Use_dmy_dates_from_September_2019" title="Category:Use dmy dates from September 2019">Use dmy dates from September 2019</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 19 November 2024, at 13:56<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Time_complexity&amp;mobileaction=toggle_view_mobile#Superpolynomial_time" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-5857dfdcd6-kbr78","wgBackendResponseTime":189,"wgPageParseReport":{"limitreport":{"cputime":"0.516","walltime":"0.786","ppvisitednodes":{"value":3653,"limit":1000000},"postexpandincludesize":{"value":74222,"limit":2097152},"templateargumentsize":{"value":2127,"limit":2097152},"expansiondepth":{"value":16,"limit":100},"expensivefunctioncount":{"value":11,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":112870,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 456.228 1 -total"," 55.55% 253.437 1 Template:Reflist"," 23.79% 108.553 8 Template:Cite_book"," 15.74% 71.816 1 Template:Short_description"," 13.58% 61.953 12 Template:Cite_journal"," 10.11% 46.137 2 Template:Pagetype"," 6.90% 31.457 5 Template:Cite_conference"," 5.79% 26.414 1 Template:Redirect-distinguish"," 4.60% 20.973 1 Template:RP"," 3.86% 17.601 1 Template:Use_dmy_dates"]},"scribunto":{"limitreport-timeusage":{"value":"0.240","limit":"10.000"},"limitreport-memusage":{"value":6489421,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-5857dfdcd6-h5ctz","timestamp":"20241203065309","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Time complexity","url":"https:\/\/en.wikipedia.org\/wiki\/Time_complexity#Superpolynomial_time","sameAs":"http:\/\/www.wikidata.org\/entity\/Q2393193","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q2393193","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2003-12-17T21:05:15Z","dateModified":"2024-11-19T13:56:09Z","image":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/7e\/Comparison_computational_complexity.svg","headline":"estimate of time taken for running an algorithm"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10