
Introducción al curso de Algoritmos y Estructuras de Datos
Antes de empezar las clases te daré algunas sugerencias para que saques el máximo provecho de este curso
En este clase te propondre un ejercicio a simple vista sencillo pero te forzará a pensar una solución ingeniosa. Este tipo de situaciones iniciaran tu desarrollo de lógica para programar.
El código de esta clase esta al final de la sección
En esta clase continuamos desarrollando algoritmos en base a lo visto en la clase anterior
El código de esta clase esta al final de la sección
En esta clase desarrollamos algoritmos algo más complicados al mismo tiempo que te recomiendo algunas webs donde aprender del código de otros profesionales expertos
El código de esta clase esta al final de la sección
En esta clase terminamos de hacer algoritmos propios de cálculos matemáticos.
El código de esta clase esta al final de la sección
En esta clase veremos cómo se puede optimizar MUCHISIMO un ejercicio conocido. Aquí adquirirás el esencial hábito de la optimización
El código de esta clase esta al final de la sección
En esta clase creamos un algoritmo resolver un problema de mayor complejidad.
El código de esta clase esta al final de la sección
Parte 1 de cómo depurar un algoritmo.
En esta clase avanzamos en la dificultad de los algoritmos mientras te explico cómo depurar o debuggear el código inspeccionando los elementos paso a paso.
El código de esta clase esta al final de la sección
Parte 2 de cómo depurar un algoritmo.
En esta clase avanzamos en la dificultad de los algoritmos mientras te explico cómo depurar o debuggear el código inspeccionando los elementos paso a paso.
El código de esta clase esta al final de la sección
Aquí tienes el código usado a lo largo de las clases de esta sección
Panorama global sobre las Estructuras de Datos que se irá desarrollando a lo largo del resto de secciones específicas
En este video te muestro estructuras adicionales que existen en C++, en este caso STRUCT, asÍ como ejemplos de uso y explicación de sus características
El código de esta clase esta al final de la sección
En este video te muestro estructuras adicionales que existen en C++, en este caso UNION, asÍ como ejemplos de uso y explicación de sus características
El código de esta clase esta al final de la sección
En este video te muestro estructuras adicionales que existen en C++, en este caso ENUM, asÍ como ejemplos de uso y explicación de sus características
El código de esta clase esta al final de la sección
BONUS: Diferencias entre STRUCT Y CLASS
Aquí tienes el código usado a lo largo de las clases de esta sección
El primer tipo de Estructura de Datos que vamos a ver es el array o arreglo. En esta clase veremos cómo funcionan, cómo almacenar información en ellos, cómo recorrer sus elementos y buscar información guardada dentro.
El código de esta clase es el siguiente:
void showItems() {
int train[6];
train[0] = 10;
train[1] = 20;
train[2] = 30;
train[3] = 40;
train[4] = 50;
train[5] = 60;
for (int i = 0; i < 6; i++) {
cout << "In the position " << i << " the value is " << train[i] << endl;
}
int array[5] = { 3, 6, 1, -8, 2 };
for (int i = 0; i < 5; i++) cout << "The item " << i << " is " << array[i] << endl;
}
void searchItem() {
int array[5] = { 3, 6, 1, -8, 2 };
int target = -8;
for (int i = 0; i < 6; i++) {
if (target == array[i]) cout << "eureka!! in position " << i << endl;
}
}
En esta clase te explicaré como crear arrays dinámicos para hacer la reserva de memoria en tiempo de ejecución con el tamaño especificado.
El código de esta clase esta al final de la sección
Parte 1 sobre Cadenas de caracteres
Las cadenas de caracteres se comportan como arrays, por eso en esta sección tendrás este video con alguna funciones básicas de manejo de cadenas a la vez que te explico de qué forma este tipo de datos actúan como un array.
El código de esta clase esta al final de la sección
Parte 2 sobre Cadenas de caracteres
Las cadenas de caracteres se comportan como arrays, por eso en esta sección tendrás este video con alguna funciones básicas de manejo de cadenas a la vez que te explico de qué forma este tipo de datos actúan como un array.
El código de esta clase esta al final de la sección
Parte 3 sobre Cadenas de caracteres
Las cadenas de caracteres se comportan como arrays, por eso en esta sección tendrás este video con alguna funciones básicas de manejo de cadenas a la vez que te explico de qué forma este tipo de datos actúan como un array.
El código de esta clase esta al final de la sección
Aquí tienes el código usado a lo largo de las clases de esta sección
Antes de explicar cada uno de los algoritmos que veremos, tendremos una visión global de esta sección. En esta clase hablaremos sobre por qué son importantes los algoritmos de ordenación y haremos una comparativa entre ellos
En esta clase te explicaré la lógica que sigue el algoritmo de Intercambio o Bubble Sort para que comprendas este método de ordenamiento. Tras ver este video te animo a que intentes plasmar en código el algoritmo. Y después en la clase siguiente podrás comprobar como lo he hecho yo. De esta manera puedes poner a prueba tus habilidades y perfeccionar tu capacidad de convertir en código el pensamiento lógico sobre la resolución de un problema.
En esta clase veremos el paso a código del algoritmo de Intercambio o BubbleSort con la explicación exacta de qué hace cada linea y elemento del código (parte 1)
El código de esta clase esta al final de la sección
En esta clase veremos el paso a código del algoritmo de Intercambio o BubbleSort con la explicación exacta de qué hace cada linea y elemento del código (parte 2)
El código de esta clase esta al final de la sección
En esta clase te explicaré la lógica que sigue el algoritmo de Selección para que comprendas este método de ordenamiento. Tras ver este video te animo a que intentes plasmar en código el algoritmo. Y después en la clase siguiente podrás comprobar como lo he hecho yo. De esta manera puedes poner a prueba tus habilidades y perfeccionar tu capacidad de convertir en código el pensamiento lógico sobre la resolución de un problema.
Parte 1 de Implementacion en Codigo de Algoritmo por Selección
En esta clase veremos el paso a código del algoritmo de Selección con la explicación exacta de qué hace cada linea y elemento del código
El código de esta clase esta al final de la sección
Parte 2 de Implementacion en Codigo de Algoritmo por Selección
En esta clase veremos el paso a código del algoritmo de Selección con la explicación exacta de qué hace cada linea y elemento del código
El código de esta clase esta al final de la sección
En esta clase te explicaré la lógica que sigue el algoritmo de Inserción para que comprendas este método de ordenamiento. Tras ver este video te animo a que intentes plasmar en código el algoritmo. Y después en la clase siguiente podrás comprobar como lo he hecho yo. De esta manera puedes poner a prueba tus habilidades y perfeccionar tu capacidad de convertir en código el pensamiento lógico sobre la resolución de un problema.
Parte 1 de Implementación en Código de Algoritmo de Inserción
En esta clase veremos el paso a código del algoritmo de Inserción con la explicación exacta de qué hace cada linea y elemento del código
El código de esta clase esta al final de la sección
Parte 2 de Implementación en Código de Algoritmo de Inserción
En esta clase veremos el paso a código del algoritmo de Inserción con la explicación exacta de qué hace cada linea y elemento del código
El código de esta clase esta al final de la sección
Algo importantísimo en el análisis de un algoritmo es el tiempo que toma para ejecutar el código y resolver la situación para la que esté diseñado. En este video te explicaré como medir el tiempo de ejecución.
El código de esta clase esta al final de la sección
Parte 1 de Proyecto de Creación de un Algoritmo Propio de Ordenación
En este video te explicaré el algoritmo que he desarrollado personalmente para ordenar datos y la implementación correspondiente en código
Por favor trata de crear tu propio algoritmo y comparte tu código! :)
El código de esta clase esta al final de la sección
Parte 2 de Proyecto de Creación de un Algoritmo Propio de Ordenación
En este video te explicaré el algoritmo que he desarrollado personalmente para ordenar datos y la implementación correspondiente en código
Por favor trata de crear tu propio algoritmo y comparte tu código! :)
El código de esta clase esta al final de la sección
Parte 3 de Proyecto de Creación de un Algoritmo Propio de Ordenación
En este video te explicaré el algoritmo que he desarrollado personalmente para ordenar datos y la implementación correspondiente en código
Por favor trata de crear tu propio algoritmo y comparte tu código! :)
El código de esta clase esta al final de la sección
Antes de cerrar la sección de algoritmos te doy algunos consejos para que sigas desarrollando tu habilidad para programar
Aquí tienes el código usado a lo largo de las clases de esta sección
En esta clase te enseñaré el proceso paso a paso de la recursividad y condiciones obligatorias que tienes que cumplir para un buen desarrollo de este tipo de funciones
Parte 1 de Recursividad Nivel Básico
En esta clase veremos un ejemplo muy sencillo de recursividad para comprender bien este concepto y no confundirnos con factores secundarios. De esa forma y con la representación gráfica del proceso estarás listo para ver ejemplos más complicados de recursividad
El código de esta clase esta al final de la sección
Parte 2 de Recursividad Nivel Básico
En esta clase veremos un ejemplo muy sencillo de recursividad para comprender bien este concepto y no confundirnos con factores secundarios. De esa forma y con la representación gráfica del proceso estarás listo para ver ejemplos más complicados de recursividad
El código de esta clase esta al final de la sección
En esta clase ejemplifico un problema resuelto con recursividad, explicado fase por fase y con codigo inicialmente más legible y posteriormente optimizado.
El código de esta clase esta al final de la sección
Parte 1 de Recursividad Nivel Avanzado (Torres de Hanoi explicado al detalle)
En este video veremos la explicación a un uso avanzado de recursividad. Las torres de Hanoi siempre ha sido una muestra de ellos pero no siempre se comprende de forma cabal. Aquí tendrás la explicación detallada
El código de esta clase esta al final de la sección
Parte 2 de Recursividad Nivel Avanzado (Torres de Hanoi explicado al detalle)
En este video veremos la explicación a un uso avanzado de recursividad. Las torres de Hanoi siempre ha sido una muestra de ellos pero no siempre se comprende de forma cabal. Aquí tendrás la explicación detallada
El código de esta clase esta al final de la sección
Parte 3 de Recursividad Nivel Avanzado (Torres de Hanoi explicado al detalle)
En este video veremos la explicación a un uso avanzado de recursividad. Las torres de Hanoi siempre ha sido una muestra de ellos pero no siempre se comprende de forma cabal. Aquí tendrás la explicación detallada
El código de esta clase esta al final de la sección
Aquí tienes el código usado a lo largo de las clases de esta sección
En este video te muestro una visión global de lo que veremos en esta sección completa sobre Matrices
Parte 1 de Matrices Estáticas. Ejemplos reales de uso
En este video te mostraré la implementación más básica de un matriz, el manejo de dato y el uso tan potente en la vida real que tiene esa estructura de datos aplicada, por ejemplo, al mundo del desarrollo de juegos.
El código de esta clase esta al final de la sección
Parte 2 de Matrices Estáticas. Ejemplos reales de uso
En este video te mostraré la implementación más básica de un matriz, el manejo de dato y el uso tan potente en la vida real que tiene esa estructura de datos aplicada, por ejemplo, al mundo del desarrollo de juegos.
El código de esta clase esta al final de la sección
Parte 3 de Matrices Estáticas. Ejemplos reales de uso
En este video te mostraré la implementación más básica de un matriz, el manejo de dato y el uso tan potente en la vida real que tiene esa estructura de datos aplicada, por ejemplo, al mundo del desarrollo de juegos.
El código de esta clase esta al final de la sección
Parte 1 de Manejos de índices de matrices (Ejercicio)
En este video haremos un ejercicio con matrices para dominar el uso de los índices.
El código de esta clase esta al final de la sección
Parte 2 de Manejos de índices de matrices (Ejercicio)
En este video haremos un ejercicio con matrices para dominar el uso de los índices.
El código de esta clase esta al final de la sección
Parte 3 de Manejos de índices de matrices (Ejercicio)
En este video haremos un ejercicio con matrices para dominar el uso de los índices.
El código de esta clase esta al final de la sección
Parte 1 de Matrices Dinámicas
En este video aprenderas de forma PURA el concepto de matrices dinámicas, de modo que puedas crearlas no solo rectangulares sino adaptadas a cualquier necesidad y con el tamaño concreto de filas y columnas que tú desees. Una COMPLETISIMA explicación que contribuye a que este curso sea especial y diferente a otros.
El código de esta clase esta al final de la sección
Parte 2 de Matrices Dinámicas
En este video aprenderas de forma PURA el concepto de matrices dinámicas, de modo que puedas crearlas no solo rectangulares sino adaptadas a cualquier necesidad y con el tamaño concreto de filas y columnas que tú desees. Una COMPLETISIMA explicación que contribuye a que este curso sea especial y diferente a otros.
El código de esta clase esta al final de la sección
Parte 3 de Matrices Dinámicas
En este video aprenderas de forma PURA el concepto de matrices dinámicas, de modo que puedas crearlas no solo rectangulares sino adaptadas a cualquier necesidad y con el tamaño concreto de filas y columnas que tú desees. Una COMPLETISIMA explicación que contribuye a que este curso sea especial y diferente a otros.
El código de esta clase esta al final de la sección
En este video te explicaré por qué es tan importante borrar memoria creada dinámicante y cómo hacerlo.
Parte 1 de Matrices MultiDimensionales
En este video te explicaré de que forma concebir las matrices para que no importe cuantas dimensiones quieras asignarle, puedas hacerlo sin confundirte, sin volverte loco y sin importar si son 4, 50 o 2546238 dimensiones
Parte 2 de Matrices MultiDimensionales
En este video te explicaré de que forma concebir las matrices para que no importe cuantas dimensiones quieras asignarle, puedas hacerlo sin confundirte, sin volverte loco y sin importar si son 4, 50 o 2546238 dimensiones
Aquí tienes el código usado a lo largo de las clases de esta sección
En este video te mostraré la lógica de una lista para comprender todo el desarrollo posterior de esta estructura de datos. Tambien te mencionaré diversas listas que existen y su forma de conectar los elementos entre sí (listas simples, doblemente enlazadas, circulares simples y circulares doblementen enlazadas)
El código que desarrollaremos durante esta sección esta al final de la sección
Parte 1 de Implementación en código de una lista
En esta clase veremos cómo iniciar la implementacion en código de una lista añadiendo elementos de forma básica y recorriéndolos para mostrarlos por pantalla
El código de esta clase esta al final de la sección
Parte 2 de Implementación en código de una lista
En esta clase veremos cómo iniciar la implementacion en código de una lista añadiendo elementos de forma básica y recorriéndolos para mostrarlos por pantalla
El código de esta clase esta al final de la sección
Parte 3 de Implementación en código de una lista
En esta clase veremos cómo iniciar la implementacion en código de una lista añadiendo elementos de forma básica y recorriéndolos para mostrarlos por pantalla
El código de esta clase esta al final de la sección
Parte 1 de Insertar elemento en la lista
En este video evolucionaremos el código que permite añadir un elemento a la lista
El código de esta clase esta al final de la sección
Parte 2 de Insertar elemento en la lista
En este video evolucionaremos el código que permite añadir un elemento a la lista
El código de esta clase esta al final de la sección
Parte 1 de Eliminar elemento de una lista
En esta clase veremos como borrar un elemento en la lista y reasignar correctamente los enlaces entre elementos para mantener estable la estructura de datos
El código de esta clase esta al final de la sección
Parte 2 de Eliminar elemento de una lista
En esta clase veremos como borrar un elemento en la lista y reasignar correctamente los enlaces entre elementos para mantener estable la estructura de datos
El código de esta clase esta al final de la sección
Parte 1 de cómo insertar elemento en una posición específica
En esta clase terminamos de dejar totalmente finalizado el código de insercción de elemento en la lista permitiendo la funcionalidad de especificar la positción del nuevo elemento
El código de esta clase esta al final de la sección
Parte 2 de cómo insertar elemento en una posición específica
En esta clase terminamos de dejar totalmente finalizado el código de insercción de elemento en la lista permitiendo la funcionalidad de especificar la positción del nuevo elemento
El código de esta clase esta al final de la sección
Aquí tienes el código usado a lo largo de las clases de esta sección
En este video de introducción a la sección te explico la lógica de funcionamiento de una cola para saber implementar en código cada funcionalidad de esta estructura de datos en los siguientes videos
El código que desarrollaremos durante esta sección esta al final de la sección
Parte 1 de Implementación en Código. Inserción y recorrido de elementos
En este video veremos cómo añadir y recorrer los elementos de una cola
El código de esta clase esta al final de la sección
Parte 2 de Implementación en Código. Inserción y recorrido de elementos
En este video veremos cómo añadir y recorrer los elementos de una cola
El código de esta clase esta al final de la sección
Parte 1 - Eliminar elemento y RETO
En este video veremos como eliminar un elemento de una cola, con un reto final que podrás desarrollar usando los conceptos explicados hasta ahora en el curso
El código de esta clase esta al final de la sección
Parte 2 - Eliminar elemento y RETO
En este video veremos como eliminar un elemento de una cola, con un reto final que podrás desarrollar usando los conceptos explicados hasta ahora en el curso
El código de esta clase esta al final de la sección
Aquí tienes el código usado a lo largo de las clases de esta sección
En este video de introducción a la sección te explico la lógica de funcionamiento de una pila para saber implementar en código cada funcionalidad de esta estructura de datos en los siguientes videos
El código que desarrollaremos durante esta sección esta al final de la sección
Parte 1 de Implementación en Código. Inserción y recorrido de elementos
En este video veremos cómo añadir y recorrer los elementos de una pila
El código de esta clase esta al final de la sección
Parte 2 de Implementación en Código. Inserción y recorrido de elementos
En este video veremos cómo añadir y recorrer los elementos de una pila
El código de esta clase esta al final de la sección
Parte 1 de Eliminar elemento y RETO
En este video veremos como eliminar un elemento de una pila, con un reto final que podrás desarrollar usando los conceptos explicados hasta ahora en el curso
El código de esta clase esta al final de la sección
Parte 2 de Eliminar elemento y RETO
En este video veremos como eliminar un elemento de una pila, con un reto final que podrás desarrollar usando los conceptos explicados hasta ahora en el curso
El código de esta clase esta al final de la sección
Aquí tienes el código usado a lo largo de las clases de esta sección
En este curso de Algoritmos y Estructuras de Datos aprenderás de forma básica y muy completa las nociones más elementales sobre estos pilares del desarrollo de software. Este curso dará un recorrido completo por todos los conceptos más básicos para aprender a crear tus propios algoritmos, gracias a la visión global que adquirirás. De hecho a lo largo del curso aprenderás cámo aplicar cada idea a cualquier lenguaje de programación.
Aprenderás habilidades fundamentales para la programación:
Algoritmos Elementales
Desarrollo de la lógica de programación
Buenas prácticas al escribir código
Optimización de recursos, tiempo y operaciones en un algoritmo
Implementación en código de Estructuras de Datos
Además contarás con material didáctico descargable, consejos desde mi experiencia de +15 años programando, ejercicios resueltos y ejemplos de uso para situaciones de la vida real, para que entiendas qué lógica sigue cada algoritmo y sepas implementarlo en el lenguaje que tú prefieras.
El curso está dividido en 2 bloques principales abordados a lo largo de las diferentes secciones:
Algoritmos
En este bloque aprenderás a desarrollar desde cero algoritmos con los que resolver problemas sin importar el lenguaje de programación o tecnología que uses. Principalmente nos centraremos en la lógica del desarrollo de manera que tu podrás trasladar la idea a tu propio entorno de desarrollo. Por lo tanto, no importa qué lenguaje uses, los contenidos de estas clases serán totalmente útiles para tí.
Entre los diferentes algoritmos que veremos están incluidos los de ordenación con una explicación detallada de su funcionamiento y de cada linea y elemento del código que estos tengan. ¿¿Sabes que en este curso crearemos un algoritmo de ordenación más rapido que los famosos de Intercambio o Bubble Sort, Selección o Inserción?? Si quieres saber como crear algoritmos pensando en la optimización y eficacia...estás ante el curso ideal para tí.
Estructuras de Datos
En este bloque conocerás diferentes Estructuras de Datos que existen, desde las más básicas hasta otras más complejas, y tanto estructuras de datos estáticas como dinámicas. ¿Qué es una estructura de datos estática? ¿Y una dinámica? ¿Para qué sirven? ¿Cómo se cuándo usar una u otra? Todo eso se explica en el curso.
¿Sabías que en la vida cotidiana hay muchas situaciones en las que se pueden aplicar algoritmos a Estructuras de Datos? Por ejemplo en un simple supermercado encontramos varias situaciones que se podrian manejar con Listas, Pilas y Colas. Precisamente en este curso desarrollaremos a lo largo de un proyecto completo, la administración de estas cuestiones mediante las Estructuras de Datos Dinámicas
Desarrollaremos cada una de las funcionalidades en código explicado al detalle de las siguientes estructuras de datos:
Estructuras de Datos Estáticas y Dinámicas (Arrays y Matrices multidimensionales)
Estructuras de Datos Dinámicas Lineales (Listas, Pilas y Colas)
Estructuras de Datos Dinámicas No Lineales (Árboles)
Todos los conceptos se explican en detalle, paso a paso y entendiendo el por qué de cada cosa. Así podrás captar unas correctas bases sobre estos pilares de la programación desde un principio en tu desarrollo profesional. Este curso te permitirá expandirte a cualquier área del desarrollo de software.
¿Verdad que es genial? Pues lo mejor de todo es que está a tu alcance.
Compra el curso y disfruta de todo lo que te está esperando.
Nos vemos!
José Javier Villena