<?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" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ notación big o - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Descubre miles de cursos de programación escritos por expertos. Aprende Desarrollo Web, Ciencia de Datos, DevOps, Seguridad y obtén asesoramiento profesional para desarrolladores. ]]>
        </description>
        <link>https://www.freecodecamp.org/espanol/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ notación big o - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/espanol/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 06 Jun 2026 19:41:54 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/espanol/news/tag/notacion-big-o/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Guía: Notación Big O - Gráfico de complejidad de tiempo ]]>
                </title>
                <description>
                    <![CDATA[ Un algoritmo es un conjunto de instrucciones bien definidas para resolver un problema específico. Puedes resolver estos problemas de varias maneras.  Esto significa que el método que uses para llegar a la misma solución puede diferir del mío, pero ambos deberíamos obtener el mismo resultado.  Debido a que ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/hoja-de-trucos-big-o/</link>
                <guid isPermaLink="false">65af21be51a59a0455c931ec</guid>
                
                    <category>
                        <![CDATA[ notación big o ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Cristian Fernando Villca Gutierrez ]]>
                </dc:creator>
                <pubDate>Thu, 01 Feb 2024 07:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2024/01/cover-template--12-.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artículo original:</strong> <a href="https://www.freecodecamp.org/news/big-o-cheat-sheet-time-complexity-chart/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Big O Cheat Sheet – Time Complexity Chart</a>
      </p><h3 id="un-algoritmo-es-un-conjunto-de-instrucciones-bien-definidas-para-resolver-un-problema-espec-fico-puedes-resolver-estos-problemas-de-varias-maneras-">Un algoritmo es un conjunto de instrucciones bien definidas para resolver un problema específico. Puedes resolver estos problemas de varias maneras. </h3><p>Esto significa que el método que uses para llegar a la misma solución puede diferir del mío, pero ambos deberíamos obtener el mismo resultado. </p><p>Debido a que hay varias maneras de resolver un problema, debe haber una manera de evaluar estas soluciones o algoritmos en términos de rendimiento y eficiencia (el tiempo que tardará tu algoritmo en ejecutarse y la cantidad total de memoria que consumirá).</p><p>Esto es fundamental para que los programadores se aseguren de que sus aplicaciones se ejecuten correctamente y les ayuden a escribir código limpio.</p><p>Aquí es donde la notación Big O entra en escena. La notación Big O es una métrica para determinar la eficiencia de un algoritmo. Le permite estimar cuanto tiempo se ejecutará su código en diferentes conjuntos de entradas y medir la eficacia con la que su código escala a medida que aumenta el tamaño de su entrada. </p><!--kg-card-begin: html--><h2>¿Qué es Big O?</h2><!--kg-card-end: html--><p>Big O, también conocida como Notación Big O, representa la complejidad del peor de los casos de un algoritmo. Utiliza términos algebraicos para describir la complejidad de un algoritmo. </p><p>Big O define el tiempo de ejecución necesario para ejecutar un algoritmo identificando como cambiará el rendimiento de su algoritmo a medida que crece el tamaño de la entrada. Pero no le dice que tan rápido es el tiempo de ejecución de su algoritmo. </p><p>La notación Big O mide la eficiencia y el rendimiento de su algoritmo usando la complejidad del tiempo y el espacio. </p><!--kg-card-begin: html--><h2>¿Qué es la complejidad del tiempo y el espacio?</h2><!--kg-card-end: html--><p>Un factor subyacente importante que afecta el rendimiento y la eficiencia de su programa es el hardware, el sistema operativo y la CPU que utiliza. </p><p>Pero no se tiene en cuenta esto cuando se analiza el rendimiento de un algoritmo. En cambio, lo que importa es la complejidad temporal y espacial en función del tamaño de la entrada. </p><p>La complejidad temporal de un algoritmo especifica cuanto tiempo llevará ejecutar un algoritmo <strong>en función de su tamaño de entrada</strong>. De manera similar, la complejidad espacial de un algoritmo especifica la cantidad total de espacio o memoria necesaria para ejecutar un algoritmo <strong>en función del tamaño de la entrada</strong>.</p><p>Nos centraremos en a complejidad del tiempo en esta guía. Esta será una hoja de trucos detallada que le ayudará a comprender como calcular la complejidad del tiempo ara cualquier algoritmo. </p><!--kg-card-begin: html--><h2>¿Por qué la complejidad del tiempo esta en función del tamaño de entrada?</h2><!--kg-card-end: html--><p>Para comprender perfectamente el concepto de "en función del tamaño de la entrada", imagine que tiene un algoritmo que calcula la suma de números en función de su entrada. Si su entrada es 4, sumaremos 1 + 2 + 3 + 4 y la salida será 10; si su entrada es 5, la salida será 15 (es decir, 1 + 2 + 3 + 4 +5).</p><pre><code class="language-javascript">const calcularSuma = (entrada) =&gt; {
  let suma = 0; // 1ra declaración 
  for (let i = 0; i &lt;= entrada; i++) {
    suma += i; // 2da declaración
  }
  return suma; // 3ra declaración
};</code></pre><p>Observando el código solo tenemos 3 declaraciones. Aún así, debido a que hay un bucle, la segunda declaración se ejecutará según el tamaño de la entrada, por lo que si la entrada es 4, la segunda declaración se ejecutará 4 veces, lo que significa que todo el algoritmo se ejecutará 6 veces. </p><p>En palabras sencillas, al algoritmo se ejecutará <strong>entrada + 2 veces</strong>, donde la entrada puede ser cualquier número. Esto muestra que se expresa en términos de la entrada. En otras palabras, en función del tamaño de entrada.</p><p>En notación Big O, existen 6 tipos principales de complejidades (tiempo y espacio):</p><ul><li>Constante: O(1)</li><li>Lineal: O(n)</li><li>Logarítmica: O (n log n)</li><li>Cuadrática: O(n^2)</li><li>Exponencial: O(2^n)</li><li>Factorial: O(n!)</li></ul><p>Antes de ver ejemplos, comprendamos el gráfico de la complejidad de tiempo Big O.</p><!--kg-card-begin: html--><h2>Gráfico de complejidad de Big O</h2><!--kg-card-end: html--><p>El gráfico Big O es una notación asintótica que se usa para expresar la complejidad de un algoritmo o su rendimiento en función del tamaño de entrada.</p><p>Esto ayuda a los programadores a identificar y comprender completamente el peor de los casos y el tiempo de ejecución o la memoria requerida de un algoritmo.</p><p>El siguiente gráfico ilustra la complejidad Big O:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2024/01/s_2D428973624E7FC84C7D69D11421DE762BEA6B6F3361231FCDCAE0425D14526F_1664885448372_Untitled.drawio-17.png" class="kg-image" alt="s_2D428973624E7FC84C7D69D11421DE762BEA6B6F3361231FCDCAE0425D14526F_1664885448372_Untitled.drawio-17" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2024/01/s_2D428973624E7FC84C7D69D11421DE762BEA6B6F3361231FCDCAE0425D14526F_1664885448372_Untitled.drawio-17.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2024/01/s_2D428973624E7FC84C7D69D11421DE762BEA6B6F3361231FCDCAE0425D14526F_1664885448372_Untitled.drawio-17.png 745w" sizes="(min-width: 720px) 720px" width="745" height="456" loading="lazy"></figure><p>El grafico Big O anterior muestra que O(1), complejidad de tiempo constante, es el mejor. Esto implica que su algoritmo procesa solo una declaración sin ninguna iteración. Luego esta O(log n), que es bueno, y otros similares como vemos a continuación:</p><ul><li><strong><strong>O(1)</strong></strong> - Excelente/Mejor</li><li><strong><strong>O(log n)</strong></strong> - Bueno</li><li><strong><strong>O(n)</strong></strong> - Aceptable</li><li><strong><strong>O(n log n)</strong></strong> - Malo</li><li><strong><strong>O(n^2)</strong></strong>, <strong><strong>O(2^n)</strong> y</strong> <strong><strong>O(n!)</strong></strong> - Horrible/Peor</li></ul><p>Ahora comprende las diversas complejidades de tiempo y puede reconocer las mejores, las buenas y las aceptables, así como las malas y las peores (evite siempre las complejidades del tiempo malo y peor).</p><p>La siguiente pregunta que me viene a la mente es como saber que algoritmo tiene que complejidad temporal, dado que este post se trata solo de una guía. </p><ul><li>Cuando el cálculo no depende del tamaño de una entrada, es una complejidad de tiempo constante O(1).</li><li>Cuando el tamaño de entrada se reduce a la mitad, tal vez al iterar, manejar <a href="https://joelolawanle.com/posts/recursion-in-javascript-explained-for-beginners">recursividad</a>, o lo que sea, es una complejidad de tiempo logarítmica O(log n).</li><li>Cuando tiene un solo bucle dentro de sus algoritmo, es complejidad de tiempo lineal O(n).</li><li>Cuando tiene 2 bucles anidados dentro de su algoritmo, es decir, un bucle dentro de otro bucle, es una complejidad de tiempo cuadrática O(n^2).</li><li>Cuando la taza de crecimiento se duplica con cada iteración a la entrada, se trata de una complejidad temporal exponencial O(2^n).</li></ul><p>Comencemos describiendo la complejidad de cada tiempo con ejemplos. Es importante tener en cuenta que usaré JavaScript en los ejemplos de esta guía, pero el lenguaje de programación no es importante siempre y cuando comprenda el concepto y la complejidad de cada tiempo.</p><!--kg-card-begin: html--><h2>Big O: Ejemplos de Tiempo de Complejidad</h2><!--kg-card-end: html--><!--kg-card-begin: html--><h3>Tiempo Constante: O(1)</h3><!--kg-card-end: html--><p>Cuando su algoritmo no depende del tamaño de entrada n, se dice que tiene una complejidad temporal constante con orden O(1). Esto significa que el tiempo de ejecución siempre será el mismo independientemente del tamaño de entrada. </p><p>Por ejemplo, si un algoritmo debe devolver el primer elemento de un arreglo. Incluso si el arreglo tiene 1 millón de elementos, la complejidad temporal será constante si utiliza este enfoque:</p><pre><code class="language-javascript">const primerElemento = (arreglo) =&gt; {
  return arreglo[0];
};

let marcadores = [12, 55, 67, 94, 22];
console.log(primerElemento(marcadores)); // 12</code></pre><p>La función anterior requerirá un solo paso de ejecución, lo que significa que la función está en tiempo constante con una complejidad temporal O(1).</p><p>Pero como dije antes, existen varias formas de lograr una solución en programación. Otro programador podría decidir recorrer primero el arreglo antes de devolver el primer elemento:</p><pre><code class="language-javascript">const primerElemento = (arreglo) =&gt; {
  for (let i = 0; i &lt; arreglo.length; i++) {
    return arreglo[0];
  }
};

let marcadores = [12, 55, 67, 94, 22];
console.log(primerElemento(marcadores)); // 12</code></pre><p>Este es solo un ejemplo, probablemente nadie haría esto. Pero si hay un bucle, ya no es tiempo constante sino ahora tiempo lineal con complejidad temporal O(n).</p><!--kg-card-begin: html--><h3>Tiempo Lineal: O(n)</h3><!--kg-card-end: html--><p>Se obtiene complejidad de tiempo lineal cuando el tiempo de ejecución de un algoritmo aumenta linealmente con el tamaño de la entrada. Esto significa que cuando una función tiene una iteración que itera sobre un tamaño de entrada n, se dice que tiene una complejidad temporal de orden O(n).</p><p>Por ejemplo, si un algoritmo debe devolver el factorial de cualquier número de entrada. Esto significa que si ingresa 5, debe realizar un bucle y multiplicar <code>1 x 2 x 3 x 4 x 5</code> y luego regresar 120:</p><pre><code class="language-javascript">const calcularFactorial = (n) =&gt; {
  let factorial = 1;
  for (let i = 2; i &lt;= n; i++) {
    factorial = factorial * i;
  }
  return factorial;
};

