¿Cómo escribir un algoritmo?
Un algoritmo es un conjunto de reglas bien definidas que se utilizan para resolver un problema en un número limitado de pasos. En pocas palabras, es el proceso de resolución de problemas por computadora. En este proceso, ya sea que esté formando una idea para resolver un problema o escribiendo un programa, está implementando un determinado algoritmo. El primero es un algoritmo implementado mediante razonamiento y el segundo es un algoritmo implementado mediante operación. Un algoritmo debe tener las siguientes cinco características importantes: 1. Finitud: un algoritmo debe garantizar que finaliza después de ejecutar un número finito de pasos. 2. Precisión: cada paso del algoritmo debe tener una definición exacta. 3. Entrada: un algoritmo; tiene 0 o más entradas para describir la situación inicial del objeto de operación. Las llamadas 0 entradas se refieren a las condiciones iniciales establecidas por el propio algoritmo 4. Salida: un algoritmo tiene una o más salidas para reflejar los resultados del procesamiento; datos de entrada. Un algoritmo sin resultados no tiene sentido; 5. Viabilidad: en principio, el algoritmo puede ejecutarse con precisión y puede ser completado por personas que utilicen lápiz y papel para realizar un número limitado de operaciones. Cuando se encuentra con un problema de algoritmo, primero debe saber si se ha enfrentado a este tipo de problema antes. Si lo ha visto, generalmente lo resolverá sin problemas, y luego considere las siguientes preguntas: un problema de algoritmo Al hacer esto, primero debe saber si ha tratado este tipo de problema antes. Si lo ha visto, generalmente lo resolverá sin problemas, si no lo ha visto, considere las siguientes preguntas: 1. ¿Es? ¿El problema se basa en algún problema conocido? ¿En una estructura de datos familiar (por ejemplo, un árbol binario)? 2. ¿A cuál de los siguientes tipos pertenece el algoritmo requerido por el problema? (Establecer estructura de datos, modificar estructura de datos, recorrer, buscar, ordenar...) 3. Analizar las propiedades matemáticas del algoritmo requerido por el problema. ¿Tiene características recursivas? (Para la programación recursiva, siempre que diseñe una tabla de parámetros razonable y las condiciones para el final de la recursividad, básicamente estará listo). 4. Continúe analizando la naturaleza matemática del problema. experiencia previa en programación, imagine una posible solución y demuestre la exactitud de esta solución. Si la pregunta tiene requisitos de tiempo y espacio para el algoritmo, demuestre que su idea cumple con sus requisitos. Generalmente, es difícil lograr eficiencia de tiempo y espacio. eficiencia A veces es necesario establecer un almacenamiento auxiliar. 5. Después de un período de análisis, ya tiene algunas ideas para resolver este problema, simplemente puede describir su algoritmo en lenguaje natural. corrección e intente descubrir los errores y encontrar soluciones Cuando sea necesario (se encuentran contradicciones irresolubles), anule sus ideas y comience desde cero. 6. Después de confirmar que sus ideas son factibles, comience a escribir el programa. Considere varios temas lo más detallados y completos posible. El programa debe tener una buena estructura y estar equipado con comentarios en lugares clave. 7. Dé un ejemplo y luego ejecute su programa con un lápiz sobre papel para verificar más a fondo su exactitud. Si encuentra una situación que no coincide con sus suposiciones, analice si la causa del problema es un problema de programación o un problema con la idea del algoritmo en sí. 8. Si el programa pasa la verificación de corrección anterior, optimícelo o simplifíquelo aún más.
9. Escribe análisis de ideas y notas.------------------------------------------ --- ----------------------------------------------- --- ----------------------------------------------- --- ----------------------------------------------- --- ----------------------------------------------- --- ----------------------------------------------- --- ----------------------------------------------- --- ----------------------------------No entiendo, o todavía no entiendo , ¿alguien puede decirmelo claramente?