Aprendiendo Desarrollo

Algoritmos voraces

Los algoritmos voraces son un tipo de algoritmo que siempre toma la decisión que parece ser la mejor en ese momento. Esto significa que toma una elección localmente óptima con la esperanza de que esta elección conduzca a una solución globalmente óptima.

Algoritmo de Dijkstra

El algoritmo de Dijkstra es un algoritmo voraz que encuentra el camino más corto entre dos nodos en un grafo. Es un algoritmo muy común utilizado en ciencias de la computación y se usa en muchas aplicaciones, como la navegación GPS, el enrutamiento de redes y la búsqueda del camino más corto en un laberinto.

Codificación Huffman

La codificación Huffman es un algoritmo de compresión de datos sin pérdida. La idea es asignar códigos de longitud variable a los caracteres de entrada, donde las longitudes de los códigos asignados se basan en las frecuencias de los caracteres correspondientes. El carácter más frecuente obtiene el código más pequeño y el carácter menos frecuente obtiene el código más grande.

Algoritmo de Kruskal

El algoritmo de Kruskal es un algoritmo voraz que encuentra un árbol de expansión mínimo para un grafo conexo ponderado. Es un algoritmo de árbol de expansión mínimo que toma un grafo como entrada y encuentra el subconjunto de las aristas de ese grafo que forman un árbol que incluye cada vértice, donde el peso total de todas las aristas en el árbol está minimizado. Si el grafo no está conectado, entonces encuentra un bosque de expansión mínimo (un árbol de expansión mínimo para cada componente conectado).

Algoritmo de Ford-Fulkerson

El algoritmo de Ford-Fulkerson es un algoritmo voraz que se utiliza para encontrar el flujo máximo en una red de flujo. También es conocido como el algoritmo de Edmonds-Karp.