Descripción
Conocer algunas estructuras de datos y algoritmos fundamentales, tanto en teoría como desde una perspectiva de implementación práctica, le ayuda a ser un mejor programador de C++, le da una buena base para entender los contenedores de la biblioteca estándar y los algoritmos internos de la mecánica «bajo el capó», y sirve como un tipo de conocimiento que se requiere en varias entrevistas de codificación, también. En este curso, Introducción a las Estructuras de Datos y Algoritmos en C++, aprenderá cómo implementar algunas estructuras de datos y algoritmos fundamentales en C++ desde cero, con una combinación de introducción teórica usando diapositivas, y también práctica de implementación de código en C++. No se requiere ningún conocimiento previo de la estructura de datos o de la teoría de los algoritmos. Sólo se necesita un conocimiento básico de las características del lenguaje C++. Primero, descubrirás cómo desarrollar una clase de C++ para usar de forma segura los arrays, con gestión automática de la memoria usando el constructor y el destructor, y accediendo de forma segura a los elementos del array con comprobación de los límites. Luego, verás cómo mejorar aún más esta clase de array, sobrecargando al operador de inserción para ofrecer una sintaxis de impresión idiomática simple y agradable para los arrays, y optimizando la clase de array con la semántica de movimiento. También aprenderás a copiar matrices correctamente, y verás el idioma de copia e intercambio en acción. Luego, aprenderás a generalizar la clase de arreglos con plantillas. A continuación, aprenderás sobre la notación Big O de una forma práctica e intuitiva, y aplicarás esos conocimientos a un par de algoritmos de búsqueda. Empezarás a aprender a buscar usando la búsqueda lineal simple, y luego verás cómo mejorar la búsqueda, usando la búsqueda binaria. Primero presentaré estos algoritmos usando diapositivas, y luego los verás en acción en un código de demostración concreto en C++. Finalmente, descubrirás cómo implementar otras estructuras de datos comunes, como la pila con su política LIFO y las operaciones de «push and pop», y las listas vinculadas, incluyendo operaciones como la inserción y eliminación de nodos de la lista, y la búsqueda de elementos en una lista vinculada. Después de completar este curso, serás capaz de implementar algunas estructuras de datos y algoritmos fundamentales comunes desde cero en C++, tendrás una comprensión práctica de la notación Big O para evaluar y comparar las tendencias de rendimiento de los algoritmos, y verás en acción, varias técnicas interesantes de codificación en C++ que podrás reutilizar también en tus propios proyectos en C++. Además, podrás utilizar estos conocimientos fundamentales para avanzar hacia temas más avanzados de estructuras de datos y algoritmos en C++.