<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Algorithms on Fullstack with Santosh</title><link>https://santoshk.dev/tags/algorithms/</link><description>Recent content in Algorithms on Fullstack with Santosh</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Santosh Kumar</copyright><lastBuildDate>Tue, 04 Aug 2026 00:09:14 +0530</lastBuildDate><atom:link href="https://santoshk.dev/tags/algorithms/index.xml" rel="self" type="application/rss+xml"/><item><title>Implementing Linked List in Java: Part 1</title><link>https://santoshk.dev/posts/2022/implementing-linked-list-in-java-part-1/</link><pubDate>Sat, 09 Jul 2022 19:21:58 +0000</pubDate><guid>https://santoshk.dev/posts/2022/implementing-linked-list-in-java-part-1/</guid><description>&lt;h2 class="relative group"&gt;Introduction
 &lt;div id="introduction" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#introduction" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;In the last post, we have already seen that we can classify entire data structure into &lt;a href="https://santoshk.dev/posts/2020/data-structures-101/#types-of-data-structures" target="_blank" rel="noreferrer"&gt;linear and non-linear data structure&lt;/a&gt;. Today we will see how we can implement one of the linear data structures in Java.&lt;/p&gt;
&lt;p&gt;Initial plan was to implement Linked List in Python. But Python is so higher level that we&amp;rsquo;d be actually writing higher order data structure on top of high order data structure. What I try to say with that is Python already has those data structure implemented. Java is more close to C/C++, and gives a balance of features and flexibility. I&amp;rsquo;d have chosen C++ for this post, but I don&amp;rsquo;t want to deal with memory management and pointers for sake of this post.&lt;/p&gt;</description></item><item><title>Data Structures 101</title><link>https://santoshk.dev/posts/2020/data-structures-101/</link><pubDate>Sat, 10 Oct 2020 21:40:43 +0530</pubDate><guid>https://santoshk.dev/posts/2020/data-structures-101/</guid><description>&lt;h2 class="relative group"&gt;Introduction
 &lt;div id="introduction" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#introduction" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Like most self-taught programmers, I spent a lot of my years dabbling with different technologies. But there comes a time in every programmer&amp;rsquo;s life when they have to learn data structures and algorithms to proceed in their careers. In this post, I will go through the basics of data structures, what purpose they serve, and what&amp;rsquo;s common between all of them.&lt;/p&gt;</description></item><item><title>Benchmarking in Go, with Example</title><link>https://santoshk.dev/posts/2020/benchmarking-in-golang-with-example/</link><pubDate>Sat, 01 Aug 2020 22:50:29 +0530</pubDate><guid>https://santoshk.dev/posts/2020/benchmarking-in-golang-with-example/</guid><description>&lt;h2 class="relative group"&gt;Introduction
 &lt;div id="introduction" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#introduction" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;From &lt;a href="https://the-zen-of-go.netlify.app/" target="_blank" rel="noreferrer"&gt;The Zen of Go&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;If you think it’s slow, first prove it with a benchmark&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;Don&amp;rsquo;t assume if things are slow. Benchmark it and see if they are really slow.&lt;/p&gt;
&lt;p&gt;One thing to note here is &lt;em&gt;benchmarking&lt;/em&gt; a program is different from &lt;em&gt;profiling&lt;/em&gt; a program.&lt;/p&gt;
&lt;p&gt;Benchmarking is the way we check how fast our algorithm is for a given unit of the program. In benchmarking, we typically see how many iterations can a piece of code can run in a given time.&lt;/p&gt;</description></item></channel></rss>