Depende completamente de lo que quieras decir. Hay problemas que enfrentan ciertos algoritmos. Hay varias inquietudes comunes que se deben considerar al diseñar Algoritmos:
- Complejidad del tiempo : a nadie le gusta un proceso lento, y la mayoría de los tiempos lentos se pueden mejorar en la etapa Algoritmo. Si tuviera matrices de cientos de millones de artículos, no me gustaría ejecutar Selection Sort que tenga un caso peor de [math] O (n ^ 2) [/ math]. ¡Nunca terminaría! Elegiría algo como Radix Sort que tiene el peor caso de [math] O (kn) [/ math].
- Eficiencia espacial : ¿es preocupante la memoria? ¡Debería ser! Los algoritmos que realizan operaciones en un espacio limitado deben ser más eficientes con el espacio. Por ejemplo, sería mejor usar punteros en lugar de hacer una copia de un gran conjunto de datos para una aplicación móvil. Cuando se trata de las computadoras promedio en estos días, la memoria se considera fácilmente disponible. Sin embargo, en dispositivos como teléfonos inteligentes, las aplicaciones deben tener cuidado.
- Trabajo : el último factor importante a considerar es la cantidad de trabajo humano que requiere para usar un algoritmo más eficiente. Si el algoritmo solo se va a usar una vez en un pequeño conjunto de datos, no tendría mucho sentido implementar una solución compleja para manejar un gran conjunto de datos. Hay un punto en el tiempo cuando los enfoques más simples son mejores.
Estas son 3 preocupaciones comunes que la mayoría debe tener en cuenta al elegir o diseñar Algoritmos. Un gran libro que analiza los algoritmos en detalle es Data Structures and Algorithms de Alfred V. Aho, Jeffrey D. Ullman, John E. Hopcroft. Espero que esto sea lo que quisiste decir.
- ¿Cuáles son algunas de las buenas prácticas seguidas por los investigadores de CS?
- ¿Cuál debo elegir entre IIIT Allahabad IT y Jadavpur University CSE si estoy interesado en la codificación y la investigación en ciencias de la computación?
- ¿Cuáles son los principales problemas en la informática distribuida?
- ¿Cuáles son los códigos de simulación de última generación en dinámica de fluidos computacional?
- Informática teórica: ¿Cómo es hacer una investigación en privacidad diferencial?