Un curso de estructuras de datos trata sobre estructuras de datos. Específicamente, se trata de diferentes formas de mantener y organizar los datos, cómo manipular los datos contenidos en esas estructuras y las compensaciones involucradas en la elección de una estructura de datos para usar.
Por ejemplo, una pila es una estructura de datos simple donde puede agregar datos (“empujar”) a la “parte superior” de la pila y recuperar datos (“pop”) de la “parte superior” de la pila. Tiene la propiedad “LIFO”: último en entrar, primero en salir. Una clase de estructuras de datos explicaría qué es con más detalle, cómo implementar uno, por qué es posible que desee usar uno (es útil para realizar búsquedas de profundidad, entre otras cosas) y cuál es el costo de usar uno.
Una cola es una estructura de datos similarmente simple en la que puede agregar datos (“en cola”) a un extremo y eliminar datos (“cola”) del otro extremo. Tiene la propiedad “FIFO”: primero en entrar, primero en salir. Una clase de estructuras de datos explicaría cómo esto es diferente de una pila, cómo implementar uno y el costo de usar uno.
- Cómo elegir métricas de error para el algoritmo de aprendizaje automático
- ¿Cómo uso cualquier biblioteca en Java que implemente la selección de funciones del algoritmo RELEIFF?
- ¿Cuál es la mejor manera de entender la recursividad, especialmente en los árboles?
- ¿Por qué todavía no tenemos matrimonios estables cuando el problema del matrimonio estable se resolvió en 1962?
- ¿Cuáles son los problemas de programación que resolvió que le hicieron decir "¡Guau! ¡Lógica asombrosa"?
Las estructuras de datos típicas cubiertas en una clase de estructuras de datos incluyen pilas, colas, listas vinculadas, árboles, hashes, etc., incluidas variantes como colas de doble extremo, colas prioritarias, listas doblemente enlazadas, listas enlazadas circularmente, listas circulares doblemente enlazadas, binario busca árboles, árboles AVL, árboles rojo-negros, intentos, árboles B, árboles B * y más.