Buenas, buenas estructuras de datos.
Miscelánea / / December 05, 2023
Este curso - otro paso importante en su desarrollo como informático competente en el campo de la programación. Una vez que haya aprendido las capacidades básicas del lenguaje, su componente orientado a objetos, el siguiente paso lógico es estudio de estructuras de datos típicas y de uso frecuente, conocimiento de sus fortalezas y debilidades para su uso efectivo en su proyectos.
Cualquier programa más o menos fiable utiliza al menos una estructura de datos simple, por ejemplo, matrices. Y en proyectos más complejos siempre hay otros más complejos como listas enlazadas, tablas hash, conjuntos, matrices asociativas, etc. Necesita saber todo esto para que sus programas funcionen lo más rápido posible y al mismo tiempo utilicen la memoria del dispositivo con moderación. Además, casi siempre durante las entrevistas de trabajo para el puesto de programador se les pregunta preguntas sobre estructuras de datos y métodos para evaluar la complejidad de los algoritmos, generalmente desde una perspectiva de "gran O" (O grande). Todos estos temas importantes están incluidos en este curso. Completarlo le permitirá no solo escribir algoritmos con más confianza, sino también tener más éxito en entrevistas para futuros empleos.
Aprender a estimar la complejidad computacional de los algoritmos.
1. Introducción a la Gran O
2. Big O con complejidad logarítmica y factorial
Las estructuras de datos más simples.
1. matriz estática
2. Matriz estática en C++
3. matriz dinámica
4. Matriz dinámica en Python
5. Matriz dinámica en C++
Listas enlazadas
1. lista enlazada individualmente
2. Lista enlazada individualmente en C++
3. lista doblemente enlazada
4. Lista doblemente enlazada en C++ desde cero
5. Clase de lista de una lista doblemente enlazada de la biblioteca STL de C++
Colas y pila
1. Colas FIFO y LIFO
2. cola collections.deque en Python
3. Clase de cola de cola de la biblioteca STL de C++
4. Pila
5. Implementación de una pila en Python y C++
Arboles y decorados
1. árboles binarios
2. Métodos para atravesar y eliminar vértices de un árbol binario.
3. Árbol binario en Python
4. Conjuntos. Establecer operaciones
5. Conjuntos y multiconjuntos en C++
6. Contenedor de mapas de biblioteca STL en C++
7. Árbol de prefijo (cargado, Trie). Matrices asociativas
tablas hash
1. tablas hash
2. Hashing universal
3. Método de direccionamiento abierto. Doble hash
4. Tablas hash en Python y C++