No.
Las estructuras de datos y los algoritmos son independientes del lenguaje de programación (es decir, puede codificar una estructura de datos de árbol en C o Java o Python, etc.)
Aquí están mis pasos de preparación recomendados:
- ¿Vale la pena tomar el curso en línea de comercio algorítmico en Quantinsti?
- ¿Cuáles son las situaciones en las que uno puede usar ArrayList y otras situaciones para usar solo LinkedList?
- ¿Existe un mapeo limpio de los ordenamientos de N objetos en la recta numérica?
- ¿Cuáles son las aplicaciones de las tablas hash?
- ¿Cuáles son las mejores estructuras de datos para un índice espacial utilizado para averiguar en qué región de un espacio delimitado cae un nuevo punto dado?
Fundamentos sólidos: puede utilizar Introducción a los algoritmos de Cormen. Concéntrese en estos capítulos:
- Clasificación
- Pilas y colas
- Árboles (puede evitar AVL, árboles rojo-negros)
- Gráficos
- Programas dinámicos y codiciosos.
Ensuciarse las manos: no solo mire algoritmos. Debe elegir un lenguaje de programación con el que se sienta cómodo y comenzar a escribir código usando un IDE (por ejemplo, Eclipse) para ese idioma. Asegúrese de poder escribir código que maneje con éxito todos los casos de esquina. Con el tiempo, desarrollará la capacidad de simular código mentalmente para que pueda detectar intuitivamente errores en él.
Practique la programación competitiva: resuelva los desafíos de programación. Puede registrarse en varios sitios web de programación competitivos. Ver ¿Cuáles son algunos buenos sitios de competencia / práctica de codificación? para una buena lista de dichos sitios web.
¡Todo lo mejor!