console.log(calcularFactorial(5)); // 120</code></pre><p>El hecho de que el tiempo de ejecución depende del tamaño de entrada significa que la complejidad del tiempo es lineal con orden O(n).</p><!--kg-card-begin: html--><h3>Tiempo Logarítmico: O(log n)</h3><!--kg-card-end: html--><p>Esto es similar a la complejidad de tiempo lineal, excepto que el tiempo de ejecución no depende del tamaño de la entrada sino de la mitad del tamaño de la entrada. Cuando el tamaño de entrada disminuye en cada iteración o paso, se dice que un algoritmo tiene complejidad logarítmica. </p><p>Este método es el segundo mejor porque su programa se ejecuta con la mitad del tamaño de entrada en lugar del tamaño completo. Después de todo el tamaño de entrada disminuye en cada iteración.</p><p>Un gran ejemplo son la funciones de búsqueda binaria, que dividen el arreglo ordenado según su valor objetivo. </p><p>Por ejemplo, supongamos que utiliza un algoritmo de búsqueda binaria para encontrar el índice de un elemento determinado en un arreglo:</p><pre><code class="language-javascript">const busquedaBinaria = (arreglo, objetivo) =&gt; {
  let primerIndice = 0;
  let ultimoIndice = arreglo.length - 1;
  while (primerIndice &lt;= ultimoIndice) {
    let medioIndice = Math.floor((primerIndice + ultimoIndice) / 2);

    if (array[medioIndice] === objetivo) {
      return medioIndice;
    }

    if (array[medioIndice] &gt; objetivo) {
      ultimoIndice = medioIndice - 1;
    } else {
      primerIndice = medioIndice + 1;
    }
  }
  return -1;
};

