Es completamente posible pasar la mayor parte de su carrera haciendo un trabajo significativo y útil, con un conocimiento mínimo de algoritmos y estructuras de datos.
El nivel mínimo de conocimiento para algoritmos y estructuras de datos, para tener éxito, requerirá que:
- tenga en cuenta la mayoría de ellos (incluida la lectura de los nuevos ocasionalmente a medida que salen)
- saber dónde encontrar implementaciones buenas, probadas y que funcionen
- poder comparar algoritmos y su utilidad
- poder copiar correctamente uno de un ejemplo de código abierto a su entorno específico, con un pequeño ajuste
No hay * máximo * . Si lo desea, puede llevar su estudio al nivel de doctorado y más allá. Su utilidad está directamente relacionada con el tipo de trabajo que le interesa tener y con el tipo de trabajo que le parezca más interesante y gratificante.
Dicho esto, como una guía aproximada (pero no absoluta), cuanto más bajo, más intensivo en recursos y menos automatizado sea el lenguaje, el marco y la aplicación en la que esté trabajando, mayor será el nivel de habilidad requerido cuando se trata a algoritmos y estructuras de datos. Por ejemplo, la implementación del algoritmo de Ukkonen en el ensamblaje probablemente, pero no necesariamente, significa que querrá una comprensión a nivel de maestría del algoritmo y las estructuras de datos involucradas.
En su situación específica, al pasar de un entorno de desarrollo de Java a trabajar en los iOs, en igualdad de condiciones, espere una demanda ligeramente mayor en su comprensión general de algoritmos y estructuras de datos. Querrá poder ejecutar de manera eficiente en un dispositivo con menos recursos disponibles. Además, espere agregar un par de categorías nuevas a su arsenal; sobre todo, querrá saber más sobre la administración de memoria.