¿Cuándo debo comenzar a aprender algoritmos de C ++?

Deberías comenzar a aprender algoritmos ahora . ¡Ni siquiera necesita saber un lenguaje de programación para hacer eso! Puede aplicar esos algoritmos en cualquier idioma que elija. Aquí hay algunos temas que pueden ayudarlo a comenzar:

  • Agregar, Buscar, Editar, Eliminar:
    • Lista enlazada individualmente
    • Lista doblemente vinculada
    • Árbol binario
    • N-ary Tree
    • B Tree, AVL Tree, Red Black Tree, etc.
    • Grahps
    • Tablas hash
  • Funciones hash, criptografía
  • Algoritmos de gráfico (ruta más corta, árbol de expansión mínima, etc.)

Descubrirá que la forma en que se escriben en varios idiomas variará drásticamente, pero es mejor aprender estos algoritmos y temas independientemente del idioma que utilice para que realmente comprenda los conceptos.

¿En cuanto a cuándo los usas en la práctica? Lo sabrás cuando lo necesites. Se le avisará cuando tenga un problema de rendimiento y una de estas estructuras de datos o algoritmos pueda ayudarlo a resolver su problema, o reconocerá un patrón a medida que se acerque al problema y use el algoritmo adecuado.

Permítanme responder en un lenguaje agnóstico. Debería aprender algoritmos cuando los necesite, así de simple.

Ahora, conocer los algoritmos es algo completamente diferente. Si necesita encontrar la ruta más corta entre dos nodos en un gráfico, es de esperar que conozca el algoritmo de Dijkstra. El truco es conocer los algoritmos antes de que los necesite. Lo mejor es que no tiene que descifrar el código o asimilarlo completamente, por lo que lleva mucho menos tiempo.

Muchas de las personas a las que he asesorado mantendrán una trampa o cuaderno de algoritmos sobre los que han leído para una referencia fácil y luego, una vez que crean que tienen un uso para ese algoritmo en particular, se sumergen y lo entienden.

Los algoritmos son muy parecidos a los patrones de diseño. Son geniales para saber, pero si no sabes cómo aplicarlos o simplemente no los necesitas, no te harán mucho bien.

No se deje atrapar por la trampa de “solución buscando un problema”. Sé realmente bueno en la programación y aprende a aplicar las herramientas que conoces en el camino.

¡No hay tiempo perfecto! Tan pronto como te des cuenta de que estás enfrentando dificultades para resolver el problema del mundo real solo con la ayuda de tu conocimiento del programa, entonces deberías comenzar a aprender algoritmos. Te ayudará en gran medida.

La pregunta debe volver a enmarcarse en aras de la claridad. ¿Qué quiere decir exactamente con “Algoritmos de C ++”? ¿Te refieres a algoritmos para analizar C ++? ¿O quiere decir algoritmos que se utilizan en la programación de bajo nivel (sistemas) y, por lo tanto, a menudo se implementan en C ++? ¿O simplemente quiere decir “aprender algoritmos al implementarlos en C ++”?