let marcadores = [12, 22, 45, 67, 96];
console.log(busquedaBinaria(marcadores, 96));</code></pre><p>En el código anterior, debido a que es una búsqueda binaria, primero obtiene el índice medio de su arreglo, lo compara con el valor objetivo y devuelve el índice medio si es igual. De lo contrario, debe verificar si el valor objetivo es mayor o menor que el valor medio para ajustar el primer y ultimo índice, reduciendo el tamaño de entrada a la mitad. </p><p>Debido a que en cada iteración el tamaño de la entrada se reduce a la mitad, la complejidad del tiempo es logarítmica con orden O(log n).</p><!--kg-card-begin: html--><h3>Tiempo Cuadrático: O(n^2)</h3><!--kg-card-end: html--><p>Cuando se realiza una iteración anidada, es decir un bucle dentro de otro bucle, la complejidad del tiempo es cuadrática, lo cual es horrible.</p><p>Una manera perfecta de explicar esto sería si tuviera un arreglo con n elementos. El bucle exterior se ejecutará n veces y el bucle interior se ejecutará n veces por cada iteración del bucle exterior, lo que dará un total de n^2 impresiones. Si el arreglo tiene 10 elementos, habrán 100 impresiones (10^2).</p><p>Aquí hay un ejemplo de <a href="https://jarednielsen.com/big-o-quadratic-time-complexity/">Jared Nielsen</a>, donde se compara cada elemento en un arreglo para generar el índice cuando dos elementos son similares:</p><pre><code class="language-javascript">const elementosSimilares = (arreglo) =&gt; {
  for (let i = 0; i &lt; arreglo.length; i++) {
    for (let j = 0; j &lt; arreglo.length; j++) {
      if (i !== j &amp;&amp; arreglo[i] === arreglo[j]) {
        return `Encontrado en ${i} y ${j}`;
      }
    }
  }
  return "No hay coincidencias 😞";
};

