¿Cuál se debe aprender primero, estructuras de datos o algoritmos?

A2A

Será mejor que obtenga un 100 en DS primero, no estoy exactamente calificado para esta respuesta, pero luego editaría esta respuesta algún día en el futuro si esto no es óptimo.

Sin embargo, puedo contarles algo de experiencia, estaba resolviendo un algoritmo realmente largo que tiene muchas partes, digamos 10 partes, estas partes se repitieron cientos de veces, estas partes deben ser óptimas para resolver todo el problema de manera óptima, cada parte era muy fácil de usar imagínense, pero solo si supiera la ‘complejidad de cada operación’ (como insertar, eliminar) de la estructura de datos que utilicé (posiblemente, una de la lista o deque), el algoritmo fue súper fácil, pero no pasará todos los casos de prueba , ya que no recuerdo la complejidad de cada operación, algunas veces tuve dudas sobre la selección de DS que usé.

El problema enfrentado fue solo en un problema, desperdiciado un día o dos, lo intenté durante mucho tiempo porque tenía mucha puntuación, puede ser, cien. Finalmente, no pude resolverlo por completo, es solo un problema, entonces ¿por qué es un problema?

la razón es simple, porque no le gustará cuando entendió el problema por completo, pero no lo resolvió por completo (de manera óptima). Espero que haya respondido de alguna manera.

Primero debe aprender las estructuras de datos. Entonces, durante los algoritmos de aprendizaje, puede decidir qué estructura de datos es la más adecuada para el algoritmo particular.

Puede aprender la estructura de datos en el siguiente orden:

  1. Formación
  2. Lista enlazada
  3. Cola
  4. Apilar
  5. Árbol

Ahora, está listo para avanzar en algoritmos y también puede optar por estructuras de datos avanzadas.

Para algoritmos, puede seguir el siguiente orden:

  1. Clasificación
  2. buscando
  3. Codicioso
  4. Divide y conquistaras
  5. DP
  6. Grafico

El algoritmo es una forma de resolver un problema complejo utilizando algún tipo de lógica, pero sin el conocimiento de la estructura de datos no comprenderá la complejidad del tiempo y cómo puede hacer el mismo algoritmo usando diferentes formas, diferentes estructuras de datos. La complejidad del tiempo es lo más importante a tener en cuenta cuando se trata de bases de datos de gran tamaño. Por lo tanto, comience con los algoritmos básicos como la clasificación, la búsqueda, etc., luego busque estructuras de datos y luego nuevamente algos.

Las estructuras de datos se utilizan para representar datos dados en forma diferente.

En algunos escenarios, la pila se ajusta mejor y la lista vinculada en otros casos.

Algoritmos es un enfoque para resolver cualquier problema eficiente en términos de complejidad de tiempo y complejidad de espacio.

Por lo tanto, sugeriría aprender diferentes estructuras de datos primero con su escenario práctico. Una vez que comprenda la estructura de datos, será fácil resolver cualquier problema utilizando el algoritmo apropiado con la mejor estructura de datos.

Espero que ayude.