¿Qué son los algoritmos simples?

Los algoritmos simples son aquellos que realmente no requieren cambios en la forma de pensar. Búsqueda lineal de un elemento dado en una matriz o en una lista, selección por selección, muchos algoritmos codiciosos como Número más grande y Car Fueling descritos aquí, búsqueda directa de una subcadena en una cadena, probando un número principalmente dividiéndolo con números arriba a sqrt (número). A diferencia de ellos, incluso los algoritmos relativamente fáciles de entender que se enseñan al principio no pueden ser simples: búsqueda binaria (todos hacen errores, incluso muchos muy experimentados, porque en realidad no es simple), clasificación de burbujas (no obvio funcionará, y hay formas de implementarlo para que no funcione, y la gente comete tales errores), incluso los algoritmos de programación dinámica más fáciles son muy poco obvios y requieren un cambio de pensamiento completo, y cualquier algoritmo que requiera un recorrido gráfico también requieren un cambio total de pensamiento, porque no se puede imaginar matemáticamente el recorrido del gráfico, como un ciclo simple, sin estructuras de datos especiales y condiciones especiales de detención.

Una lista de algoritmos simples

* Clasificación de burbujas, clasificación de inserción, clasificación de selección

* Algoritmos de gráficos: amplitud de la primera búsqueda, profundidad de la primera búsqueda, Dijkstra, algoritmo de Bellmanford

* Programación dinámica: la secuencia secundaria más larga, la subsecuencia creciente más larga

* Teoría de números – Prueba de primalidad, Totient de Euler, Aritmética modular

More Interesting

Cómo demostrar que el camino más corto posible entre dos puntos es una línea recta

¿Cuáles son los 5 mejores algoritmos con los que debería estar familiarizado para tener éxito en una entrevista de desarrollador junior?

Gráfico distribuido: ¿Cuál es la forma más efectiva de distribuir los nodos de un gráfico en diferentes servidores en un sistema distribuido?

¿Cómo ayuda la selección de estructuras de datos apropiadas para diseñar mejores algoritmos?

¿Cuáles son los beneficios del árbol de búsqueda binario?

¿Crees que la programación no es para mí?

Algoritmos: ¿Cómo la combinación de ordenamiento tiene complejidad espacial O (n) para el peor de los casos?

¿Cuáles son las aplicaciones del mundo real de algunas estructuras de datos avanzadas, y cuándo elegiría una estructura de datos sobre otra, en el caso de estructuras de datos similares?

¿Qué modelos matemáticos se utilizan en la clasificación IR?

¿Existe un algoritmo existente para la siguiente pregunta? Si no, ¿cuál es la respuesta?

¿Cuáles son los principales cambios en los algoritmos de Google en 2017?

Entre C # y Java, ¿cuál es el mejor lenguaje de programación para aprender programación orientada a objetos, estructuras de datos y algoritmos? ¿Por qué?

Si f (n) es O (g (n)) yf (n) es O (h (n)), entonces cuál de las siguientes afirmaciones debe ser verdadera: f (n) + g (n) es O (h (n)), g (n) + h (n) es O (f (n)), f (n) es O (g (n) + h (n)), o ninguno de los anteriores?

¿Existe un algoritmo para salir de laberintos bidimensionales?

¿Cómo hacen las ligas profesionales los horarios?