¿Con qué frecuencia los desarrolladores de iOS requieren estructuras de datos y diseño de algoritmos?

La respuesta es bastante frecuente. Por ‘desarrollador de iOS’, supongo, se refiere a desarrollar aplicaciones para dispositivos Apple: iPad, iPhone, etc. Por lo tanto, el desarrollador de iOS suele ser un desarrollador de Objective C o un desarrollador de Swift o ambos.

No solo iOS, para cualquier trabajo en programación, el conocimiento de DS y algoritmos es imprescindible. Saltarse DS y aprender un lenguaje de programación en sí mismo es contradictorio.

Estructuras de datos:

Si sabe cómo iterar a través de una lista de elementos y realizar operaciones en ellos, comprende las estructuras de datos lineales. Por lo tanto, si tiene un conocimiento sólido sobre NSArray, NSSet, NSDictionary y puede identificar el tipo de datos correcto para usar en un escenario dado, tiene estructuras de datos lineales prácticamente cubiertas.

Algoritmos

Un proceso o conjunto de reglas a seguir en los cálculos u otras operaciones de resolución de problemas, especialmente por una computadora.


Cada enunciado del problema puede tener cientos de soluciones y la peor solución es la fuerza bruta. La mejor solución es la que se puede ejecutar en menos complejidad de tiempo y / o espacio. Por lo tanto, los algoritmos suelen ser las mejores soluciones para un problema determinado. Entonces, lo único que cuenta son las habilidades para resolver problemas. Además de eso, hay soluciones comprobadas para los problemas más comunes, como ordenar, buscar, etc. Siempre es bueno aprenderlos.

Junto con los algoritmos probados comunes, es bueno aprender (no obligatorio) la notación Big O, que es un estándar para medir la eficacia / eficiencia de las soluciones / algoritmos. Sin la notación Big O es difícil demostrar que una solución es mejor que otra.

Conclusión: Aprenda algunos algoritmos básicos y comprenda los aspectos internos de NSSet, NSArray, NSDictionary. Y eres bueno para ir.


Espero que esto ayude. ¡¡Todo lo mejor!!