<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Algorithms on Karpoke - Just Another Blog</title><link>http://karpoke.ignaciocano.com/tags/algorithms/</link><description>Recent content in Algorithms on Karpoke - Just Another Blog</description><generator>Hugo -- 0.167.0</generator><language>es</language><lastBuildDate>Fri, 28 Nov 2025 06:20:25 +0100</lastBuildDate><atom:link href="http://karpoke.ignaciocano.com/tags/algorithms/index.xml" rel="self" type="application/rss+xml"/><item><title>Fizzbuzz, Functional Style</title><link>http://karpoke.ignaciocano.com/2025/11/28/fizzbuzz-functional-style/</link><pubDate>Fri, 28 Nov 2025 06:20:25 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2025/11/28/fizzbuzz-functional-style/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Knowing and Doing: November 2025 Archives&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» cs.uni.edu | &lt;a href="https://www.cs.uni.edu/~wallingf/blog/archives/monthly/2025-11.html#e2025-11-27T20_10_28.htm"&gt;cs.uni.edu&lt;/a&gt;&lt;/p&gt;</description></item><item><title>La teoría de juegos de cómo los algoritmos pueden hacer subir los precios</title><link>http://karpoke.ignaciocano.com/2025/11/04/la-teoria-de-juegos-de-como-los-algoritmos-pueden-hacer-subir-los-precios/</link><pubDate>Tue, 04 Nov 2025 16:51:45 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2025/11/04/la-teoria-de-juegos-de-como-los-algoritmos-pueden-hacer-subir-los-precios/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Estudios recientes revelan que incluso los algoritmos de fijación de
precios más simples pueden encarecer las cosas.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» César Tomé | &lt;a href="https://culturacientifica.com/2025/11/04/la-teoria-de-juegos-de-como-los-algoritmos-pueden-hacer-subir-los-precios/"&gt;culturacientifica.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Métodos de compresión: qué son y cómo funciona</title><link>http://karpoke.ignaciocano.com/2024/12/26/metodos-de-compresion-que-son-y-como-funciona/</link><pubDate>Thu, 26 Dec 2024 08:58:23 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2024/12/26/metodos-de-compresion-que-son-y-como-funciona/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Aquí podrás conocer todos los métodos de compresión que existen para
reducir el tamaño de los archivos y datos&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» Isaac | &lt;a href="https://www.profesionalreview.com/2024/12/25/metodos-de-compresion-que-son-y-como-funciona/"&gt;profesionalreview.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Learn Data Structures and Algorithms in 48 Hours</title><link>http://karpoke.ignaciocano.com/2024/02/20/learn-data-structures-and-algorithms-in-48-hours/</link><pubDate>Tue, 20 Feb 2024 22:47:48 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2024/02/20/learn-data-structures-and-algorithms-in-48-hours/</guid><description>&lt;blockquote&gt;
&lt;p&gt;In the realm of software development, mastering Data Structures and
Algorithms could be a critical step towards securing your dream job. We
just posted a course on the freeCodeCamp.org YouTube channel that will
equip you with the knowledge to excel i&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» freeCodeCamp.org | &lt;a href="https://www.freecodecamp.org/news/learn-data-structures-and-algorithms-2/"&gt;freecodecamp.org&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Avalanche Algorithm — How To Calculate the Maximum Possible Path in a Binary Tree</title><link>http://karpoke.ignaciocano.com/2024/02/12/the-avalanche-algorithm-how-to-calculate-the-maximum-possible-path-in-a-binary-t/</link><pubDate>Mon, 12 Feb 2024 13:27:46 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2024/02/12/the-avalanche-algorithm-how-to-calculate-the-maximum-possible-path-in-a-binary-t/</guid><description>&lt;blockquote&gt;
&lt;p&gt;In this article we try to calculate the maximum possible path in a
binary tree, describing a more efficient method than the brute force
solution.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» hackernoon.com | &lt;a href="https://hackernoon.com/the-avalanche-algorithm-how-to-calculate-the-maximum-possible-path-in-a-binary-tree"&gt;hackernoon.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Data Structures Handbook – The Key to Scalable Software</title><link>http://karpoke.ignaciocano.com/2023/11/23/data-structures-handbook-the-key-to-scalable-software/</link><pubDate>Thu, 23 Nov 2023 13:44:27 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2023/11/23/data-structures-handbook-the-key-to-scalable-software/</guid><description>&lt;blockquote&gt;
&lt;p&gt;If you&amp;rsquo;re regularly confronted by the complexity of modern data, you’re
not alone. In our data-centric world, understanding data structures
isn’t optional — it’s essential. Whether you’re a novice coder or an
experienced developer, this handbook is &amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» freeCodeCamp.org | &lt;a href="https://www.freecodecamp.org/news/data-structures-the-key-to-scalable-software/"&gt;freecodecamp.org&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Binary Search – Algorithm and Time Complexity Explained</title><link>http://karpoke.ignaciocano.com/2023/07/13/binary-search-algorithm-and-time-complexity-explained/</link><pubDate>Thu, 13 Jul 2023 20:54:08 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2023/07/13/binary-search-algorithm-and-time-complexity-explained/</guid><description>&lt;blockquote&gt;
&lt;p&gt;When working with arrays, you’ll often have to search through them to
check if they contain a target element. You can always run a sequential
search—scanning the array from the beginning to the end—on the array.
But if the array is sorted, running th&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» freeCodeCamp.org | &lt;a href="https://www.freecodecamp.org/news/binary-search-algorithm-and-time-complexity-explained/"&gt;freecodecamp.org&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Exploring Graph Traversal: From Breadth-First Search to Dijkstra's Algorithm</title><link>http://karpoke.ignaciocano.com/2023/03/14/exploring-graph-traversal-from-breadth-first-search-to-dijkstra-s-algorithm/</link><pubDate>Tue, 14 Mar 2023 15:33:48 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2023/03/14/exploring-graph-traversal-from-breadth-first-search-to-dijkstra-s-algorithm/</guid><description>&lt;blockquote&gt;
&lt;p&gt;In this article, the breadth-first search algorithm is explained with
examples and implementations, including how it can be modified to find
the shortest paths.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» hackernoon.com | &lt;a href="https://hackernoon.com/exploring-graph-traversal-from-breadth-first-search-to-dijkstras-algorithm"&gt;hackernoon.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Convert Sorted Array to Binary Search Tree</title><link>http://karpoke.ignaciocano.com/2023/02/12/convert-sorted-array-to-binary-search-tree/</link><pubDate>Sun, 12 Feb 2023 09:33:33 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2023/02/12/convert-sorted-array-to-binary-search-tree/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Using Kotlin at your technical interviews!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» hackernoon.com | &lt;a href="https://hackernoon.com/convert-sorted-array-to-binary-search-tree"&gt;hackernoon.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Big O Cheat Sheet – Time Complexity Chart</title><link>http://karpoke.ignaciocano.com/2022/10/07/big-o-cheat-sheet-time-complexity-chart/</link><pubDate>Fri, 07 Oct 2022 11:00:30 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2022/10/07/big-o-cheat-sheet-time-complexity-chart/</guid><description>&lt;blockquote&gt;
&lt;p&gt;An algorithm is a set of well-defined instructions for solving a
specific problem. You can solve these problems in various ways. This
means that the method you use to arrive at the same solution may differ
from mine, but we should both get the same r&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» olawanletjoel | &lt;a href="https://www.freecodecamp.org/news/big-o-cheat-sheet-time-complexity-chart/"&gt;freecodecamp.org&lt;/a&gt;&lt;/p&gt;</description></item><item><title>PyCoderâs Weekly: Issue #541 (Sept. 6, 2022)</title><link>http://karpoke.ignaciocano.com/2022/09/07/pycoderas-weekly-issue-541-sept-6-2022/</link><pubDate>Wed, 07 Sep 2022 02:05:42 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2022/09/07/pycoderas-weekly-issue-541-sept-6-2022/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Writing Code Completers, String Methods, Dragon Fractals, and More&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» PyCoder’s Weekly | &lt;a href="https://pycoders.com/issues/541"&gt;pycoders.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Big O</title><link>http://karpoke.ignaciocano.com/2022/08/03/the-big-o/</link><pubDate>Wed, 03 Aug 2022 16:58:53 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2022/08/03/the-big-o/</guid><description>&lt;blockquote&gt;
&lt;p&gt;The Big O is a way to measure how well your code solves a problem&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» hackernoon.com | &lt;a href="https://hackernoon.com/the-big-o"&gt;hackernoon.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Java Algorithms: Linked List in Binary Tree (LeetCode)</title><link>http://karpoke.ignaciocano.com/2022/07/12/java-algorithms-linked-list-in-binary-tree-leetcode/</link><pubDate>Tue, 12 Jul 2022 09:36:15 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2022/07/12/java-algorithms-linked-list-in-binary-tree-leetcode/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Linked List in Binary Tree&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» hackernoon.com | &lt;a href="https://hackernoon.com/java-algorithms-linked-list-in-binary-tree-leetcode"&gt;hackernoon.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>El famoso problema del 15-puzzle en Prolog</title><link>http://karpoke.ignaciocano.com/2022/06/19/el-famoso-problema-del-15-puzzle-en-prolog/</link><pubDate>Sun, 19 Jun 2022 21:08:49 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2022/06/19/el-famoso-problema-del-15-puzzle-en-prolog/</guid><description>&lt;blockquote&gt;
&lt;p&gt;El famoso problema del 15-puzzle en Prolog&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» blog.adrianistan.eu | &lt;a href="https://blog.adrianistan.eu/famoso-problema-15-puzzle"&gt;blog.adrianistan.eu&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Resolviendo el problema de las 3 jarras usando automaton y clpz</title><link>http://karpoke.ignaciocano.com/2022/06/19/resolviendo-el-problema-de-las-3-jarras-usando-automaton-y-clpz/</link><pubDate>Sun, 19 Jun 2022 21:08:22 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2022/06/19/resolviendo-el-problema-de-las-3-jarras-usando-automaton-y-clpz/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Resolviendo el problema de las 3 jarras usando automaton y clpz&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» blog.adrianistan.eu | &lt;a href="https://blog.adrianistan.eu/resolviendo-3-jarras-jugs-automaton-clpz"&gt;blog.adrianistan.eu&lt;/a&gt;&lt;/p&gt;</description></item><item><title>El algoritmo SHA-256 explicado y visualizado paso a paso, bit a bit</title><link>http://karpoke.ignaciocano.com/2022/02/27/el-algoritmo-sha-256-explicado-y-visualizado-paso-a-paso-bit-a-bit/</link><pubDate>Sun, 27 Feb 2022 15:03:26 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2022/02/27/el-algoritmo-sha-256-explicado-y-visualizado-paso-a-paso-bit-a-bit/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Esta maravilla creada por Domingo Martín llamada simplemente El
Algoritmo SHA256 Explicado muestra cómo funciona exactamente el SHA-256,
un algoritmo que se corresponde con la función hash criptográfica de 256
bits del Secure Hash Algorithm 2, creada por la NSA (Agencia&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» @Alvy | &lt;a href="https://www.microsiervos.com/archivo/seguridad/algoritmo-sha-256-explicado-visualizado-paso-a-paso-bit-a-bit.html"&gt;microsiervos.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>[Libro] En busca del grafo perdido</title><link>http://karpoke.ignaciocano.com/2021/12/31/libro-en-busca-del-grafo-perdido/</link><pubDate>Fri, 31 Dec 2021 09:05:37 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/12/31/libro-en-busca-del-grafo-perdido/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Si preguntamos a una persona al azar qué es un grafo, posiblemente no
sepa a qué nos referimos. Y eso a pesar de que los grafos están
rodeándonos (y&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» ^DiAmOnD^ | &lt;a href="https://www.gaussianos.com/libro-en-busca-del-grafo-perdido/"&gt;gaussianos.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Merge Sort and Quick Sort!</title><link>http://karpoke.ignaciocano.com/2021/11/10/merge-sort-and-quick-sort/</link><pubDate>Wed, 10 Nov 2021 14:25:35 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/11/10/merge-sort-and-quick-sort/</guid><description>&lt;blockquote&gt;
&lt;p&gt;In this article I am going to explain two sorting algorithms, Merge Sort
and Quick Sort with detailed&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/suchitra_13/merge-sort-and-quick-sort-icn"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>How to Make an xkcd Comic with a Tiny Tweetable Algorithm Discover Fun Facts about Namesake Cities</title><link>http://karpoke.ignaciocano.com/2021/09/12/how-to-make-an-xkcd-comic-with-a-tiny-tweetable-algorithm-discover-fun-facts-abo/</link><pubDate>Sun, 12 Sep 2021 10:25:41 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/09/12/how-to-make-an-xkcd-comic-with-a-tiny-tweetable-algorithm-discover-fun-facts-abo/</guid><description>&lt;blockquote&gt;
&lt;p&gt;How to use Wolfram&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» blog.wolfram.com | &lt;a href="https://blog.wolfram.com/2021/09/10/how-to-make-an-xkcd-comic-with-a-tiny-tweetable-algorithm-discover-fun-facts-about-namesake-cities/"&gt;blog.wolfram.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Merge Two Sorted Arrays</title><link>http://karpoke.ignaciocano.com/2021/09/07/merge-two-sorted-arrays/</link><pubDate>Tue, 07 Sep 2021 07:42:59 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/09/07/merge-two-sorted-arrays/</guid><description>&lt;blockquote&gt;
&lt;p&gt;BruteForce. Straight forward solution. Time complexity O(nlogn). Space
complexity&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/gangzhaorige/merge-two-sorted-arrays-3623"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Generate all kinds of permutations and combinations using backtracking</title><link>http://karpoke.ignaciocano.com/2021/08/19/generate-all-kinds-of-permutations-and-combinations-using-backtracking/</link><pubDate>Thu, 19 Aug 2021 14:07:15 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/08/19/generate-all-kinds-of-permutations-and-combinations-using-backtracking/</guid><description>&lt;blockquote&gt;
&lt;p&gt;There are four kinds of permutations or combinations possible based on
whether repetition is allowed&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/dhavalraj007/generate-all-kinds-of-permutations-and-combinations-using-backtracking-41he"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Understanding Backtracking</title><link>http://karpoke.ignaciocano.com/2021/08/15/understanding-backtracking/</link><pubDate>Sun, 15 Aug 2021 14:51:51 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/08/15/understanding-backtracking/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Abstract Pseudo code to help understand the gist of backtracking bool
Solve(configuration&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/dhavalraj007/backtracking-notes-o0h"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Big O, code efficiency analysis</title><link>http://karpoke.ignaciocano.com/2021/08/13/big-o-code-efficiency-analysis/</link><pubDate>Fri, 13 Aug 2021 14:13:01 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/08/13/big-o-code-efficiency-analysis/</guid><description>&lt;blockquote&gt;
&lt;p&gt;In this article I would do my best to introduce you to algorithmic
complexity and a way to roughly&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/kerosz/big-o-code-efficiency-analysis-phk"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Los bots del dinero</title><link>http://karpoke.ignaciocano.com/2021/08/01/los-bots-del-dinero/</link><pubDate>Sun, 01 Aug 2021 13:38:50 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/08/01/los-bots-del-dinero/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Documental sobre el comercio de alta frecuencia. Aborda el nuevo modus
operandi de los mercados de valores y las consecuencias para la economía
real.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» RTVE.es | &lt;a href="https://www.rtve.es/play/videos/documentos-tv/bots-del-dinero/5765104/"&gt;rtve.es&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Four Rules for Big O</title><link>http://karpoke.ignaciocano.com/2021/07/26/four-rules-for-big-o/</link><pubDate>Mon, 26 Jul 2021 07:56:57 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/07/26/four-rules-for-big-o/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Worst case When calculating for the Big O of algorithms we’re supposed
to assume the&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/coderjay06/four-rules-for-big-o-1915"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Dijkstra's shortest path algorithm</title><link>http://karpoke.ignaciocano.com/2021/07/12/dijkstra-s-shortest-path-algorithm/</link><pubDate>Mon, 12 Jul 2021 11:15:27 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/07/12/dijkstra-s-shortest-path-algorithm/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Hello, this is #day_29, I&amp;rsquo;m going to talk about Dijkstra&amp;rsquo;s shortest path
algorithm &amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/ayabouchiha/dijkstra-s-shortest-path-algorithm-2ek0"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Breadth First Search (BFS) Algorithm</title><link>http://karpoke.ignaciocano.com/2021/07/11/breadth-first-search-bfs-algorithm/</link><pubDate>Sun, 11 Jul 2021 11:09:23 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/07/11/breadth-first-search-bfs-algorithm/</guid><description>&lt;blockquote&gt;
&lt;p&gt;hi guys, on this beautiful day we&amp;rsquo;ll talk about Breadth-First Search
Definition of&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/ayabouchiha/breadth-first-search-bfs-algorithm-1m5c"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Depth First Search (DFS) Algorithm</title><link>http://karpoke.ignaciocano.com/2021/07/11/depth-first-search-dfs-algorithm/</link><pubDate>Sun, 11 Jul 2021 10:22:30 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/07/11/depth-first-search-dfs-algorithm/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Hi, today, we&amp;rsquo;re going to talk about Depth First Search (DFS) Definition
of Depth First&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/ayabouchiha/depth-first-search-dfs-algorithm-3gjp"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Big(O) Notation summarized!</title><link>http://karpoke.ignaciocano.com/2021/07/09/big-o-notation-summarized/</link><pubDate>Fri, 09 Jul 2021 14:32:09 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/07/09/big-o-notation-summarized/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Big(O) is the way in which we compare algorithmic complexities of two
programs in a standard&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/chinedu/big-o-notaion-summarized-1fb8"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Fibonacci, the fast way!</title><link>http://karpoke.ignaciocano.com/2021/06/26/fibonacci-the-fast-way/</link><pubDate>Sat, 26 Jun 2021 14:27:06 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/06/26/fibonacci-the-fast-way/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Introduction If you have some dignity, you should know what Fibonacci
numbers are. But if&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/zigliad/fibonacci-the-fast-way-296f"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Quick sort algorithm</title><link>http://karpoke.ignaciocano.com/2021/06/25/quick-sort-algorithm/</link><pubDate>Fri, 25 Jun 2021 11:14:41 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/06/25/quick-sort-algorithm/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Definition of quicksort Quicksort is a type of Divide and Conquer
algorithm like merge&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/ayabouchiha/quick-sort-algorithm-1k72"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Insertion sort algorithm</title><link>http://karpoke.ignaciocano.com/2021/06/22/insertion-sort-algorithm/</link><pubDate>Tue, 22 Jun 2021 09:46:28 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/06/22/insertion-sort-algorithm/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Definition of insertion sort Insertion sort is a type of sorting
algorithms that works&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/ayabouchiha/insertion-sort-algorithm-2gj3"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Interpolation search algorithm</title><link>http://karpoke.ignaciocano.com/2021/06/19/interpolation-search-algorithm/</link><pubDate>Sat, 19 Jun 2021 20:46:10 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/06/19/interpolation-search-algorithm/</guid><description>&lt;blockquote&gt;
&lt;p&gt;definition of interpolation search The Interpolation Search is an
improvement over Binary&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/ayabouchiha/interpolation-search-algorithm-6nf"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Binary search algorithm</title><link>http://karpoke.ignaciocano.com/2021/06/19/binary-search-algorithm/</link><pubDate>Sat, 19 Jun 2021 20:43:19 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/06/19/binary-search-algorithm/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Hi, this is #day_6, we&amp;rsquo;re going to talk about Binary Search Algorithm.
Definition of the&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/ayabouchiha/binary-search-algorithm-32ki"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Linear Search Algorithm</title><link>http://karpoke.ignaciocano.com/2021/06/18/linear-search-algorithm/</link><pubDate>Fri, 18 Jun 2021 08:36:20 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/06/18/linear-search-algorithm/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Linear Search Definition Linear search also called sequential search is
a type of search&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/ayabouchiha/linear-search-algorithm-31dn"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Data Structures: Graphs</title><link>http://karpoke.ignaciocano.com/2021/06/17/data-structures-graphs/</link><pubDate>Thu, 17 Jun 2021 18:18:27 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/06/17/data-structures-graphs/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Introduction Graphs. Everyone talks about them. They always ask them
in&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/tamerlang/data-structures-graphs-2960"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Queue Data Structure</title><link>http://karpoke.ignaciocano.com/2021/06/15/queue-data-structure/</link><pubDate>Tue, 15 Jun 2021 20:08:37 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/06/15/queue-data-structure/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Hi, today, we&amp;rsquo;re going to discuss queue :) Definition Of Queue A Queue
is a linear data&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/ayabouchiha/queue-data-structure-2hfg"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Solution: Construct Binary Tree from Preorder and Inorder Traversal</title><link>http://karpoke.ignaciocano.com/2021/06/09/solution-construct-binary-tree-from-preorder-and-inorder-traversal/</link><pubDate>Wed, 09 Jun 2021 08:30:56 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/06/09/solution-construct-binary-tree-from-preorder-and-inorder-traversal/</guid><description>&lt;blockquote&gt;
&lt;p&gt;This is part of a series of Leetcode solution explanations (index). If
you liked this solution or fou&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/seanpgallivan/solution-construct-binary-tree-from-preorder-and-inorder-traversal-32c5"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Introduction of Fast Fourier Transformation (FFT)</title><link>http://karpoke.ignaciocano.com/2021/05/29/introduction-of-fast-fourier-transformation-fft/</link><pubDate>Sat, 29 May 2021 22:34:51 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/05/29/introduction-of-fast-fourier-transformation-fft/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Introduction Suppose you have an audio file, or even a video file, or
let&amp;rsquo;s say you have a&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/aipool3/introduction-of-fast-fourier-transformation-fft-555k"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Solution: Convert Sorted List to Binary Search Tree</title><link>http://karpoke.ignaciocano.com/2021/05/06/solution-convert-sorted-list-to-binary-search-tree/</link><pubDate>Thu, 06 May 2021 14:39:59 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/05/06/solution-convert-sorted-list-to-binary-search-tree/</guid><description>&lt;blockquote&gt;
&lt;p&gt;This is part of a series of Leetcode solution explanations (index). If
you liked this solution or fou&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/seanpgallivan/solution-convert-sorted-list-to-binary-search-tree-2i0e"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Problem Solving Patterns</title><link>http://karpoke.ignaciocano.com/2021/02/11/problem-solving-patterns/</link><pubDate>Thu, 11 Feb 2021 15:18:23 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/02/11/problem-solving-patterns/</guid><description>&lt;blockquote&gt;
&lt;p&gt;-Problem Solving Patterns -Frequency Counter Patterns &amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/code_regina/problem-solving-patterns-j4k"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Big O Notation</title><link>http://karpoke.ignaciocano.com/2021/01/13/big-o-notation/</link><pubDate>Wed, 13 Jan 2021 09:01:13 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/01/13/big-o-notation/</guid><description>&lt;blockquote&gt;
&lt;p&gt;-Intro to Big O -Timing Our Code -Counting&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/code_regina/big-o-notation-2ng0"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>8 must-know sorting algorithms</title><link>http://karpoke.ignaciocano.com/2020/10/18/8-must-know-sorting-algorithms/</link><pubDate>Sun, 18 Oct 2020 21:34:58 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/10/18/8-must-know-sorting-algorithms/</guid><description>&lt;blockquote&gt;
&lt;p&gt;In this post, I am going to show you common sorting algorithms and
provide their implementation in py&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/koladev/8-must-know-sorting-algorithms-5ja"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Recursion vs Iteration: 13 Ways to Traverse a Tree.</title><link>http://karpoke.ignaciocano.com/2020/10/18/recursion-vs-iteration-13-ways-to-traverse-a-tree/</link><pubDate>Sun, 18 Oct 2020 10:56:37 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/10/18/recursion-vs-iteration-13-ways-to-traverse-a-tree/</guid><description>&lt;blockquote&gt;
&lt;p&gt;To understand recursion, you must understand recursion. I will show you
13 different ways to traverse&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/codinglanguages/recursion-vs-iteration-13-ways-to-traverse-a-tree-2n89"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>A Gentle Introduction to the Big O Notation, Time &amp; Space Complexity</title><link>http://karpoke.ignaciocano.com/2020/10/15/a-gentle-introduction-to-the-big-o-notation-time-space-complexity/</link><pubDate>Thu, 15 Oct 2020 14:50:52 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/10/15/a-gentle-introduction-to-the-big-o-notation-time-space-complexity/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Introduction I have been in Software Engineering for a decade and a half
and I am not a Co&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/skaytech/a-gentle-introduction-to-the-big-o-notation-time-space-complexity-3hdd"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>WTF is a Binary Search Tree?</title><link>http://karpoke.ignaciocano.com/2020/10/07/wtf-is-a-binary-search-tree/</link><pubDate>Wed, 07 Oct 2020 16:31:28 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/10/07/wtf-is-a-binary-search-tree/</guid><description>&lt;blockquote&gt;
&lt;p&gt;The binary tree is a type of data structure that is commonly used to
represent hierarchical data. It is an efficient way of storing and
organizing data that is ranked in parent nodes and child nodes.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» hackernoon.com | &lt;a href="https://hackernoon.com/wtf-is-a-binary-search-tree-9ky3wk4"&gt;hackernoon.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Dijkstra's Shortest Path Algorithm - A Detailed and Visual Introduction</title><link>http://karpoke.ignaciocano.com/2020/09/28/dijkstra-s-shortest-path-algorithm-a-detailed-and-visual-introduction/</link><pubDate>Mon, 28 Sep 2020 21:34:58 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/09/28/dijkstra-s-shortest-path-algorithm-a-detailed-and-visual-introduction/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Welcome! If you&amp;rsquo;ve always wanted to learn and understand Dijkstra&amp;rsquo;s
algorithm, then this article is for you. You will see how it works
behind the scenes with a step-by-step graphical explanation. You will
learn: Basic Graph Concepts (a quick review&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» freeCodeCamp.org | &lt;a href="https://www.freecodecamp.org/news/dijkstras-shortest-path-algorithm-visual-introduction/"&gt;freecodecamp.org&lt;/a&gt;&lt;/p&gt;</description></item><item><title>How to learn (not memorize) any algorithm or data structure. Analysis of 20 problem-solving techniques you must know</title><link>http://karpoke.ignaciocano.com/2020/09/03/how-to-learn-not-memorize-any-algorithm-or-data-structure-analysis-of-20-problem/</link><pubDate>Thu, 03 Sep 2020 22:52:27 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/09/03/how-to-learn-not-memorize-any-algorithm-or-data-structure-analysis-of-20-problem/</guid><description>&lt;blockquote&gt;
&lt;p&gt;This article was originally published in my blog &lt;a href="https://www.yourdevopsguy.com"&gt;www.yourdevopsguy.com&lt;/a&gt;.
This is the article I wish I&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/codinglanguages/how-to-learn-not-memorize-any-algorithm-or-data-structure-analysis-of-20-problem-solving-techniques-you-must-know-d77"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Complete Introduction to the 30 Most Essential Data Structures &amp; Algorithms</title><link>http://karpoke.ignaciocano.com/2020/09/03/complete-introduction-to-the-30-most-essential-data-structures-algorithms/</link><pubDate>Thu, 03 Sep 2020 22:52:23 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/09/03/complete-introduction-to-the-30-most-essential-data-structures-algorithms/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Data Structures &amp;amp; Algorithms (DSA) is often considered to be an
intimidating topic - a common&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/iuliagroza/complete-introduction-to-the-30-most-essential-data-structures-algorithms-43kd"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>How Do We Get a Balanced Binary Tree?</title><link>http://karpoke.ignaciocano.com/2020/09/01/how-do-we-get-a-balanced-binary-tree/</link><pubDate>Tue, 01 Sep 2020 22:28:34 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/09/01/how-do-we-get-a-balanced-binary-tree/</guid><description>&lt;blockquote&gt;
&lt;p&gt;A binary tree can be empty, implying zero nodes in the tree. The cool
thing about &lt;code&gt;binary trees&lt;/code&gt; is that they are recursive structures.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/jacobjzhang/how-do-we-get-a-balanced-binary-tree-259e"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>How to Design an Algorithm</title><link>http://karpoke.ignaciocano.com/2020/08/24/how-to-design-an-algorithm/</link><pubDate>Mon, 24 Aug 2020 15:35:29 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/08/24/how-to-design-an-algorithm/</guid><description>&lt;blockquote&gt;
&lt;p&gt;One of my favorite parts about studying and coming up with algorithms is
seeing the different approac&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/christinamcmahon/how-to-design-an-algorithm-2g9c"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Big O Notation for beginners!!</title><link>http://karpoke.ignaciocano.com/2020/08/15/big-o-notation-for-beginners/</link><pubDate>Sat, 15 Aug 2020 17:23:56 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/08/15/big-o-notation-for-beginners/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Why beginners should not be afraid of AL As a code newbie, I have read a
few posts that sa&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/tracycss/big-o-notation-for-beginners-4b51"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Algorithms + Datastructures = (Faster) Programs</title><link>http://karpoke.ignaciocano.com/2020/07/27/algorithms-datastructures-faster-programs/</link><pubDate>Mon, 27 Jul 2020 15:51:42 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/07/27/algorithms-datastructures-faster-programs/</guid><description>&lt;blockquote&gt;
&lt;p&gt;In which I recover from complacency in speeding up a StackOverflow
solution by learning (and explaining here), a new algorithm that I test
u&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» paddy3118.blogspot.com | &lt;a href="https://paddy3118.blogspot.com/2020/07/algorithms-datastructures-faster.html"&gt;paddy3118.blogspot.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Big-O For the Non-CS Degree - Part 2</title><link>http://karpoke.ignaciocano.com/2020/07/04/big-o-for-the-non-cs-degree-part-2/</link><pubDate>Sat, 04 Jul 2020 20:27:14 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/07/04/big-o-for-the-non-cs-degree-part-2/</guid><description>&lt;blockquote&gt;
&lt;p&gt;If you’re reading this, and haven’t read part one in the series I
recommend reading that first. There&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/travislramos/big-o-for-the-non-cs-degree-part-2-11cc"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Intro to Binary Search</title><link>http://karpoke.ignaciocano.com/2020/04/19/intro-to-binary-search/</link><pubDate>Sun, 19 Apr 2020 09:08:21 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/04/19/intro-to-binary-search/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Quick Overview Binary search is an important searching algorithm to
learn for technical in&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/racheladaw/intro-to-binary-search-385o"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Essential Algorithms: The Quick Sort</title><link>http://karpoke.ignaciocano.com/2020/03/26/essential-algorithms-the-quick-sort/</link><pubDate>Thu, 26 Mar 2020 00:45:11 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/03/26/essential-algorithms-the-quick-sort/</guid><description>&lt;blockquote&gt;
&lt;p&gt;The Quick Sort is an interesting algorithm and a favorite among software
engineers, with some unique advantages and quirks worth looking into.
Quick Sort can be highly efficient, often outperforming Merge Sort,
although certain cases can make it behave slowly like Bubble Sort…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» hackernoon.com | &lt;a href="https://hackernoon.com/essential-algorithms-the-quick-sort-mr1q32wr"&gt;hackernoon.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Codementor: K-Nearest Neighbors explained</title><link>http://karpoke.ignaciocano.com/2020/02/12/codementor-k-nearest-neighbors-explained/</link><pubDate>Wed, 12 Feb 2020 13:34:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/02/12/codementor-k-nearest-neighbors-explained/</guid><description>&lt;blockquote&gt;
&lt;p&gt;In this post, I explain the intuition and logic behind KNN algorithm and
show simple implementation written in pure pandas which yield 98%
accuracy on the IRIS dataset.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» Volodymyr Lut | &lt;a href="https://www.codementor.io/@volodymyrlut/k-nearest-neighbors-explained-13jm2ii1gx"&gt;codementor.io&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The most important sorting algorithm you need to know</title><link>http://karpoke.ignaciocano.com/2020/02/09/the-most-important-sorting-algorithm-you-need-to-know/</link><pubDate>Sun, 09 Feb 2020 16:28:53 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/02/09/the-most-important-sorting-algorithm-you-need-to-know/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Timsort Timsort is the most popular sorting algorithm that you&amp;rsquo;ve never
heard of. If you&amp;rsquo;v&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/captainsafia/the-most-important-sorting-algorithm-you-need-to-know-38e0"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>How to check if a binary tree is balanced</title><link>http://karpoke.ignaciocano.com/2020/02/08/how-to-check-if-a-binary-tree-is-balanced/</link><pubDate>Sat, 08 Feb 2020 12:21:51 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/02/08/how-to-check-if-a-binary-tree-is-balanced/</guid><description>&lt;blockquote&gt;
&lt;p&gt;An O(n) algorithm to check if a binary tree is balanced, by passing up
the height from recursive calls.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» jameshfisher.com | &lt;a href="https://jameshfisher.com/2020/01/23/how-to-check-if-a-binary-tree-is-balanced/"&gt;jameshfisher.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Notes on algorithms</title><link>http://karpoke.ignaciocano.com/2020/01/10/notes-on-algorithms/</link><pubDate>Fri, 10 Jan 2020 23:25:21 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/01/10/notes-on-algorithms/</guid><description>&lt;blockquote&gt;
&lt;p&gt;notes on algorithms after CS50 week 3&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/hexangel616/notes-on-algorithms-36pi"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>10 Data Structure &amp; Algorithms Books Every Programmer Should Read</title><link>http://karpoke.ignaciocano.com/2019/06/21/10-data-structure-amp-algorithms-books-every-programmer-should-read/</link><pubDate>Fri, 21 Jun 2019 15:11:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2019/06/21/10-data-structure-amp-algorithms-books-every-programmer-should-read/</guid><description>&lt;blockquote&gt;
&lt;p&gt;A collection of awesome Algorithms books which should find a place in every
programmer’s book self. Includes language specific books in Java, Python,
and JavaScript for easy learning. Algorithms are language agnostic and any
programmer worth their salt should be able to convert them to code in their
programming language of choice.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» Hacker Noon | &lt;a href="https://hackernoon.com/10-data-structure-algorithms-books-every-programmer-should-read-d50487313127----3a8144eabfe3---4"&gt;hackernoon.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>10 Data Structure, Algorithms, and Programming Courses to Crack Any Coding Interview</title><link>http://karpoke.ignaciocano.com/2018/10/26/10-data-structure-algorithms-and-programming-courses-to-crack-any-coding-interview/</link><pubDate>Fri, 26 Oct 2018 04:21:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2018/10/26/10-data-structure-algorithms-and-programming-courses-to-crack-any-coding-interview/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Many junior developers dream of making it at one of the larger tech
companies, but, to be honest with you, getting your first job is never easy.
It is, in fact, one of the hardest things in your life and you need to put
your best effort to find a job in your dream company.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» Hacker Noon | &lt;a href="https://hackernoon.com/10-data-structure-algorithms-and-programming-courses-to-crack-any-coding-interview-e1c50b30b927"&gt;hackernoon.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Programming Pearls and Python fails</title><link>http://karpoke.ignaciocano.com/2016/09/22/programming-pearls-and-python-fails/</link><pubDate>Thu, 22 Sep 2016 08:30:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2016/09/22/programming-pearls-and-python-fails/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Computer science books contains timeless wisdom, but performance advice
doesn’t always age well. When reading Programming Pearls, by Jon Bentley,
I’ve found more modern hardware advances that puts conventional wisdom on
its head.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» Franklin He | &lt;a href="https://medium.com/@n0mad/programming-pearls-and-python-fails-c4fc2962c3ed#.h0k9913hy"&gt;medium.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Demystifying the regular expression that checks if a number is prime</title><link>http://karpoke.ignaciocano.com/2016/09/10/demystifying-the-regular-expression-that-checks-if-a-number-is-prime/</link><pubDate>Sat, 10 Sep 2016 18:02:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2016/09/10/demystifying-the-regular-expression-that-checks-if-a-number-is-prime/</guid><description>&lt;blockquote&gt;
&lt;p&gt;A while back I was researching the most efficient way to check if a number
is prime. This lead me to find the following piece of code:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;public static boolean isPrime(int n) {
return !new String(new char[n]).matches(”.?|(..+?)\\1+”);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I was intrigued. While this might not be the most efficient way, it’s
certainly one of the less obvious ones, so my curiosity kicked in. How on
Earth could a match for the .?|(..+?)\1+ regular expression tell that a
number is not prime (once it’s converted to its unary representation)?&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Probability, Paradox, and the Reasonable Person Principle</title><link>http://karpoke.ignaciocano.com/2015/10/17/probability-paradox-and-the-reasonable-person-principle/</link><pubDate>Sat, 17 Oct 2015 12:05:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2015/10/17/probability-paradox-and-the-reasonable-person-principle/</guid><description>&lt;blockquote&gt;
&lt;p&gt;In this notebook, we cover the basics of probability theory, and show
how to implement the theory in Python.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» Peter Norvig | &lt;a href="http://nbviewer.ipython.org/url/norvig.com/ipython/Probability.ipynb"&gt;nbviewer.ipython.org&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Las matemáticas explican por qué no puedes ganar al Tetris hagas lo que hagas</title><link>http://karpoke.ignaciocano.com/2015/05/05/las-matematicas-explican-por-que-no-puedes-ganar-al-tetris-hagas-lo-que-hagas/</link><pubDate>Tue, 05 May 2015 22:13:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2015/05/05/las-matematicas-explican-por-que-no-puedes-ganar-al-tetris-hagas-lo-que-hagas/</guid><description>&lt;blockquote&gt;
&lt;p&gt;“La única forma de ganar es no jugar”. Tom Murphy, programador, creó
en 2013 un programa que era capaz de aprender a jugar a Super Mario
Bros de forma que en sucesivas partidas conseguía salvar los distintos
obstáculos que se encontraba el personaje hasta ganar el juego. Cuando
enfrentó su software al Tetris, sin embargo, Murphy se encontró con
que no había victoria posible.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» R. Pérez | &lt;a href="http://www.elconfidencial.com/tecnologia/2015-05-02/las-matematicas-explican-por-que-no-puedes-ganar-al-tetris-hagas-lo-que-hagas_786085/"&gt;elconfidencial.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Proving that Android’s, Java’s and Python’s sorting algorithm is broken (and showing how to fix it)</title><link>http://karpoke.ignaciocano.com/2015/02/28/proving-that-androids-javas-and-pythons-sorting-algorithm-is-broken-and-showing-how-to-fix-it/</link><pubDate>Sat, 28 Feb 2015 14:31:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2015/02/28/proving-that-androids-javas-and-pythons-sorting-algorithm-is-broken-and-showing-how-to-fix-it/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Tim Peters developed the Timsort hybrid sorting algorithm in 2002. It
is a clever combination of ideas from merge sort and insertion sort,
and designed to perform well on real world data. TimSort was first
developed for Python, but later ported to Java (where it appears as
java.util.Collections.sort and java.util.Arrays.sort) by Joshua Bloch
(the designer of Java Collections who also pointed out that most
binary search algorithms were broken). TimSort is today used as the
default sorting algorithm for Android SDK, Sun’s JDK and OpenJDK.
Given the popularity of these platforms this means that the number of
computers, cloud services and mobile phones that use TimSort for
sorting is well into the billions. Fast forward to 2015. After we had
successfully verified Counting and Radix sort implementations in Java
(J. Autom. Reasoning 53(2), 129-139) with a formal verification tool
called KeY, we were looking for a new challenge. TimSort seemed to fit
the bill, as it is rather complex and widely used. Unfortunately, we
weren’t able to prove its correctness. A closer analysis showed that
this was, quite simply, because TimSort was broken and our theoretical
considerations finally led us to a path towards finding the bug
(interestingly, that bug appears already in the Python
implementation). This blog post shows how we did it.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Who invented pointers, amortized complexity, and more?</title><link>http://karpoke.ignaciocano.com/2014/09/09/who-invented-pointers-amortized-complexity-and-more/</link><pubDate>Tue, 09 Sep 2014 22:03:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2014/09/09/who-invented-pointers-amortized-complexity-and-more/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Andrey Kolmogorov, Fred Hennie, Richard Stearns, and Walter Savitch
are all famous separately; but they have something in common. Read on,
and see. Today I wish to discuss some algorithmic tricks and show that
they were initially used by complexity theorists, years before they
were used by algorithm designers. To steal a phrase: it`s
computational complexity all the way down. Well not exactly. The
situation is slightly more complex”a bad pun. The complexity theorists
often invented a concept and used it in a narrow way, while later it
was rediscovered and made a general notion.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Visualizing Algorithms</title><link>http://karpoke.ignaciocano.com/2014/06/29/visualizing-algorithms/</link><pubDate>Sun, 29 Jun 2014 18:52:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2014/06/29/visualizing-algorithms/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Algorithms are a fascinating use case for visualization. To visualize
an algorithm, we don’t merely fit data to a chart; there is no primary
dataset. Instead there are logical rules that describe behavior. This
may be why algorithm visualizations are so unusual, as designers
experiment with novel forms to better communicate. This is reason
enough to study them. But algorithms are also a reminder that
visualization is more than a tool for finding patterns in data.
Visualization leverages the human visual system to augment human
intellect: we can use it to better understand these important abstract
processes, and perhaps other things, too.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Tetris Printer Algorithm</title><link>http://karpoke.ignaciocano.com/2013/06/05/tetris-printer-algorithm/</link><pubDate>Wed, 05 Jun 2013 23:06:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2013/06/05/tetris-printer-algorithm/</guid><description>&lt;blockquote&gt;
&lt;p&gt;The algorithm converts pixels from a source image into squares in the
Tetris playfield, one row at a time from the bottom up. To generate an
individual square, the algorithm assembles a structure consisting of a
rectangular region fully supported by a single square protruding from
the bottom. When the rectangular region is completed, its rows are
cleared, leaving behind the protruding square. Three examples of the
process appear below&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>The Emerging Revolution in Game Theory</title><link>http://karpoke.ignaciocano.com/2012/08/20/the-emerging-revolution-in-game-theory/</link><pubDate>Mon, 20 Aug 2012 00:17:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2012/08/20/the-emerging-revolution-in-game-theory/</guid><description>&lt;blockquote&gt;
&lt;p&gt;The world of game theory is currently on fire. In May, Freeman Dyson
at Princeton University and William Press at the University of Texas
announced that they had discovered a previously unknown strategy for
the game of prisoner’s dilemma which guarantees one player a better
outcome than the other.&lt;/p&gt;
&lt;p&gt;That’s a monumental surprise. Theorists have studied Prisoner’s
Dilemma for decades, using it as a model for the emergence of
co-operation in nature. This work has had a profound impact on
disciplines such as economics, evolutionary biology and, of course,
game theory itself. The new result will have impact in all these areas
and more.&lt;/p&gt;
&lt;p&gt;The game is this: imagine Alice and Bob have committed a crime and are
arrested. The police offer each one a deal&amp;ndash;snitch and you go free
while your friend does 6 months in jail. If both Alice and Bob snitch,
they both get 3 months in jail. If they both remain silent, they both
get one month in jail for a lesser offence.&lt;/p&gt;
&lt;p&gt;What should Alice and Bob do?&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Radix Sort Revisited</title><link>http://karpoke.ignaciocano.com/2012/07/05/radix-sort-revisited/</link><pubDate>Thu, 05 Jul 2012 18:43:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2012/07/05/radix-sort-revisited/</guid><description>&lt;blockquote&gt;
&lt;p&gt;In every decent programmer’s toolbox lies a strange weapon called a
Radix Sort. Where does it come from ? Who invented it ? I don’t know.
As far as I can remember it was there, fast, easy, effective. Really
effective. So unbelievably useful I’ve never really understood why
people would want to use something else. The reasons ? Most of the
time, they tell me about floats, negative values, and why their new
quick-sort code rocks.&lt;/p&gt;
&lt;p&gt;Enough, I’m tired. Although the standard Radix Sort doesn’t work very
well with floating point values, this is something actually very easy
to fix. In this little article I will review the standard Radix Sort
algorithm, and enhance it so that :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;it sorts negative floats as well&lt;/li&gt;
&lt;li&gt;it has reduced complexity for bytes and words&lt;/li&gt;
&lt;li&gt;it uses temporal coherence&lt;/li&gt;
&lt;li&gt;it supports sorting on multiple keys&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;</description></item><item><title>A Gentle Introduction to Algorithm Complexity Analysis</title><link>http://karpoke.ignaciocano.com/2012/07/05/a-gentle-introduction-to-algorithm-complexity-analysis/</link><pubDate>Thu, 05 Jul 2012 18:17:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2012/07/05/a-gentle-introduction-to-algorithm-complexity-analysis/</guid><description>&lt;blockquote&gt;
&lt;p&gt;A lot of programmers that make some of the coolest and most useful
software today, such as many of the stuff we see on the Internet or
use daily, don’t have a theoretical computer science background.
They’re still pretty awesome and creative programmers and we thank
them for what they build.&lt;/p&gt;
&lt;p&gt;However, theoretical computer science has its uses and applications
and can turn out to be quite practical. In this article, targeted at
programmers who know their art but who don’t have any theoretical
computer science background, I will present one of the most pragmatic
tools of computer science: Big O notation and algorithm complexity
analysis. As someone who has worked both in a computer science
academic setting and in building production-level software in the
industry, this is the tool I have found to be one of the truly useful
ones in practice, so I hope after reading this article you can apply
it in your own code to make it better. After reading this post, you
should be able to understand all the common terms computer scientists
use such as ”big O”, ”asymptotic behavior” and ”worst-case analysis”.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>El algoritmo de Dios</title><link>http://karpoke.ignaciocano.com/2012/06/28/el-algoritmo-de-dios/</link><pubDate>Thu, 28 Jun 2012 12:15:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2012/06/28/el-algoritmo-de-dios/</guid><description>&lt;blockquote&gt;
&lt;p&gt;El algoritmo de Dios es un término que surgió en la búsqueda de aquel
algoritmo que indicara los pasos mínimos que resuelven un cubo de
Rubik cualquiera. El término se usa profusamente, no sólo para el cubo
de Rubik.&lt;/p&gt;
&lt;p&gt;Mucho antes de conocer dicho término, cuando me encontraba con
diversos tipos de problemas, ya me asaltaba recurrentemente una
pregunta irrelevante (para el caso que me ocupaba), pero que espero te
haga pensar un poco en la importancia de algunas cuestiones que quizás
no conoces:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;”¿Qué solución daría Dios si fuera él quien resolviera el problema?”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Lo más sorprendente quizás, es que ”las soluciones de Dios” no sólo no
están vedadas al intelecto humano, sino que son numerosas y
prolíficas. Veamosló.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Regular Expression Matching Can Be Simple And Fast</title><link>http://karpoke.ignaciocano.com/2012/06/21/regular-expression-matching-can-be-simple-and-fast/</link><pubDate>Thu, 21 Jun 2012 18:21:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2012/06/21/regular-expression-matching-can-be-simple-and-fast/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Historically, regular expressions are one of computer science’s
shining examples of how using good theory leads to good programs. They
were originally developed by theorists as a simple computational
model, but Ken Thompson introduced them to programmers in his
implementation of the text editor QED for CTSS. Dennis Ritchie
followed suit in his own implementation of QED, for GE-TSS. Thompson
and Ritchie would go on to create Unix, and they brought regular
expressions with them. By the late 1970s, regular expressions were a
key feature of the Unix landscape, in tools such as ed, sed, grep,
egrep, awk, and lex.&lt;/p&gt;
&lt;p&gt;Today, regular expressions have also become a shining example of how
ignoring good theory leads to bad programs. The regular expression
implementations used by today’s popular tools are significantly slower
than the ones used in many of those thirty-year-old Unix tools.&lt;/p&gt;
&lt;p&gt;This article reviews the good theory: regular expressions, finite
automata, and a regular expression search algorithm invented by Ken
Thompson in the mid-1960s. It also puts the theory into practice,
describing a simple implementation of Thompson’s algorithm. That
implementation, less than 400 lines of C, is the one that went head to
head with Perl above. It outperforms the more complex real-world
implementations used by Perl, Python, PCRE, and others. The article
concludes with a discussion of how theory might yet be converted into
practice in the real-world implementations.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>The 8 Queens Problem with Arduino and Adafruit 8x8 Matrix display</title><link>http://karpoke.ignaciocano.com/2012/06/21/the-8-queens-problem-with-arduino-and-adafruit-8x8-matrix-display/</link><pubDate>Thu, 21 Jun 2012 03:47:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2012/06/21/the-8-queens-problem-with-arduino-and-adafruit-8x8-matrix-display/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Using an Arduino and an 8x8 matrix display from Adafruit (with I2C
backpack), we display all the solutions to the classic 8-Queens
problem (see &lt;a href="http://en.wikipedia.org/wiki/Eight_queens_puzzle"&gt;http://en.wikipedia.org/wiki/Eight_queens_puzzle&lt;/a&gt; )&lt;/p&gt;
&lt;p&gt;A solution to the 8 Queen problem is where 8 queens are placed on a
chess board so that no queen can take any other queen.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» @stormingrobots | &lt;a href="https://www.youtube.com/watch?v=5a2xIh6xgo4"&gt;youtube.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Basics of Computational Number Theory</title><link>http://karpoke.ignaciocano.com/2012/05/16/basics-of-computational-number-theory/</link><pubDate>Wed, 16 May 2012 23:58:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2012/05/16/basics-of-computational-number-theory/</guid><description>&lt;blockquote&gt;
&lt;p&gt;This document is a gentle introduction to computational number theory.
The plan of the paper is to first give a quick overview of arithmetic
in the modular integers. Throughout, we will emphasize computation and
practical results rather than delving into the why. Simple programs,
generally in JavaScript, are available for all of the algorithms
mentioned. At the end of the paper we will introduce the Gaussian
Integers and Galois Fields and compare them to the modular integers.
Companion papers will examine number theory from a more advanced
perspective.&lt;/p&gt;
&lt;/blockquote&gt;</description></item></channel></rss>