Capacitación en diseño de Beida Jade Bird: ¿Por qué los programadores deberían aprender algoritmos y campos de aplicación?
La importancia de aprender algoritmos Antes de presentar algoritmos específicos, permítanme hablar primero sobre mi intención original de aprender algoritmos.
Mi intención original no es más que dos puntos: primero, las empresas de Internet como BAT deberían exigir conocimientos de algoritmos durante las entrevistas de contratación. Si quiero unirme a una empresa de Internet, debo aprender bien los algoritmos. En segundo lugar, al aprender algoritmos para mejorar las habilidades básicas del desarrollo personal, puedo elegir correctamente las estructuras de datos y algoritmos correspondientes para diferentes escenarios, haciendo que el programa sea más robusto y mejorado; la eficiencia operativa del programa.
Campos de aplicación Actualmente, varias subdivisiones de computadoras involucran diferentes algoritmos.
Por ejemplo, en los buscadores solemos utilizar navegadores como Google y Baidu. Siempre que ingresemos una palabra clave, el navegador devolverá rápidamente la colección relacionada. Hay muchos algoritmos ocultos detrás de esta colección.
Sin estos algoritmos, no podríamos obtener los resultados que queremos tan rápidamente.
Otro ejemplo es la inteligencia artificial, que utiliza algoritmos de modelos computacionales para realizar diversos escenarios de aplicación, como el reconocimiento del cuerpo humano y el reconocimiento de voz.
Análisis de algoritmos Hemos mencionado anteriormente que los algoritmos son soluciones a problemas, y un mismo problema puede tener diferentes soluciones.
Por lo tanto, para medir la calidad de un algoritmo se proponen los conceptos de complejidad temporal y complejidad espacial.
Complejidad del tiempo En términos generales, el número de repeticiones de operaciones básicas en un algoritmo es una función f(n) del tamaño del problema n, y la medida de tiempo del algoritmo se registra como T(n)= O(f(n)), lo que significa que a medida que aumenta el tamaño del problema n, el tiempo de ejecución del algoritmo aumenta al mismo ritmo que f(n), lo que se denomina complejidad temporal asintótica del algoritmo, o complejidad temporal para abreviar.
Complejidad del espacio La complejidad del espacio es una medida del espacio de almacenamiento temporal ocupado por el algoritmo durante la operación, representado por S(n)=O(f(n)).
La calidad de un algoritmo se mide principalmente desde dos aspectos: el tiempo de ejecución del algoritmo y el espacio de almacenamiento requerido.