{"id":4311,"date":"2026-06-06T15:56:48","date_gmt":"2026-06-06T10:26:48","guid":{"rendered":"https:\/\/www.rangakrish.com\/?p=4311"},"modified":"2026-06-06T15:56:48","modified_gmt":"2026-06-06T10:26:48","slug":"implementing-fibonacci-sequence-in-c","status":"publish","type":"post","link":"https:\/\/www.rangakrish.com\/index.php\/2026\/06\/06\/implementing-fibonacci-sequence-in-c\/","title":{"rendered":"Implementing Fibonacci Sequence in C++"},"content":{"rendered":"<p>The <em><strong>Fibonacci<\/strong><\/em> sequence is one of the most discussed examples in computer science. One reason is that it is a simple but great example of recursion. It also helps us in understanding the trade-offs between time snd space complexity.<\/p>\n<p>I today\u2019s article, I will implement <em><strong>Fibonacci<\/strong><\/em> sequence in <em><strong>C++<\/strong><\/em> in four different ways and also share the complexity numbers.<\/p>\n<p>For those who need a refresher: the <em><strong>Fibonacci<\/strong><\/em> sequence starts with 0 and 1, and each subsequent number is the sum of the two before it.<\/p>\n<p style=\"padding-left: 40px;\"><span style=\"color: #0000ff;\">0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, &#8230;<\/span><\/p>\n<p><em><strong>Formally: F(0) = 0, F(1) = 1, and F(n) = F(n-1) + F(n-2) for all n &gt; 1.<\/strong><\/em><\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Implementation 1: Naive Recursion<\/strong><\/span><\/p>\n<p>The mathematical definition almost directly translates to code:<\/p>\n<figure id=\"attachment_4312\" aria-describedby=\"caption-attachment-4312\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code1.png?ssl=1\"><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" data-attachment-id=\"4312\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2026\/06\/06\/implementing-fibonacci-sequence-in-c\/code1-17\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code1.png\" data-orig-size=\"968,334\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"Recursive Implementation\" data-image-description=\"&lt;p&gt;Recursive Implementation&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Recursive Implementation&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code1.png\" class=\"wp-image-4312\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code1.png?resize=500%2C173&#038;ssl=1\" alt=\"Recursive Implementation\" width=\"500\" height=\"173\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code1.png?resize=300%2C104&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code1.png?w=968&amp;ssl=1 968w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-4312\" class=\"wp-caption-text\"><strong>Recursive Implementation<\/strong><\/figcaption><\/figure>\n<p>What is wrong with this algorithm? The time complexity is <em><strong>O(2^n)<\/strong><\/em> &#8211; that is exponential! The implementation might be OK for small values of N, but as N increases, the time complexity increases exponentially! Space complexity is just <em><strong>O(N)<\/strong><\/em>.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Implementation 2: Recursion with Memoization<\/strong><\/span><\/p>\n<p>How can we do better? If we manage to <em><strong>\u201cremember\u201d<\/strong><\/em> previous call results, we don\u2019t have to recompute already computed values. This will definitely save a lot of time! Here is an implementation that uses <em><strong>\u201cmemoization\u201d<\/strong><\/em>.<\/p>\n<figure id=\"attachment_4314\" aria-describedby=\"caption-attachment-4314\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code2.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"4314\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2026\/06\/06\/implementing-fibonacci-sequence-in-c\/code2-20\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code2.png\" data-orig-size=\"1172,760\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"Recursion with Memoization\" data-image-description=\"&lt;p&gt;Recursion with Memoization&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Recursion with Memoization&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code2-1024x664.png\" class=\"wp-image-4314\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code2.png?resize=500%2C324&#038;ssl=1\" alt=\"Recursion with Memoization\" width=\"500\" height=\"324\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code2.png?resize=300%2C195&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code2.png?resize=1024%2C664&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code2.png?w=1172&amp;ssl=1 1172w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-4314\" class=\"wp-caption-text\"><strong>Recursion with Memoization<\/strong><\/figcaption><\/figure>\n<p>I hope you get the logic. What is the complexity this time? Both Space and Time complexities are <em><strong>O(N)<\/strong><\/em>!<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Implementation 3: Using Iteration<\/strong><\/span><\/p>\n<p>What if we decide to use <em><strong>\u201citeration\u201d<\/strong><\/em> instead of <em><strong>\u201crecursion\u201d<\/strong><\/em>? Here is an implementation.<\/p>\n<figure id=\"attachment_4315\" aria-describedby=\"caption-attachment-4315\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code3.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"4315\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2026\/06\/06\/implementing-fibonacci-sequence-in-c\/code3-12\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code3.png\" data-orig-size=\"912,540\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"Using Iteration\" data-image-description=\"&lt;p&gt;Using Iteration&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Using Iteration&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code3.png\" class=\"wp-image-4315\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code3.png?resize=500%2C296&#038;ssl=1\" alt=\"Using Iteration\" width=\"500\" height=\"296\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code3.png?resize=300%2C178&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code3.png?w=912&amp;ssl=1 912w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-4315\" class=\"wp-caption-text\"><strong>Using Iteration<\/strong><\/figcaption><\/figure>\n<p>If the code looks a bit weird, it is only because I have used <em><strong>std::tie<\/strong><\/em> to advance both the state variables simultaneously in a single step without using any temporary variable.<\/p>\n<p>As you can guess, the time complexity is <em><strong>O(N)<\/strong><\/em> and the space complexity is <em><strong>O(1)<\/strong><\/em>! The most efficient implementation of all!<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Implementation 4: Using co_yield<\/strong><\/span><\/p>\n<p>The final implementation uses <em><strong>C++23<\/strong><\/em>\u00a0<em><strong>std::generator<\/strong><\/em> idea and is implemented as a coroutine. The <em><strong>\u201cco_yield\u201d<\/strong><\/em> keyword suspends the function mid-execution, hands a value back to the caller, and resumes exactly where it left off on the next request. The underlying implementation uses iteration.<\/p>\n<figure id=\"attachment_4316\" aria-describedby=\"caption-attachment-4316\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code4.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4316\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2026\/06\/06\/implementing-fibonacci-sequence-in-c\/code4-4\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code4.png\" data-orig-size=\"1000,928\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"Using std::generator c_yield\" data-image-description=\"&lt;p&gt;Using std::generator c_yield&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Using std::generator c_yield&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code4.png\" class=\"wp-image-4316\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code4.png?resize=500%2C464&#038;ssl=1\" alt=\"Using std::generator c_yield\" width=\"500\" height=\"464\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code4.png?resize=300%2C278&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/06\/code4.png?w=1000&amp;ssl=1 1000w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-4316\" class=\"wp-caption-text\"><strong>Using std::generator c_yield<\/strong><\/figcaption><\/figure>\n<p>Here also, the time complexity is <em><strong>O(N)<\/strong><\/em> and the space complexity is<em><strong> O(1)<\/strong><\/em>.<\/p>\n<p>I enjoyed revisiting fibonacci implementation after decades! Hope you find this article useful and interesting!<\/p>\n<p>You can view the source code inside <a href=\"https:\/\/compiler-explorer.com\/z\/z8Ynf74Ej\" target=\"_blank\" rel=\"noopener\"><em><strong>Compiler Explorer<\/strong><\/em><\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Fibonacci sequence is one of the most discussed examples in computer science. One reason is that it is a simple but great example of recursion. It also helps us in understanding the trade-offs between time snd space complexity. I today\u2019s article, I will implement Fibonacci sequence in C++ in four different ways and also [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[49,17],"tags":[67,460],"class_list":["post-4311","post","type-post","status-publish","format-standard","hentry","category-c","category-programming","tag-c","tag-fibonacci-numbers"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9OLnF-17x","jetpack-related-posts":[{"id":2383,"url":"https:\/\/www.rangakrish.com\/index.php\/2021\/04\/26\/lparallel-a-parallel-programming-library\/","url_meta":{"origin":4311,"position":0},"title":"lparallel: A Parallel Programming Library","author":"admin","date":"April 26, 2021","format":false,"excerpt":"You may recall that in the last article I had reviewed the book \"Algorithms in Lisp\"\u00a0by Vsevolod Domkin. There was a reference to the lparallel\u00a0library in Chapter 15 of the book. That immediately reminded me of the nice discussion of lparallel by Edi Weitz in Chapter 11 of his excellent\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"pmap: Parallel Map","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2021\/04\/pmap-300x208.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2021\/04\/pmap-300x208.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2021\/04\/pmap-300x208.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":2084,"url":"https:\/\/www.rangakrish.com\/index.php\/2020\/08\/16\/pattern-matching-comparing-elixir-and-mathematica\/","url_meta":{"origin":4311,"position":1},"title":"Pattern Matching: Comparing Elixir and Mathematica","author":"admin","date":"August 16, 2020","format":false,"excerpt":"One of the things I like about Elixir\u00a0is its support for patterns at the core language level, not through library functions as in most other languages. This contributes to writing cleaner code, in my opinion. \u00a0 Another environment that I am familiar with, namely Mathematica, boasts of (arguably) the most\u2026","rel":"","context":"In &quot;Elixir&quot;","block_context":{"text":"Elixir","link":"https:\/\/www.rangakrish.com\/index.php\/category\/elixir\/"},"img":{"alt_text":"Symbolic Expressions","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/08\/pattern-mm.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/08\/pattern-mm.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/08\/pattern-mm.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":3070,"url":"https:\/\/www.rangakrish.com\/index.php\/2023\/04\/02\/building-v-language-dll\/","url_meta":{"origin":4311,"position":2},"title":"Building V Language DLL","author":"admin","date":"April 2, 2023","format":false,"excerpt":"The relatively new V Programming Language (Vlang) boasts of some interesting features such as \u201cfast compilation\u201d and runtime performance \u201cas fast as C\u201d, at the same time being a \u201csimple language\u201d. As I normally do with other languages that I learn and use, I decided to see how easy it\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.rangakrish.com\/index.php\/category\/programming\/"},"img":{"alt_text":"V Program","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2023\/04\/V-source-267x300.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":2406,"url":"https:\/\/www.rangakrish.com\/index.php\/2021\/05\/09\/eager-future2-common-lisp-library\/","url_meta":{"origin":4311,"position":3},"title":"Eager Future2 Common Lisp Library","author":"admin","date":"May 9, 2021","format":false,"excerpt":"Eager Future2 is a Common Lisp library that facilitates parallel computation. It is based on the idea of a \u201cfuture\u201d that acts as a \u201cproxy\u201d for a concurrently computed expression. Unlike the \u201clparallel\u201d library that I had discussed in the last article, this library does not give us control over\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"Fibonacci Calculation - 3 Ways","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2021\/05\/Code-232x300.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":2765,"url":"https:\/\/www.rangakrish.com\/index.php\/2022\/04\/17\/calling-lisp-functions-from-xojo\/","url_meta":{"origin":4311,"position":4},"title":"Calling Lisp Functions from Xojo","author":"admin","date":"April 17, 2022","format":false,"excerpt":"A few days ago, I purchased Xojo Pro commercial license. In case you haven't heard about the product, Xojo\u00a0is a popular cross-platform development tool targeting Desktop, Web and iOS (Android is expected in the near future). It supports an Object-Oriented Basic language. It has been around for over 25 years\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"The Lisp Code","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2022\/04\/LispCode-300x168.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2022\/04\/LispCode-300x168.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2022\/04\/LispCode-300x168.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":2377,"url":"https:\/\/www.rangakrish.com\/index.php\/2021\/04\/12\/book-review-programming-algorithms-in-lisp\/","url_meta":{"origin":4311,"position":5},"title":"Book Review: Programming Algorithms in Lisp","author":"admin","date":"April 12, 2021","format":false,"excerpt":"Title: Programming Algorithms in Lisp: Writing Efficient Programs with Examples in ANSI Common Lisp Author: Vsevolod Domkin Publisher: Apress Year: 2021 It is only about 5 months since I read and reviewed\u00a0a good book on Lisp written by Micha\u0142 \u201cphoe\u201d Herda. The present book is by Vsevolod Domkin\u00a0and I purchased\u2026","rel":"","context":"In &quot;Book Review&quot;","block_context":{"text":"Book Review","link":"https:\/\/www.rangakrish.com\/index.php\/category\/book-review\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2021\/04\/Book-Cover-209x300.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts\/4311","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/comments?post=4311"}],"version-history":[{"count":3,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts\/4311\/revisions"}],"predecessor-version":[{"id":4318,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts\/4311\/revisions\/4318"}],"wp:attachment":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/media?parent=4311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/categories?post=4311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/tags?post=4311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}