Cómo aprender estructuras de datos y algoritmos

Para libros recomendados:

  1. Estructura de datos – Esquema de Schaum. Puedes encontrar la copia impresa del libro. También está disponible en diferentes lenguajes de programación, así que échales un vistazo.
  2. Algoritmos – Introducción a los algoritmos por Thomas H. Cormen. Puede encontrar la copia impresa y la copia electrónica del libro.

Para el aprendizaje en línea, sugiero algunos sitios web que son buenos para aprender mediante la práctica:

  1. HackerRank
  2. GeeksforGeeks | Un portal informático para geeks
  3. Concurso de programación, concurso de programación, programación informática en línea
  4. Desbordamiento de pila

También puede echar un vistazo a esta pregunta para decidir su forma de abordar el tema y su problema. Supongo que todas estas cosas son lo suficientemente buenas como para comenzar.

Eso es increíble, ya conoces Java y tienes 14 años.

En primer lugar, eche un vistazo a SPOJ y al Proyecto Euler y resuelva algunos problemas. Debe familiarizarse un poco con la programación competitiva para comprender el uso de la estructura de datos y los algoritmos.

Al mismo tiempo, comience a leer Algoritmos o CLRS para aprender la base de algoritmos y estructuras de datos, si está familiarizado con la codificación, simplemente lea CLRS o lea Algoritmos porque en ese libro todas las implementaciones están en Java pero en CLRS todos los algoritmos están en pseudocódigo puro. Resuelva cualquier problema que vea en esos libros de esa manera comprenderá completamente todos los temas.

Tome este como un consejo en lugar de usar el marco de colecciones de java. Es posible que al principio carezcan de algunas funciones o variables, pero comprenderá su concepto muy rápidamente, es una parte muy importante del aprendizaje de estructuras de datos y algoritmos.

More Interesting

¿Qué es una expresión regular que devolverá falso cuando una letra determinada aparece más de n veces?

En el juego de conkers, ¿cómo diseñarías un experimento para identificar qué conkers son mejores?

Cómo imprimir una cadena usando un puntero

Dada la secuencia creciente, en cada paso puede elegir 2 elementos consecutivos, reemplazarlos con su suma y no puede elegir el último elemento, ¿cuál es el número máximo de movimientos que puede hacer para que la secuencia siga aumentando?

CodeChef: ¿Está bien resolver los desafíos de programación sin el conocimiento de algoritmos?

¿Cuál es mi concepto erróneo con respecto al algoritmo de clasificación de fusión aquí?

¿Por qué todavía no tenemos matrimonios estables cuando el problema del matrimonio estable se resolvió en 1962?

¿Cuál es la intuición de los algoritmos de Prim y el algoritmo de Kruskal?

Cómo mostrar el límite de (1 + a_n / n) ^ n = e ^ a si el límite de a_n = a cuando n se aproxima al infinito

¿Hay algún algoritmo de ordenación que funcione en el orden de n?

¿Qué es un algoritmo eficiente para encontrar una isla de 1s conectados en una matriz de 0s y 1s?

Modelo similar: ¿Cuál es el mejor algoritmo para usar en grandes conjuntos de datos?

¿Existe un algoritmo para salir de laberintos bidimensionales?

¿Se puede demostrar que es imposible volver a un entero inicial mayor que uno si aplica un algoritmo de multiplicar por tres y agregar uno cuando es impar y dividir por dos si es par?

¿Por qué un montón de emparejamiento es más rápido que un montón binario?