<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Navin Tamilchelvam on Medium]]></title>
        <description><![CDATA[Stories by Navin Tamilchelvam on Medium]]></description>
        <link>https://medium.com/@navinpoppy9?source=rss-8cdf558ecf3e------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/2*qUFxGNOsm2D3sky5c3MWRg.jpeg</url>
            <title>Stories by Navin Tamilchelvam on Medium</title>
            <link>https://medium.com/@navinpoppy9?source=rss-8cdf558ecf3e------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Tue, 26 May 2026 22:36:48 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@navinpoppy9/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[What are pointers ?? ]]></title>
            <link>https://medium.com/thoughtful-navin/what-are-pointers-2c89052d966e?source=rss-8cdf558ecf3e------2</link>
            <guid isPermaLink="false">https://medium.com/p/2c89052d966e</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[computer-science-basics]]></category>
            <category><![CDATA[pointers]]></category>
            <category><![CDATA[computer-science]]></category>
            <category><![CDATA[c-programming]]></category>
            <dc:creator><![CDATA[Navin Tamilchelvam]]></dc:creator>
            <pubDate>Thu, 09 Jan 2020 15:07:10 GMT</pubDate>
            <atom:updated>2020-01-12T04:22:05.328Z</atom:updated>
            <content:encoded><![CDATA[<h3>What are pointers ?? 🤔</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ty1Fd6PfmOYP-1DJaTpmNw.png" /><figcaption>Uncle Sam is Pointing at YOU</figcaption></figure><blockquote>In this article i’ll explain about pointers in computers, it’s behaviour and it’s usage with the programming language of <strong>C++</strong>.</blockquote><p>When we refer to Computers or Systems Architecture there are 2 types of softwares ~ System Software &amp; Application Software. <br>Whether implemented in System or Application Software, almost all data structures make extensive use of pointers and addresses.</p><blockquote><em>A </em><strong><em>pointer</em></strong><em> is a </em><strong><em>data element</em></strong><em> containing the address of another data element.</em></blockquote><p>An address is the location of a <strong>data element</strong> in a storage device. Addresses vary in content and representation, depending on the storage device being addressed.</p><h4>Why we need pointers? 🤔</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ODWQ3z73pOVPjL-x97B1Mw.png" /></figure><p>Normally a program being executed can only directly access the code section &amp; stack. The program can’t directly access the heap because it is external to the program. Monitors, keyboards, files and even the internet network connections are all external to a program.</p><p>Since the program cant directly access these external components, it can use the help of <strong>Pointers</strong> to gain access to it. <br>As shown above, the program should have a <strong>Pointer</strong> created for it to be used to access anything external like heap, which could be some data type of an integer or even an array.</p><h4>Memory Addresses &amp; Model</h4><p>Memory addresses can be complex if a segmented memory model is used. For the purpose of discussing pointers in data structures, a <strong>flat memory model</strong> is used, and memory addresses are represented by nonnegative integers.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/250/1*CHtKjQ38FYa94gJKsfXleA.jpeg" /><figcaption>Flat memory model with a sequential memory address with data represented in hexadecimals</figcaption></figure><h4>Declaring &amp; Initialisation of a Pointer</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*85P2fm4t-7nMs7KqIkTe9Q.png" /><figcaption><strong>NOTE: a = A | *p = *P</strong></figcaption></figure><p>Let’s assume that the size of an integer is <strong>2 bytes</strong>. <br>As shown above, a data block is created for the variable <strong>A</strong> and the pointer <strong>P</strong>. Both of these data blocks will be created during program execution inside the stack area. <br>As we can see during the declaration of a pointer or de-referencing of the pointer value, we use the <strong>*</strong> syntax. <br>When we assign/initialise we use the <strong>&amp;</strong> syntax.</p><h4>Reference in Data Structure using C++</h4><p>Reference is an alias to a variable. If we declare a reference to another variable, we get to change that variable value at two places instead of one.<br>Therefore changing the variable at any one place will permanently change the values at both places.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*NCU37mPvc2rLqPpcFdDUSQ.png" /><figcaption><strong>Basic example for references in C++</strong></figcaption></figure><blockquote>Normally references are used for parameter passing. <br>This is a very useful feature in C++.</blockquote><h3>Pointers for Parameter Passing</h3><blockquote>There are 3 types of parameter passing. <br><strong>Pass by value</strong>, <strong>Pass by address</strong> and <strong>Pass by reference</strong>.</blockquote><h3><strong>Pass By Value</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/846/1*Tg6pmViqHJ6uS_J-FsC72A.png" /><figcaption>Pass By Value Example</figcaption></figure><p>From the above code, parameters within the Swap() function inside main() function are called <strong><em>ACTUAL</em></strong> parameters. Parameters from the Swap() function, above the main() function are called <strong><em>FORMAL</em></strong> parameters.</p><p>As the program executes; <br>Within the Swap() function, <strong>a</strong>’s value is swapped with <strong>b</strong>’s value. <br>Once the Swap function is done executing, the printf() function would execute. But the values for <strong>a</strong> and <strong>b</strong> won’t be changed because the variables were passed by value. They won’t be affected outside the Swap() function.<br>Therefore, only the <strong><em>FORMAL</em></strong> parameters will be affected and not the <strong><em>ACTUAL</em></strong> parameters.</p><h3>PASS BY ADDRESS</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/808/1*KfQfz9CyRW1HfGV0VF_stA.png" /><figcaption>Pass By Address Example</figcaption></figure><p>As shown above, variables are passed into the Swap() function by using the address of the variables because the now the Swap() function accepts parameters as pointers. <br>Whenever a pointer is used as a parameter we need to pass the address of the variable. This would make the pointer point to the address of the variable thus having the <strong><em>ACTUAL</em></strong> parameter’s value of the variable.</p><p>Therefore, printing the values using printf() function would show us the swapped values accordingly. Pass by address permanently changes the <strong><em>ACTUAL</em></strong> parameter’s value.</p><h3>PASS BY REFERENCE</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/832/1*yASAZYXMhCktPpQoxFVqiA.png" /><figcaption>Pass By Reference Example</figcaption></figure><p>As shown above, the <strong><em>FORMAL</em></strong> parameters are the only changes made here. We added the &amp; syntax (<em>which is only available in C++</em>) to denote the calling by reference of the variable. Once the Swap() function is executed, printf() function would show us the swapped values accordingly.</p><p>The advantage of using pass by reference over pass by address is it doesn’t take up more memory. Because for pass by reference, after compilation; the code section of the memory will merge the main() and Swap() function together. <br>Therefore, no extra activation records are created within the Stack area during program execution, thus the same variable values are used for computation.</p><p>That’s all folks. 😎🐍<br>I hope we all learn something useful about pointers in data structures. <br>I hope i’ll receive some feedbacks and comments about my article.</p><p>Please follow my mini-series on Data Structures…</p><p>👉🏾 <a href="https://medium.com/thoughtful-navin/data-structures-using-c-basics-main-memory-section-d0309af4a7cd">Data Structures using (C++) ~ Basics &amp; Main Memory Section</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2c89052d966e" width="1" height="1" alt=""><hr><p><a href="https://medium.com/thoughtful-navin/what-are-pointers-2c89052d966e">What are pointers ?? 🤔</a> was originally published in <a href="https://medium.com/thoughtful-navin">Thoughtful-Navin</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Data Structures using (C++) ~ Tracing Recursive Functions]]></title>
            <link>https://medium.com/thoughtful-navin/data-structures-using-c-tracing-recursive-functions-682afe98b514?source=rss-8cdf558ecf3e------2</link>
            <guid isPermaLink="false">https://medium.com/p/682afe98b514</guid>
            <category><![CDATA[recursive-function]]></category>
            <category><![CDATA[data-structures]]></category>
            <category><![CDATA[computer-science]]></category>
            <category><![CDATA[c-programming]]></category>
            <dc:creator><![CDATA[Navin Tamilchelvam]]></dc:creator>
            <pubDate>Wed, 01 Jan 2020 15:56:38 GMT</pubDate>
            <atom:updated>2020-01-12T04:11:52.226Z</atom:updated>
            <content:encoded><![CDATA[<h4>This is a sub-part of a major series on Data Structures. You can moonwalk back to read the previous post of mine, which would help you understand much better about this post.<br>☛ <a href="https://medium.com/thoughtful-navin/data-structures-using-c-basics-main-memory-section-d0309af4a7cd?source=friends_link&amp;sk=cb6febb1ee5f274113635adf1e8b368b">Data Structures using (C++) ~ Basics &amp; Main Memory Section</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*p2K3sWHWEekLGxr5GdfgCw.jpeg" /></figure><p>Greetings Everyone… 👋🏾<br>In this post, i would like to talk about tracing recursive functions &amp; how we can tackle <strong>tracing</strong> different other type of functions in C++ language.</p><p>I would demonstrate two significant types of recursive functions to vaguely demonstrate the behaviour of computers, its main memory section during a recursive call.</p><p><strong>Example 1: </strong>Recursive function with static variables<br><strong>Example 2:</strong> Recursive function with for-loop</p><p>I will also share the crafty techniques i’ve learnt to solve large tracing problems more easily using the power of <strong>mathematics</strong>. <br>Im no Mathematician; but i will try to impart the beauty of simple mathematics which helped me solve problems easily.</p><h4>Example 1: Recursive function with static variables</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Eir0PplmrIf4EOHWRmrzCQ.png" /></figure><p>Let me run through the function behaviour once:</p><ul><li>Once the function is called, the static variable will be assigned with value 1.</li><li>Then the function will check the variable n is ≥ 5. <br>If the IF condition checks out, it stops the function from further propagating down the tree &amp; returns the final value.<br>Else it skips pass the IF condition</li><li>variable <strong>n</strong> is assigned a new value by adding the static variable <strong>i</strong> to it.</li><li>static variable <strong>i</strong> is incremented by <strong>1</strong>.</li><li>the function returns itself with a new value of variable <strong>n</strong>.</li></ul><p>The interesting part of this function is the static variable <strong>i</strong>. As we discussed about static variables on my previous post we now, know that static variables are only created once within the code section (single copy) therefore, its being reused on every recursive call, if any.</p><p>Lets look at the tracing of this function:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*S2HL1MP2OFwYRQ_iLQkarw.png" /><figcaption>Tracing tree for the above function with static variable</figcaption></figure><p>We can see that the variable <strong>n</strong> value is updated according to the updated static variable <strong>i</strong>’s value, as per the (<strong><em>n=n+i;</em></strong>) statement call. <br>As we can see the static variable is declared outside the tracing tree. <br>This denotes that on every (<strong><em>f(n)</em></strong>) statement call, the updated <strong>i</strong> variable value is used instead because the static variable is created only once within the <strong>code section </strong>of the <strong>main memory</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/874/1*DyQIqN4239d2bcmW8nvs-w.png" /></figure><p>The static variable <strong>i</strong> is created during the <strong>loading time of the program</strong>.</p><p>Whereas; compared to a non-static variable declaration within a function, those variables are created within the stack area on every function call. This means the variable value wont be <strong>reused </strong>like the above function.</p><h4>Example 2: Recursive function with for-loop</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*dSTvQeLf1YbcZpHjZF9k6w.png" /></figure><p>Let me run through the function behaviour once:</p><ul><li>Once the function is called, the variables <strong>k</strong> &amp; <strong>x</strong> will be declared and <strong>x</strong> will also be initialised with value <strong>1</strong>.</li><li>Then the function will check if the variable <strong>n</strong> is = <strong>1</strong>. <br>If the IF condition checks out, it stops the function from further propagating down the tree &amp; returns the value <strong>x</strong>.</li><li>Else it skips pass the IF condition and runs the FOR-LOOP condition until the condition <br><strong>(k &lt; n)</strong> is not met.</li></ul><p>Let’s trace it using the conventional way; only for the first part of the function.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Mi19VyYZI4UlBc01Eiq0Cw.png" /><figcaption>Function for the entire recursive call within a for loop</figcaption></figure><p>As we can see that the recursive calls are made inside the for-loop. For our example above, the value given is <strong>5</strong>. As it iterates through the loop it checks if the <em>mutating</em> variable <strong>k</strong> is less than the variable <strong>n</strong> which has the value of <strong>5</strong>.</p><p>From tracing the first part of the function; we can deduce that tracing each recursive function will lead to a tedious amount of effort 🖊. Fred not, we can break this problem into smaller sub problems; by first solving the entire function with the smallest value of 1.</p><p><em>When the value is </em><strong><em>1</em></strong><em>, the function returns the value of </em><strong><em>x.<br></em></strong><em>The output value for </em><strong><em>fun(1)</em></strong><em> is </em><strong><em>1</em></strong><em>.</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/514/1*0lKpNLCSDwxcSyMnp5iwJA.png" /></figure><p><em>Lets create a table with the </em><strong><em>n</em></strong><em> values in row 1 &amp;</em><strong><em> fun(n)</em></strong><em> values in row 2 <br>&amp; update it accordingly:</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/660/1*Jc724a9MsIDzZiVd2-L9oA.png" /></figure><p><em>When the value is </em><strong><em>2</em></strong><em>, the function iterates only once.</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/696/1*Qrphs2dFEaR3gcxkCantjQ.png" /></figure><p><em>From the table we already know the value for </em><strong><em>fun(1)</em></strong><em>. <br>The final equation &amp; output value for </em><strong><em>fun(2)</em></strong><em> would be </em><strong><em>(1 + 1 * 1 = 2 )</em></strong><em>.</em></p><p><em>Updated table</em>:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/658/1*md3irWTtwmGsEoQyaMwccw.png" /></figure><p><em>When the value is </em><strong><em>3</em></strong><em>, the function iterates twice.</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ibgZ_KJJX9XtCJAHWimd0A.png" /></figure><p><em>From the table we already know the value for </em><strong><em>fun(1) </em></strong><em>&amp;</em><strong><em> fun(2)</em></strong><em>. <br>The final equation &amp; output value for </em><strong><em>fun(3)</em></strong><em> would be <br></em><strong><em>(1 + 1 * 2 + 2 * 1 = 5)</em></strong><em>.</em></p><p><em>Updated table</em>:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/660/1*Gu8_USnz8r8gBrctG5SWoA.png" /></figure><p>Now we realise that by breaking down the problem, it’s helping us to solve our rather daunting tracing task in hand. As we move on to solve <strong>fun(4)</strong>, we can deduce a cute mathematical pattern here.<br>For <strong>fun(4)</strong>, the loop iterates thrice because <strong>k</strong> is <strong>1</strong> and <strong>n</strong> is <strong>4</strong> so; <strong>(4 –1 = 3)</strong>.<br>Yea we all know that, but if we lay them as <strong>1, 2, 3</strong> sequentially, we can see if whether the set contains <em>odd</em> or <em>even</em> numbered values. Then we can just use its values of <strong>n</strong> to perform the mathematical operations.</p><blockquote>Odd =&gt; ( <strong>A, B, C )<br></strong> Step 1: A * C<br>Step 2: B * B<br>Step 3: C * A</blockquote><blockquote>Even =&gt; ( <strong>A, B, C, D)<br></strong>Step 1: A * D<br>Step 2: B * C<br>Step 3: C * B<br>Step 4: D * A</blockquote><p>I hope everyone is able to realise that there is a mathematical pattern here. Maybe, there is a formal name for this type of pattern and if anyone knows it, please feel free to leave a comment or something. <br><strong>Thank you in advance 🙏🏾</strong>.</p><p><em>Moving on; we can then use this pattern to help us solve our tracing problem faster, for the remaining values </em><strong><em>4</em></strong><em> &amp; </em><strong><em>5</em></strong><em>.</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/876/1*3pIJbgcQvFr67QQ6W14O7Q.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/660/1*_LvBvtP-zSVT_kLQdYj5tg.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*j8t0MNdmhXVbCmMk-G4fbQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/658/1*OKpZ_WtdYlo6wHFiDia32w.png" /></figure><p>Voila, we got the chance to learn tracing recursive functions &amp; also learnt how to solve a rather rudimentary recursive tracing problem more efficiently with some cute mathematical pattern 😝.</p><p>I hope everyone have learnt something from this article. <br>Please feel free to leave comments, just about anything related to this article content.</p><p>This is a series on Data Structures using C++. <br>Please feel free to check out my other articles related to this <a href="https://medium.com/thoughtful-navin/data-structures-using-c-basics-main-memory-section-d0309af4a7cd">topic</a>.</p><p>Cheers 🐍</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=682afe98b514" width="1" height="1" alt=""><hr><p><a href="https://medium.com/thoughtful-navin/data-structures-using-c-tracing-recursive-functions-682afe98b514">Data Structures using (C++) ~ Tracing Recursive Functions</a> was originally published in <a href="https://medium.com/thoughtful-navin">Thoughtful-Navin</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Data Structures using (C++) ~ Basics & Main Memory Section]]></title>
            <link>https://medium.com/thoughtful-navin/data-structures-using-c-basics-main-memory-section-d0309af4a7cd?source=rss-8cdf558ecf3e------2</link>
            <guid isPermaLink="false">https://medium.com/p/d0309af4a7cd</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[data-structures]]></category>
            <category><![CDATA[computer-science]]></category>
            <dc:creator><![CDATA[Navin Tamilchelvam]]></dc:creator>
            <pubDate>Wed, 01 Jan 2020 15:53:16 GMT</pubDate>
            <atom:updated>2020-02-22T07:42:34.998Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/930/1*xLTai_Jya7yD-ixk9xQ3vA.png" /></figure><p>Greetings Everyone 👋🏾</p><p>Im here to share my knowledge on what i’ve learnt about <strong>Data Structures</strong> in <strong>Computer Science</strong>. Many of us reading this, might have a good amount of knowledge in this, but i’ve also realised many of us including me; don’t really know how to do it or how to use it in practical situations.</p><p><em>Im coming from an electrical engineering background out of college. Having the knowledge of how electricity is generated, stored &amp; used, I always wondered how any sort of data is created, stored, converted and distributed within a computer.</em></p><p>I was always intrigued of the workings and capabilities of a computer using Data Structures. <br>Therefore, i have planned to write a mini series on Data Structures encompasses only of those details we might have missed out in school or while we were learning. <br>I hope i’m also able to shed some light on the inner workings &amp; behaviour of the main memory with data. In this series, i will only be using the language <strong>C++</strong> to demonstrate the function codes.</p><blockquote>What is Data Structure/s ??</blockquote><p>A Data Structure is a related group of <strong>primitive</strong> data elements organised for some type of common processing and is defined and manipulated in software. Computer hardware can’t manipulate data structures directly; it must deal with them in terms of their primitive components, such as integers, floating-point numbers, single characters, real numbers, boolean &amp; even memory addresses.</p><p>Computers can also process more <strong>complex</strong> data, such as strings, arrays, text files, databases &amp; digital representations of audio and image data, such as MP3, JPEG and MPEG files.</p><p><strong>Complex</strong> data formats are commonly manipulated by system and application software by combining primitive data items to form useful aggregations. Therefore, developing programs of any kind just with <strong>primitive</strong> data types would be difficult.</p><p>In our series, we will regularly be touching on the main memory of a computer. It is also called the <strong><em>Random Access Memory (RAM)</em></strong><em>. <br></em>I will be discussing on the different behaviours of the RAM in relation to the different data structures in use.</p><blockquote>How does a Main Memory (RAM) look like ??</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/668/1*-gaXpkmHjxcxKxoovQuAjQ.png" /></figure><p><strong>Let’s go from the bottom</strong><br>Once the C/C++ program is compiled, any Static and Global variables, functions and the main function will be located in the <strong>Code Section</strong>. This is done with the help of the compiler and linker. Therefore, Static and Global variable’s value can be re-used in a function to satisfy certain purpose or functionality. As we move on further in this series, you’d see examples of such usages.</p><p>Within the <strong>Stack</strong> area, those local variables within a function and function parameters if any; will appear within the stack area. It piles upwards as the application program calls on every other function to execute the given instruction by the user. <strong>Stack</strong> area can run out of space and this usually happens when a function runs infinitely.</p><p>The <strong>Heap</strong> area is where more of the run-time dynamic allocations are done.</p><p>In C language, the allocation is done using the <strong><em>malloc</em></strong> function &amp; <br>in C++ language, allocation is done using the <strong><em>new</em></strong> operator.</p><p>Every dynamic memory allocated must be manually deleted by the programmer using the <strong>delete</strong> operator because of the usage of pointers.</p><p>To learn about pointers goto my other article on pointers<br>👉🏾 <a href="https://medium.com/thoughtful-navin/what-are-pointers-2c89052d966e">What are pointers ?? 🤔</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*fRFEIydEtPYw7_CCAOSxgA.png" /><figcaption>Declaring a int pointer memory block using C language</figcaption></figure><p>The block of memory size initialised during run time would be <br><strong>(5 * 4(size of integer) = 20 bytes)</strong>. The malloc function in C language is used to dynamically allocate a single large block of memory with the specified size. In our series on Arrays, we will see more usage of this function with 2 Dimensional arrays.</p><p>That’s all for now folks. 🤗 🐍<br>As this article is published on 01/01/2020; I would like to wish every living thing on this planet a Happy New Year 2020. It’s the start of a new decade, so let’s set some serious goals and focus on the process that helps accomplish our goals. 🌎 🎆</p><p>Stay tuned for new updates on this series.<br>👉🏾 <a href="https://medium.com/thoughtful-navin/data-structures-using-c-tracing-recursive-functions-682afe98b514">Data Structures using (C++) ~ Tracing Recursive Functions</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d0309af4a7cd" width="1" height="1" alt=""><hr><p><a href="https://medium.com/thoughtful-navin/data-structures-using-c-basics-main-memory-section-d0309af4a7cd">Data Structures using (C++) ~ Basics &amp; Main Memory Section</a> was originally published in <a href="https://medium.com/thoughtful-navin">Thoughtful-Navin</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>