const frutas = ["🍓", "🍐", "🍊", "🍌", "🍍", "🍑", "🍎", "🍈", "🍊", "🍇"];
console.log(elementosSimilares(frutas)); // "Encontrado en 2 y 8"</code></pre><p>En el ejemplo anterior, hay un bucle anidado, lo que significa que la complejidad del tiempo es cuadrática con orden O(n^2).</p><!--kg-card-begin: html--><h3>Tiempo Exponencial: O(2^n)</h3><!--kg-card-end: html--><p>Se obtiene una complejidad temporal exponencial cuando la taza de crecimiento se duplica con cada adición a la entrada (n), a menudo iterando a través de todos los subconjuntos de los elementos de entrada. Cada vez que una unidad de entrada aumenta en 1, el número de operaciones ejecutadas se duplica.</p><p>La secuencia recursiva de Fibonacci es un buen ejemplo. Supongamos que te dan un número y quieres encontrar el n-simo elemento de la secuencia de Fibonacci</p><p>La secuencia de Fibonacci es una secuencia matemática en la que cada número es la suma de los dos números anteriores, donde 0 y 1 son los dos primeros números. El tercer número es la secuencia es 1, el cuarto es 2, el quinto es 3, y así sucesivamente... (0, 1, 1, 2, 3, 5, 8, 13, …).</p><p>Esto significa que si pasas 6, entonces el sexto elemento en la secuencia de Fibonacci seria 8: </p><pre><code class="language-javascript">const Fibonaccirecursivo = (n) =&gt; {
  if (n &lt; 2) {
    return n;
  }
  return Fibonaccirecursivo(n - 1) + Fibonaccirecursivo(n - 2);
};

