Cómo elegir la estructura de datos correcta

Estudie todas las estructuras de datos comunes importantes, incluidas sus supuestas fortalezas y debilidades. Comprenda las interfaces públicas, cree sus propias implementaciones y luego estudie las versiones de otros. Después de eso, imagina diferentes escenarios y escribe mucho código usándolos. Forme opiniones sobre cuál prefiere en esas situaciones.

Esto debería darle una buena idea de la estructura de datos ‘correcta’ para alguna nueva tarea.

Según el tiempo y la paciencia, su lista de estudio de “estructuras de datos comunes importantes” podría incluir estos (y quizás mucho más):

  • Matrices / Vectores
  • Colas / Pilas
  • Listas enlazadas individualmente / Listas enlazadas doblemente
  • Árboles binarios / Árboles de búsqueda binaria
  • Colas de prioridad / montones binarios
  • Conjuntos de hash / Mapas de hash
  • Gráficos

Estas son estructuras de datos que se enseñan en la programación de bootcamps como Coding Dojo. Hay muchos libros sobre el tema, algunos más accesibles que otros. (-: me gusta el mío.

More Interesting

¿Qué es la representación de colas usando array?

Cómo minimizar el diámetro de un árbol si puede cambiar como máximo un borde del árbol

¿Cuánto tiempo te lleva programar un algoritmo razonablemente complicado?

¿Por qué los estudiantes chinos tienen un talento extraordinario en programación y algoritmos?

Cómo crear mi propio algoritmo de compresión básico para archivos

¿Cuáles son todos los diferentes tipos de recursividad en la programación?

En la tercera edición de 'Introducción a los algoritmos', ¿por qué comprar acciones es un problema de subarrays máximos?

¿Cómo es diferente la cola circular del algoritmo de inserción?

¿Por qué los programadores experimentados dicen que la programación del mundo real es completamente diferente a la programación competitiva?

Si un generador de números aleatorios generara 1600 números del 1 al 16, ¿cuántos habría de cada número?

¿Cómo diferenciar entre algoritmos de clasificación internos y externos en términos simples? ¿Cómo se lo explica a los principiantes?

¿Puedo hacer que un usuario de matriz ingrese su tamaño?

Si digo los números del 1 al 100 en un orden aleatorio y omito un número, ¿cómo determinaría el número que falta solo en su cabeza?

¿Es una buena idea aprender algoritmos antes de los conceptos de OOP en la programación de Python?

¿Qué es lo más importante para las empresas de software: código abierto, proyectos extracurriculares o habilidades algorítmicas (habilidades de programación competitiva)?