Algoritmo de Day-Stout-Warren para equilibrar el árbol de búsqueda binaria dado

 Dado un árbol de búsqueda binario (BST) desequilibrado, la tarea es convertirlo en un BST equilibrado en tiempo lineal y sin usar espacio auxiliar. Ejemplos: Entrada:               5                        / \                 … Continue reading «Algoritmo de Day-Stout-Warren para equilibrar el árbol de búsqueda binaria dado»

Algoritmo de Karatsuba para la multiplicación rápida de números decimales grandes representados como strings

Dadas dos strings numéricas A y B , la tarea es encontrar el producto de las dos strings numéricas de manera eficiente. Ejemplo: Entrada: A = 5678, B = 1234 Salida: 7006652 Entrada: A =74638463789, B = 35284567382 Salida: 2633585904851937530398 Enfoque: el problema dado se puede resolver usando el algoritmo de multiplicación rápida de Karastuba … Continue reading «Algoritmo de Karatsuba para la multiplicación rápida de números decimales grandes representados como strings»

Búsqueda binaria en JavaScript

La búsqueda binaria es una técnica de búsqueda que funciona con el enfoque Divide and Conquer . Se utiliza para buscar cualquier elemento en una array ordenada. En comparación con la búsqueda binaria lineal, es mucho más rápida con una complejidad de tiempo de O(logN), mientras que la búsqueda lineal funciona en una complejidad de tiempo … Continue reading «Búsqueda binaria en JavaScript»

Encontrar la paridad de un número de manera eficiente

Dado un número entero N. La tarea es escribir un programa para encontrar la paridad del número dado. Nota : La paridad de un número se usa para definir si el número total de bits establecidos (1 bit en representación binaria) en un número es par o impar. Si el número total de bits establecidos en … Continue reading «Encontrar la paridad de un número de manera eficiente»

Algoritmo de factorización de ruedas

Dado un número N. La tarea es comprobar si el número dado es número primo o no. Ejemplos:   Entrada: N = 987  Salida: No es un número primo  Explicación:  Como, 987 = 3*7*47. Por lo tanto, 987 no es un número primo. Entrada: N = 67  Salida: Número primo   Método de factorización de rueda:  La … Continue reading «Algoritmo de factorización de ruedas»

Teoría de los límites inferior y superior

La teoría de los límites inferior y superior proporciona una forma de encontrar el algoritmo de menor complejidad para resolver un problema. Antes de comprender la teoría, primero, echemos un breve vistazo a lo que son los límites inferior y superior.  Límite Inferior –  Sea L(n) el tiempo de ejecución de un algoritmo A(por ejemplo), … Continue reading «Teoría de los límites inferior y superior»

Algoritmo de generación de línea de punto medio

Dada la coordenada de dos puntos A(x1, y1) y B(x2, y2) tales que x1 < x2 e y1 < y2. La tarea de encontrar todos los puntos intermedios necesarios para dibujar la línea AB en la pantalla de la computadora de píxeles. Tenga en cuenta que cada píxel tiene coordenadas enteras. Hemos discutido a continuación … Continue reading «Algoritmo de generación de línea de punto medio»

Recorrido de orden de nivel en forma de espiral usando stack y multimap

Dado un árbol binario de N Nodes, la tarea es imprimir el recorrido del orden de niveles en forma de espiral. En forma de espiral, los Nodes del primer y segundo nivel del árbol se imprimen normalmente (de izquierda a derecha), después de lo cual los Nodes de los niveles alternos se imprimen en orden … Continue reading «Recorrido de orden de nivel en forma de espiral usando stack y multimap»

Relleno de polígonos de línea de escaneo usando OPENGL en C

Las figuras en una pantalla de computadora se pueden dibujar usando polígonos. Para llenar esas figuras con color, necesitamos desarrollar algún algoritmo. Hay dos algoritmos famosos para este propósito: los algoritmos de relleno de límite y de relleno de línea de exploración. El relleno de límites requiere mucho procesamiento y, por lo tanto, encuentra pocos … Continue reading «Relleno de polígonos de línea de escaneo usando OPENGL en C»

Algoritmo de división de prueba para factorización prima

En este artículo, se analiza el método de división de prueba para comprobar si un número es primo o no. Dado un número N, la tarea es comprobar si el número es primo o no.  Ejemplos:  Entrada: N = 433  Salida: Prime  Explicación:  Los únicos factores de 433 son 1 y 433. Por lo tanto, … Continue reading «Algoritmo de división de prueba para factorización prima»