Su pregunta y los detalles son confusos. Ver último párrafo. El siguiente es más para alguien que recién comienza.
Realmente no deberías verlo como dos cosas diferentes. Necesita algoritmos (y en realidad estructuras de datos en combinación con algoritmos) para cualquier tipo de programación. Incluyendo “Desarrollo de Android”. Es literalmente como preguntar: “¿Debería aprender matemáticas primero o comenzar directamente con estadísticas?” ser capaz de razonar acerca de hacer cualquier cosa específica de una forma u otra, organizando datos de una forma u otra. Lo mismo que un estadístico no necesita saber cada idea matemática que se haya inventado, pero sería difícil hacer algo si no tiene ningún tipo de conocimiento al respecto.
Mi sugerencia sería utilizar el Desarrollo de Android como el tipo de ejemplos de programación que practicas para aprender algoritmos y estructura de datos. Por ejemplo, en lugar de la consola habitual, hace algunas preguntas: calcule el resultado, muestre y repita, hágalo en un emulador móvil. Cada vez que lo domine, intente también mejorar sus habilidades de interfaz de usuario; por ejemplo, la próxima vez, en lugar de solo un diálogo con entrada, intente un diseño impulsado por eventos. Lo más difícil cuando comienzas es encontrar ejemplos que te interesen, y dado que tu objetivo es usar Android, ¿por qué no enfocarte en eso específicamente cuando aprendes algos?
- Cómo ganar 10000 dólares con el desarrollo de aplicaciones de Android en un mes
- Cómo aprender Java para el desarrollo de Android
- ¿Cuáles son los 3 mejores desarrolladores de aplicaciones de Android en India?
- ¿Cómo será Android en el futuro?
- ¿Qué es lo mejor para el desarrollo de aplicaciones de Android: HTML, CSS, JavaScript o Java?
Si quiere decir que solo puede encontrar un curso en Android y otro en Algos, ambos exclusivos, entonces necesita buscar un poco más. Puedo creer que los Algos no siempre están orientados a Android (es decir, se enfoca en algo más o de naturaleza más general), pero un curso de Android que no incluye ningún algoritmo no vale la pena mencionarlo como curso. La única posibilidad es que dicho curso de Android esté destinado a programadores de nivel intermedio a avanzado y simplemente muestre los detalles involucrados, es decir, tiene un requisito previo de que los alumnos necesiten comprender los algoritmos y las estructuras de datos (en cuyo caso usted tiene tu respuesta).
Sin embargo, usted declara: “Conocimiento sólido de Java, C #, Python, Bases de datos”. ¿Qué quieres decir exactamente con esto? ¿Realmente has hecho algunos programas usando esos? ¿Cómo pudiste hacerlo sin ningún conocimiento de algoritmos? Para eso es lo que “es” la programación, diseñe algunos algoritmos para operar en algunas estructuras de datos que luego codifica utilizando algún lenguaje. El lenguaje en sí es mucho menos importante que los algoritmos y las estructuras de datos que diseña. Incluso el diseño de la interfaz de usuario es de mayor importancia que el lenguaje, al menos si va a hacer programas interactivos para el usuario (lo que probablemente sea porque pregunta sobre Android). Entonces, si ha realizado alguna programación seria antes, es probable que tenga al menos una comprensión aceptable de los algoritmos. ¿Cuánto es algo que solo tú puedes responder? Y si eso es suficiente para ir con un curso de Android de nivel intermedio, es una situación de “depende”.