¿Cuáles son los 10 mejores algoritmos que todo ingeniero de software debería saber? - Educa Sistemas

Breaking

Post Top Ad

Post Top Ad

viernes, 24 de noviembre de 2017

¿Cuáles son los 10 mejores algoritmos que todo ingeniero de software debería saber?



Buenas tardes amigos , les comparto los 10 mejores algoritmos que a mi parecer todo ingeniero en software o derivados debería conocer 

Primero, no es necesario aprender un algoritmo de “memoria”, pero sí es importante que entiendas el concepto detrás de ellos. Esta es nuestra lista:

·        Quicksort: Un clásico, con este algoritmo entenderás uno de los conceptos fundamentales en computación, dividir para vencer.

Fuente: 3.8 quicksort
·         Breath-first search(BFS): Este es un algoritmo clásico para recorrer grafos, que lo hace por amplitud(ver imagen más abajo).

·         Depth-first search(DFS): Similar al BFS pero ahora la búsqueda la realiza por profundidad.




·         Dijkstra's Shortest Path: El algoritmo de una de las leyenda de la computación, Dijkstra, junto a BFS y DFS son los algoritmos que debe saber si o si para comenzar con grafos. Este algoritmo busca el camino más corto en un grafo.


·         Dynamic time warping: Simple y elegante, un algoritmo que sirve para encontrar series de tiempo similares(en forma), aunque su cantidad de elementos sea diferente. Quizás el menos conocido de la lista(para un informático), pero cuando vi el algoritmo me pregunte ¿Como se le ocurrio esto? fue una linda sorpresa.



·         K-means: Popular algoritmo en machine learning, sirve para buscar cluster en un grupo de datos.



·         Alpha–beta pruning: Es un algoritmo que se utiliza en el área de game playing de Inteligencia artificial. Ayuda a responder la pregunta: ¿Cómo puedes crear un algoritmo para que juegue ajedrez?




·         Knuth–Morris–Pratt algorithm: Un clásico algoritmo que busca la veces que aparece una palabra en un texto.




·         PageRank algorithm: Fue el primer algoritmo utilizado por Google para ordenar las búsqueda. Ahora importaba los enlaces que tenia una página para mejorar el ranking, ósea mientras más páginas apuntaban a tu sitio significa un mejor ranking, no solo la ocurrencia de palabras. En este caso la que tiene mejor ranking es el círculo rojo(B).


·        


 k-nearest neighbors algorithm: Algoritmo muy popular en el ambiente de machine learning, a diferencia de k-means, aquí se puede utilizar para clasificar por proximidad un grupo de datos.
¿A cual pertenece el círculo verde? Bueno por cercanía sus vecinos más cercano son los triángulos rojos, porque existen 2 triángulos versus 1 cuadrado, por lo cual se asigna a la categoría de triángulo. ¿Bonito no crees?


Si aprendes los conceptos detrás de esos 10 algoritmos, sin duda te harás un mejor Ingeniero de software.

No hay comentarios:

Publicar un comentario

Post Top Ad

Responsive Ads Here