{"id":31128,"date":"2023-01-19T15:13:42","date_gmt":"2023-01-19T09:43:42","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/"},"modified":"2023-01-19T15:13:42","modified_gmt":"2023-01-19T09:43:42","slug":"solved-what-structure-can-you-simulate-recursion-iteratively-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/","title":{"rendered":"[Solved] what structure can you simulate recursion iteratively [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-13664640\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"13664640\" data-parentid=\"13656918\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>You basically half-answered the question yourself: It makes sense to use a stack, since you can push and pop to\/from a stack in the same order as the compiler would do it too, if you used recursion. Doing things the way people expect them to happen is a good thing (even if you <em>can<\/em> do them differently).<\/p>\n<p>A stack is also the easiest solution for the problem and the container with the least overhead, and the elements come out in the order that you usually want when doing recursion, without you needing to do anything special.<\/p>\n<p>In comparison, a queue has a lot more complexity since it has a head and a tail, and memory management is more complicated (a stack is basically just a chunk of memory and a pointer that is incremented\/decremented).<\/p>\n<p>Also, when using a queue, elements come out in the order you pushed them in. This may not matter for some problems (e.g. if you just want to iterate every element once and don&#8217;t care about the order), but it makes it needlessly complicated to backtrack. For example, when recursively subdividing a block of data or recursively walking a tree, you will first recurse into the left half, then into the left half&#8217;s half, and so on.<br \/>\nWhen you&#8217;ve reached the maximum depth, you will want to backtrack one level and recurse into the right half (and backtrack yet another level, and so on). With a stack, this is trivially done with a simple <em>pop<\/em>. With a queue, you must explicitly remember where to go. It is of course not impossible, but it&#8217;s not precisely trivial.<\/p>\n<p>You also mentioned skiplists. Note that a skiplist is not really something simple as a &#8220;list&#8221;, but a rather complicated structure, much more comparable to a search tree. It also is not a &#8220;natural choice&#8221; for the problem, and due to its complexity is most definitively not something you want to use for something like recursion (although if one is stubborn enough, it could probably be made to work).<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved what structure can you simulate recursion iteratively [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] You basically half-answered the question yourself: It makes sense to use a stack, since you can push and pop to\/from a stack in the same order as the compiler would do it too, if you used recursion. Doing things the way people expect them to happen is a good thing (even if you can &#8230; <a title=\"[Solved] what structure can you simulate recursion iteratively [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/\" aria-label=\"More on [Solved] what structure can you simulate recursion iteratively [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[358],"class_list":["post-31128","post","type-post","status-publish","format-standard","hentry","category-solved","tag-language-agnostic"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] what structure can you simulate recursion iteratively [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] what structure can you simulate recursion iteratively [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] You basically half-answered the question yourself: It makes sense to use a stack, since you can push and pop to\/from a stack in the same order as the compiler would do it too, if you used recursion. Doing things the way people expect them to happen is a good thing (even if you can ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-19T09:43:42+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] what structure can you simulate recursion iteratively [closed]\",\"datePublished\":\"2023-01-19T09:43:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/\"},\"wordCount\":366,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"language-agnostic\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/\",\"name\":\"[Solved] what structure can you simulate recursion iteratively [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2023-01-19T09:43:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] what structure can you simulate recursion iteratively [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] what structure can you simulate recursion iteratively [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] what structure can you simulate recursion iteratively [closed] - JassWeb","og_description":"[ad_1] You basically half-answered the question yourself: It makes sense to use a stack, since you can push and pop to\/from a stack in the same order as the compiler would do it too, if you used recursion. Doing things the way people expect them to happen is a good thing (even if you can ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/","og_site_name":"JassWeb","article_published_time":"2023-01-19T09:43:42+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] what structure can you simulate recursion iteratively [closed]","datePublished":"2023-01-19T09:43:42+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/"},"wordCount":366,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["language-agnostic"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/","name":"[Solved] what structure can you simulate recursion iteratively [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2023-01-19T09:43:42+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-what-structure-can-you-simulate-recursion-iteratively-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] what structure can you simulate recursion iteratively [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/31128","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=31128"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/31128\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=31128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=31128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=31128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}