console.log(Fibonaccirecursivo(6)); // 8</code></pre><p>En el código anterior, el algoritmo especifica una tasa de crecimiento que se duplica cada vez que se agrega el conjunto de datos de entrada. Esto significa que la complejidad del tiempo es exponencial con orden O (2 ^ n).</p><!--kg-card-begin: html--><h2>Para terminar</h2><!--kg-card-end: html--><p>En esta guía, has aprendido de qué se trata la complejidad del tiempo, cómo se determina el rendimiento utilizando la notación Big O y las diversas complejidades del tiempo que existen con ejemplos.</p><p>Puede obtener más información a través del plan de estudios sobre <a href="https://www.freecodecamp.org/espanol/learn/javascript-algorithms-and-data-structures/">E</a><a href="https://www.freecodecamp.org/espanol/learn/javascript-algorithms-and-data-structures/">structuras de Datos y Algoritmos de JavaScript de freeCodeCamp</a>.</p><p>¡Feliz codificación!</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Explicación de la notación Big O con Ejemplos ]]>
                </title>
                <description>
                    <![CDATA[ La notación Big O es una manera de describir la rapidez o complejidad de un algoritmo dado. Si tu proyecto actual requiere un algoritmo predefinido, es importante entender qué tan rápido o lento es comparado con otras opciones. ¿Qué es la notación Big O y cómo funciona? En palabras simples, ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/explicacion-de-la-notacion-big-o-con-ejemplo/</link>
                <guid isPermaLink="false">64395a5c10657f0643dec442</guid>
                
                    <category>
                        <![CDATA[ notación big o ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Gibran Pelayo M. ]]>
                </dc:creator>
                <pubDate>Fri, 21 Apr 2023 19:39:16 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2023/04/5f9c9cf0740569d1a4ca3502.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artículo original:</strong> <a href="https://www.freecodecamp.org/news/big-o-notation-explained-with-examples/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Big O Notation Explained with Examples</a>
      </p><p>La notación Big O es una manera de describir la rapidez o complejidad de un algoritmo dado. Si tu proyecto actual requiere un algoritmo predefinido, es importante entender qué tan rápido o lento es comparado con otras opciones.</p><h2 id="-qu-es-la-notaci-n-big-o-y-c-mo-funciona"><strong>¿Qué es la notación Big O y cómo funciona?</strong></h2><p>En palabras simples, la notación Big O te dice el número de operaciones que hará un algoritmo. Toma su nombre de la "O grande" en frente del número estimado de operaciones.</p><p>Lo que la notación Big O no te dice es la rapidez del algoritmo en segundos. Hay demasiados factores que influyen en el tiempo que tarde en ejecutarse un algoritmo. En su lugar, usarás la notación Big O para comparar diferentes algoritmos por el número de operaciones que hacen.</p><h3 id="big-o-establece-un-tiempo-de-ejecuci-n-en-el-peor-de-los-casos"><strong>Big O establece un tiempo de ejecución en el peor de los casos</strong></h3><p>Imagina que eres un maestro y tienes una estudiante de nombre Jane. Quieres encontrar sus registros, así que usas un algoritmo de búsqueda simple para recorrer la bases de datos de tu distrito escolar.</p><p>Sabes que a la búsqueda simple le toma O(n) veces ejecutarse. Esto significa que, en el peor de los casos, tendrás que buscar en cada uno de los registros (representados por n) para encontrar el de Jane.</p><p>Pero cuando ejecutas la búsqueda simple, encuentras que los registros de Jane son la primera entrada en la base de datos. No tienes que mirar cada entrada – la encontraste en tu primer intento.</p><p><em>¿Este algoritmo tardó O(n) tiempo? ¿O tardó O(1) porque encontraste los registros de Jane en el primer intento?</em></p><p>En este caso, O(1) es el mejor de los casos: tuviste suerte de que los registros de Jane estuvieran al principio. Pero la notación Big O se enfoca en el peor de los casos, el cual es O(n) para la búsqueda simple. Es una garantía de que la búsqueda simple nunca será más lenta que el tiempo O(n).</p><h3 id="los-tiempos-de-ejecuci-n-de-los-algoritmos-crecen-a-ritmos-diferentes"><strong>Los tiempos de ejecución de los algoritmos crecen a ritmos diferentes</strong></h3><p>Asume que toma 1 milisegundo revisar cada elemento de la base de datos del distrito escolar. </p><p>Con la búsqueda simple, si tienes que revisar 10 entradas, le tomará 10 ms en ejecutarse. Pero con el <em>algoritmo de búsqueda binaria</em>, solo tienes que revisar 3 elementos, lo que toma 3 ms en ejecutarse.</p><p>En la mayoría de los casos, la lista o base de datos en la que necesitas buscar tendrá cientos o miles de elementos.</p><p>Si hay mil millones de elementos, usar la búsqueda simple tardará hasta 1 mil millones de ms, u 11 días. En cambio, la búsqueda binaria tardará solamente 32 ms en el peor de los casos:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2023/04/bigonotation.png" class="kg-image" alt="31781165-723a053c-b500-11e7-937c-7b33db281efe" width="464" height="129" loading="lazy"></figure><p>Claramente, los tiempos de ejecución de la búsqueda simple y de la búsqueda binaria no crecen ni de cerca al mismo ritmo. Mientras más aumenta la lista de entradas, a la búsqueda binaria solo le toma un poco más de tiempo en ejecutarse. El tiempo de ejecución de la búsqueda simple crece exponencialmente mientras la lista de entradas aumente.</p><p>Por esto es muy importante saber cómo el tiempo de ejecución se incrementa en relación con el tamaño de una lista. Y aquí es exactamente donde la notación Big O es muy útil. </p><h3 id="la-notaci-n-big-o-muestra-el-n-mero-de-operaciones"><strong>La notación Big O muestra el número de operaciones</strong></h3><p>Como se mencionó antes, la notación Big O no muestra el <em>tiempo</em> que tardará en ejecutarse un algoritmo. En su lugar, muestra el número de operaciones que procesará. Te dice qué tan rápido crece un algoritmo y te permite compararlo con otros. </p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2023/04/bigonotationplot.png" class="kg-image" alt="31781175-768c208e-b500-11e7-9718-e632d1391e2d" width="441" height="357" loading="lazy"></figure><p>He aquí algunos algoritmos comunes y sus tiempos de ejecución en notación Big O:</p><!--kg-card-begin: html--><table style="box-sizing: inherit; margin: 0.5em 0px 2.5em; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-weight: 400; font-stretch: inherit; line-height: inherit; font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Oxygen, Ubuntu, Cantarell, &quot;Open Sans&quot;, &quot;Helvetica Neue&quot;, sans-serif; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 1.6rem; vertical-align: top; border-spacing: 0px; border-collapse: collapse; display: inline-block; overflow-x: auto; max-width: 100%; width: auto; white-space: nowrap; background: radial-gradient(at left center, rgba(0, 0, 0, 0.2) 0px, rgba(0, 0, 0, 0) 75%) 0px center / 10px 100% no-repeat scroll, radial-gradient(at right center, rgba(0, 0, 0, 0.2) 0px, rgba(0, 0, 0, 0) 75%) 100% center / 10px 100% scroll rgb(255, 255, 255); color: rgb(10, 10, 35); letter-spacing: normal; orphans: 2; text-align: start; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><thead style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline;"><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline;"><th style="box-sizing: inherit; margin: 0px; padding: 6px 12px; border: var(--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: 700; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 1.2rem; vertical-align: baseline; color: var(--gray85); letter-spacing: 0.2px; text-align: center; text-transform: uppercase; background-color: var(--gray10);">NOTACIÓN BIG O</th><th style="box-sizing: inherit; margin: 0px; padding: 6px 12px; border: var(--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: 700; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 1.2rem; vertical-align: baseline; color: var(--gray85); letter-spacing: 0.2px; text-align: center; text-transform: uppercase; background-color: var(--gray10);">ALGORITMO DE EJEMPLO</th></tr></thead><tbody style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline;"><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline;"><td style="box-sizing: inherit; margin: 0px; padding: 6px 12px; border: var(--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline; background-image: linear-gradient(to right, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%); background-size: 20px 100%; background-repeat: no-repeat; text-align: center;">O(log n)</td><td style="box-sizing: inherit; margin: 0px; padding: 6px 12px; border: var(--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline; background-image: linear-gradient(to left, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%); background-position: 100% 0px; background-size: 20px 100%; background-repeat: no-repeat; text-align: center;">Búsqueda binaria</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline;"><td style="box-sizing: inherit; margin: 0px; padding: 6px 12px; border: var(--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline; background-image: linear-gradient(to right, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%); background-size: 20px 100%; background-repeat: no-repeat; text-align: center;">O(n)</td><td style="box-sizing: inherit; margin: 0px; padding: 6px 12px; border: var(--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline; background-image: linear-gradient(to left, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%); background-position: 100% 0px; background-size: 20px 100%; background-repeat: no-repeat; text-align: center;">Búsqueda simple</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline;"><td style="box-sizing: inherit; margin: 0px; padding: 6px 12px; border: var(--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline; background-image: linear-gradient(to right, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%); background-size: 20px 100%; background-repeat: no-repeat; text-align: center;">O(n * log n)</td><td style="box-sizing: inherit; margin: 0px; padding: 6px 12px; border: var(--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline; background-image: linear-gradient(to left, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%); background-position: 100% 0px; background-size: 20px 100%; background-repeat: no-repeat; text-align: center;">Ordenación rápida (Quicksort)</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline;"><td style="box-sizing: inherit; margin: 0px; padding: 6px 12px; border: var(--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline; background-image: linear-gradient(to right, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%); background-size: 20px 100%; background-repeat: no-repeat; text-align: center;">O(n2)</td><td style="box-sizing: inherit; margin: 0px; padding: 6px 12px; border: var(--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline; background-image: linear-gradient(to left, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%); background-position: 100% 0px; background-size: 20px 100%; background-repeat: no-repeat; text-align: center;">Ordenación por selección</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline;"><td style="box-sizing: inherit; margin: 0px; padding: 6px 12px; border: var(--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline; background-image: linear-gradient(to right, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%); background-size: 20px 100%; background-repeat: no-repeat; text-align: center;">O(n!)</td><td style="box-sizing: inherit; margin: 0px; padding: 6px 12px; border: var(--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 16px; vertical-align: baseline; background-image: linear-gradient(to left, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%); background-position: 100% 0px; background-size: 20px 100%; background-repeat: no-repeat; text-align: center;">Vendedor viajero</td></tr></tbody></table><!--kg-card-end: html--><p>Ahora ya sabes lo suficiente para ser peligroso con la notación Big O. Sal allá y empieza a comparar algoritmos.</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
