Respondido por Cormen, Leiserson, Rivest y Stein:
“Supongamos que las computadoras son infinitamente rápidas y que la memoria de la computadora es gratuita.
¿Tienes alguna razón para estudiar algoritmos? La respuesta es sí, si no por otra razón.
aún así, le gustaría demostrar que su método de solución termina
Y lo hace con la respuesta correcta.
Si las computadoras fueran infinitamente rápidas, cualquier método correcto para resolver un problema
haría. Probablemente querrás que tu implementación esté dentro de los límites
de buenas prácticas de ingeniería de software (por ejemplo, su implementación debería
estar bien diseñado y documentado), pero lo más a menudo usarías cualquiera
El método fue el más fácil de implementar.
Por supuesto, las computadoras pueden ser rápidas, pero no son infinitamente rápidas. Y la memoria
Puede ser barato, pero no es gratis. El tiempo de computación es por lo tanto un límite.
recurso, y así es el espacio en la memoria. Debes usar estos recursos sabiamente, y
Los algoritmos que son eficientes en términos de tiempo o espacio te ayudarán a hacerlo.
Deberíamos considerar los algoritmos, como el hardware de una computadora, como una tecnología. El rendimiento total del sistema depende de la elección de algoritmos eficientes tanto como de la elección de hardware rápido. Del mismo modo que se están realizando rápidos avances en otras tecnologías informáticas, también se están realizando en algoritmos.
Podría preguntarse si los algoritmos son realmente tan importantes en la actualidad.
computadoras a la luz de otras tecnologías avanzadas, tales como
– arquitecturas informáticas avanzadas y tecnologías de fabricación,
– interfaces gráficas de usuario (GUI) intuitivas y fáciles de usar,
– sistemas orientados a objetos,
– tecnologías web integradas, y
– Red rápida, tanto cableada como inalámbrica.
La respuesta es sí. Aunque algunas aplicaciones no requieren explícitamente algoritmos
contenido de micrófono en el nivel de la aplicación (como algunas aplicaciones simples basadas en la Web),
muchos hacen. Por ejemplo, considere un servicio basado en la web que determina cómo viajar
de un lugar a otro. Su implementación dependería de hardware rápido, un
interfaz gráfica de usuario, redes de área amplia, y también posiblemente en ori-
entación Sin embargo, también requeriría algoritmos para ciertas operaciones, tales como
como rutas de búsqueda (probablemente utilizando un algoritmo de ruta más corta), representando mapas y
direcciones de interpolación.
Además, incluso una aplicación que no requiere contenido algorítmico en el
El nivel de aplicación se basa en gran medida en los algoritmos. ¿La aplicación confía en rápido
¿hardware? El diseño de hardware utiliza algoritmos. ¿La aplicación se basa en
interfaces gráficas de usuario? El diseño de cualquier GUI se basa en algoritmos. Hace el
¿La aplicación depende de la red? El enrutamiento en redes se basa en gran medida en los algoritmos.
¿Se escribió la solicitud en un idioma distinto del código de máquina? Entonces fue
procesado por un compilador, intérprete o ensamblador, todos los cuales hacen uso extensivo
de algoritmos. Los algoritmos son el núcleo de la mayoría de las tecnologías utilizadas en la contemplación
computadoras rarias
Además, con las capacidades cada vez mayores de las computadoras, las usamos para
Resuelve problemas más grandes que nunca. Como vimos en la comparación anterior,
entre la ordenación por inserción y la ordenación por fusión, es en los problemas de mayor tamaño que las diferencias
En eficiencia entre algoritmos se vuelven particularmente prominentes.
Tener una base sólida de conocimiento y técnica algorítmica es una característica
Eso separa a los programadores verdaderamente expertos de los novatos. Con modernas com
Al poner tecnología, puedes realizar algunas tareas sin saber mucho sobre
algoritmos, pero con una buena base en algoritmos, puede hacer mucho, mucho
Más.”
From Introduction to Algorithms – 3rd Edition – Sep 2010. MIT PRESS.
- ¿Qué tan esencial es la matemática?
- ¿Al estudiar CA tienes que viajar mucho?
- Cómo superar la distracción en Kota.
- ¿Está bien estudiar materias por encima de mi grado?
- ¿Escuchar * la música que realmente disfrutas * realmente * disminuye tu eficiencia mientras estudias?