Cómo escribir algoritmos de programación eficientes

Algoritmo de programación eficiente ? ¿Existe tal término?

¿Quiere decir, cómo puede escribir (o idear) un algoritmo eficiente?

Si es así, déjame decirte que no hay ninguna varita mágica disponible para lograr tal hazaña.

Sin embargo, puedes probar esto

  • Primero lea, lea y lea muchos algoritmos ya diseñados, intente analizarlos, pensar en ellos y escribirlos por su cuenta
  • Lea sobre varias estrategias de diseño de algoritmos: Divide and Conquer, Dynamic, Greedy … etc.
  • Intenta escribirlos de una manera diferente usando alguna lógica propia. Luego analice ese texto y modifíquelo (con su razonamiento) para acercarse al algoritmo ya ideado.
  • Resuelve muchos acertijos. Esto le dará una idea sobre cómo abordar un problema.

Una vez que haya hecho todo lo anterior, estoy seguro de que obtendrá una respuesta a su pregunta.

Esto parece ser más un problema matemático que uno de programación.

En primer lugar, debe comprender el problema que está tratando de resolver.

Luego, decida qué significa “eficiente” en el subconjunto del mundo. ¿Cuál es la métrica central que define “eficiente”? ¿Hora? ¿Espacio?

Verifique que una solución sea realmente factible dentro de la muerte por calor del universo.

Cree un algoritmo simple que haga lo correcto. Analizar. Resolver cuellos de botella, revisar, repetir. Agregue algunos “trucos” o atajos: si la memoria no le preocupa y tiene que calcular en función de los valores anteriores, por ejemplo, Fibonacci, la memorización podría ser una solución. En n-queen sabes que 2 reinas no pueden pararse en la misma fila o columna, y que si 2 fallan, entonces toda la rama de posibles configuraciones con esta configuración es discutible.

Consulte http://plbpc001.ouhk.edu.hk/~mt3 … y siga la contemplación en esta publicación del blog Desarrollo del programa mediante refinamiento gradual

Mientras escribe programas, asegúrese de lo siguiente
1. Obtenga la lógica correcta
2. Escribir código robusto
3. Verifique las limitaciones de entrada
4. Escribir código genérico
5. Escribir algoritmo eficiente (bueno en tiempo y espacio)
6. Utilice los métodos y clases de lenguaje existentes.
7. Mantenga buenas prácticas de codificación como evitar bloques anidados si, comparación de punto flotante, manejo de excepciones, etc.
8. Mantener la sangría adecuada
9.Escribe los comentarios apropiados cuando sea necesario
10. Intente escribir código independiente de la plataforma y la versión.