Dividir, Conquistar y Combinar
- Dividir: Tomar un problema grande en subproblemas
- Conquistar: Resolver cada uno de los subproblemas
- Combinar: Unir apropiadamente las respuestas
Bienvenido al Curso
Introducción al curso básico de algoritmos y estructuras de datos
Introducción a los algoritmos
¿Qué entiende una computadora?
Lenguajes de programación
Estructuras de datos
¿Qué es un algoritmo?
Metodología para la construcción de un algoritmo
Variables y tipos de datos
User defined data types
Instalando Ubuntu Bash en Windows
Creando nuestro user defined data type
Abstract Data Types básicos: Lists, Stacks, Queues
Explicación gráfica Data Types básicos
Glosario de funciones para Abstract Data Types
Clases y objetos
Creando tu primera Queue: Arrays
Creando tu primera Queue: implementación.
Creando tu primera Queue: implementar la función enQueue
Creando tu primera Queue: implementar la función deQueue
Creando tu primera Queue: main code
Algoritmos de ordenamiento
Algoritmos de ordenamiento
Bubble sort
Bubble sort: implementación
Bubble sort: main code
Insertion sort
Desafío: implementa un algoritmo de ordenamiento
Recursividad
Recursividad
La función Factorial, calculando el factorial recursivamente
Manejo de cadenas de caracteres
Arte: Generando arte recursivo
Divide and conquer y programación dinámica
Divide and Conquer (divide y vencerás)
Qué es la programación dinámica (divide y vencerás v2.0)
MergeSort
Desafío: Buscar el algortimo más rápido de sort
Implementando QuickSort con Python
Implementando QuickSort con Python: main code
Algoritmos 'Greedy'
Qué son los Greedy Algorithm
Ejercicio de programación greedy
Ejercio de programación greedy: main code
Grafos y árboles
Grafos y sus aplicaciones
Árboles
¿Cómo comparar Algoritmos?
Cómo comparar algoritmos y ritmo de crecimiento
¿Qué sigue?
Cierre del curso y siguientes pasos
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Ricardo Celis
Vas avanzando muy rápido, ¡Felicidades! Si fusionamos todo lo que hemos aprendido hasta el momento, ya estás listo para aprender el paradigma divide y vencerás.
Divide y vencerás es agarrar un problema grande y romperlo en subproblemas mucho más pequeños del mismo tipo.
Por ejemplo, podríamos aplicarlo en un algoritmo de ordenamiento, dividiendo nuestra serie de datos en varias sub-series de datos.
En la siguiente clase aprenderemos exactamente cómo aplicar un sistema de ordenamiento utilizando nada más lo que ya aprendimos, recursividad.
Aportes 28
Preguntas 0
Dividir, Conquistar y Combinar
Divide y vencerás es un paradigma de algoritmos. Un programa típico de Divide y Vencerás resuelve un problema usando los siguientes tres pasos:
Un ejemplo clásico de Divide y Vencerás es ‘Merge Sort’. En ‘Merge Sort’, dividimos el arreglo de datos en dos mitades, ordenamos las dos mitades recursivamente, y luego unir las dos mitades.
Divide et impera
El paradigma divide y vencerás se divide en tres partes:
DIVIDIR: El problema se rompe en otros problemas más pequeños.
VENCER: Se van resolviendo cada uno de los bloques de problemas más pequeños que forman tu problema.
COMBINAR: Al final es resultado es combinado para obtener el resultado final.
Muy interesante la explicación del paradigma, es un sistema muy interesante para resolver problemas complejos.
Estoy muy emocionado.
Quicksort!!!
Dividi e vincerai.!!!
разделяй и побеждай
Divide and Conquer:
Hola amigos,
Este video me sirvió mucho para entende este algoritmo, estoy seguro que también encontraran valor en su contenido.
Dividir y Vencer
Agarrar un problema y subdividirlo en pequeños trozos
Dividir: Hacer de nuestro enorme problema subproblemas
Conquistar: Resolver cada subproblema utilizando recursividad
Conbinar: Unir correctamente nuestros resultados.
No se por que me recuerda mucho al asyncronismo de Js. Creo que porque me suena mucho a aprovechar el poder de la maquina para que haga diferentes tareas al mismo tiempo; sin embargo ya se que son cosas diferentes xD Solo es una observación
Genial vamos avanzando!
El concepto se entiende, pero no sé si sea el mejor ejemplo que el profe platea, espero terminar bien el módulo.
Muchas gracias Maquiavelo.
Divide y vencerás consiste en tener un gran problema y (Divide) dividirlo en bloques más pequeños y (Conquistar) solucionarlos, (Combinar) para luego unirlo y tener la solución del problema final.
dividir, vencer, combinar
Vamos a darle!!!
El mismo tema se toca en el curso de python, vamos a ver la solución de Celis!
Divide et vinces
muy interesante
Divide & vencerás !!
Genial!!! a la práctica. 😉
Me voy dando cuenta lo importante que es ordenar para las computadoras.
Buena clase!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?