<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Computational-Techniques on maladroit.dev</title><link>https://maladroit-dev-398201.gitlab.io/tags/computational-techniques/</link><description>Recent content in Computational-Techniques on maladroit.dev</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://maladroit-dev-398201.gitlab.io/tags/computational-techniques/index.xml" rel="self" type="application/rss+xml"/><item><title>Computational technique</title><link>https://maladroit-dev-398201.gitlab.io/kb/computer-engineering/computational-technique/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://maladroit-dev-398201.gitlab.io/kb/computer-engineering/computational-technique/</guid><description>&lt;h1 id="computational-technique"&gt;Computational Technique&lt;/h1&gt;</description></item><item><title>Pre-computation</title><link>https://maladroit-dev-398201.gitlab.io/kb/computer-engineering/pre-computation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://maladroit-dev-398201.gitlab.io/kb/computer-engineering/pre-computation/</guid><description>&lt;h1 id="pre-computation"&gt;Pre-computation&lt;/h1&gt;
&lt;p&gt;When the computational algorithm that is to be applied to a sub-array of the
array is involved or complex, it can be advantageous to take advantage of
pre-computation. This can take the shape of prefix/suffix operation or using
hashing.&lt;/p&gt;</description></item><item><title>Recursion</title><link>https://maladroit-dev-398201.gitlab.io/kb/computer-engineering/recursion/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://maladroit-dev-398201.gitlab.io/kb/computer-engineering/recursion/</guid><description>&lt;h1 id="recursion"&gt;Recursion&lt;/h1&gt;
&lt;p&gt;Recursion is a problem solving strategy that involves breaking a problem down
into smaller and smaller pieces and using those solutions collectively to find
the original solution. All recursive functions have at least these two parts:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A base case where the recursion stops&lt;/li&gt;
&lt;li&gt;Breaking the problem down and calling the function recursively&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="techniques"&gt;Techniques&lt;/h2&gt;
&lt;h3 id="memoization"&gt;Memoization&lt;/h3&gt;
&lt;p&gt;Some recursive functions may end up calling the same function multiple times.
When possible, store the results of previously calculated functions and re-use
the to improve efficiency.&lt;/p&gt;</description></item><item><title>Traverse from right</title><link>https://maladroit-dev-398201.gitlab.io/kb/computer-engineering/traverse-from-right/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://maladroit-dev-398201.gitlab.io/kb/computer-engineering/traverse-from-right/</guid><description>&lt;h1 id="traverse-from-right"&gt;Traverse-from-right&lt;/h1&gt;
&lt;p&gt;Occasionally it can be effect to traverse an array from right to left instead of
left to right.&lt;/p&gt;</description></item><item><title>Two pointers</title><link>https://maladroit-dev-398201.gitlab.io/kb/computer-engineering/two-pointers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://maladroit-dev-398201.gitlab.io/kb/computer-engineering/two-pointers/</guid><description>&lt;h1 id="two-pointers"&gt;Two pointers&lt;/h1&gt;
&lt;p&gt;The two pointers technique is a generalization of the
&lt;a href="https://maladroit-dev-398201.gitlab.io/kb/computer-engineering/sliding-window"&gt;Sliding-window&lt;/a&gt; technique. The primary
difference is that the two pointers can cross over one another and could
reference different arrays.&lt;/p&gt;
&lt;h2 id="common-use-cases"&gt;Common use cases&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Palindromic sub-strings&lt;/li&gt;
&lt;li&gt;Sorting colors&lt;/li&gt;
&lt;li&gt;Merging sorted arrays&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>