No, no es una mala idea aprender algoritmos mientras usa Python. Sin embargo, tiene algunas ventajas y desventajas sobre el uso de lenguajes de programación de nivel inferior, como C ++.
Una de las ventajas es que el lenguaje es muy simple y puedes enfocarte únicamente en los algoritmos mientras practicas. Con C ++ a menudo puede sentir que está luchando con la sintaxis del lenguaje en lugar de mejorar las habilidades de programación competitivas.
Otra ventaja es que durante las entrevistas de trabajo, en un tiempo limitado y bajo la presión, es mucho más fácil codificar en Python que los lenguajes estáticamente escritos como C ++. Por lo tanto, al practicar sus habilidades de algoritmo en Python y al elegir ese idioma durante la entrevista, maximizará sus posibilidades de obtener las ofertas.
- ¿Cuál es la complejidad temporal de la solución del problema del vendedor ambulante mediante la optimización de colonias de hormigas?
- Cómo usar la primera búsqueda en profundidad en un laberinto
- Como principiante, ¿debo invertir mi tiempo en escribir mi propio algoritmo de aprendizaje automático desde cero?
- ¿Cuáles son algunos de los diferentes casos que debería considerar usar matrices bidimensionales sobre matrices unidimensionales en Java?
- ¿Debo aprender a clasificar?
Por otro lado, dado que C ++ es un lenguaje de programación de nivel inferior con tipos estáticos, comprenderá cómo funcionan las cosas mucho mejor. Debes ser extremadamente cuidadoso con Python, para que entiendas lo que sucede detrás de escena. Por ejemplo, debe saber que los mapas y conjuntos de Python se implementan con tablas hash y debe comprender las consecuencias de eso. Debe saber cómo se implementan las listas y otros contenedores y comprender los tiempos de ejecución de las diferentes operaciones en estas colecciones. Tienes la idea.
Otra desventaja es que si alguna vez necesita usar algunos algoritmos inteligentes para minimizar el consumo de memoria y tiempo, nunca podrá lograr los buenos resultados prácticos en Python. Esto se debe a que Python es increíblemente lento y consume demasiada memoria. Entonces, al usar lenguajes de programación de bajo nivel como C ++, obtendrá resultados mucho mejores en las competiciones en línea.
En resumen, no diría que es una mala idea. Simplemente tiene algunas ventajas y desventajas y debe optimizar para sus necesidades. En general, aprender un segundo lenguaje de programación no será un gran problema en comparación con pulir sus habilidades de algoritmo después. Entonces no es una decisión muy importante.