SlideShare una empresa de Scribd logo
1 de 14
Algoritmo Divide yVencerás
El nombre divide y vencerás también se aplica a veces a algoritmos que reducen
cada problema a un único subproblema, como la búsqueda binaria, computación
numérica, el algoritmo de bisección para búsqueda de raíces.
Esta técnica es la base de los algoritmos eficientes para casi cualquier tipo de
problema como, por ejemplo, algoritmos de ordenamiento, multiplicar números
grandes, análisis sintácticos y la transformada discreta de Fourier.
Diseño e implementación
• Plantearse el problema de forma que pueda ser descompuesto en k
subproblemas del mismo tipo.
• Resolver independientemente todos los subproblemas.
• Combinar las soluciones obtenidas en el paso anterior.
Recursión
Los algoritmos de “divide y vencerás” están naturalmente implementados, como
procesos recursivos.
Los algoritmos de divide y vencerás también pueden ser implementados por un
programa no recursivo que almacena los subproblemas parciales en alguna
estructura de datos explícita
En implementaciones recursivas de algoritmos de DyV, debe asegurarse que hay
suficiente memoria libre para la pila de recursión,
Los desbordamientos de pila podrían ser difíciles de evitar cuando usamos
procedimientos recursivos,
Los compiladores pueden también asignar más información en la pila de recursión
que la estrictamente necesaria
Eligiendo los casos base
En cualquier algoritmo recursivo, hay una libertad considerable para elegir los
casos bases, los subproblemas pequeños que son resueltos directamente para
acabar con la recursión.
Por otra parte, la eficiencia normalmente mejora si la recursión se para en casos
relativamente grandes, y estos son resueltos no recursivamente.
Método general “divide y vencerás”
DV(x)
if (x es suficientemente pequeño) {
return algoritmo_específico algoritmo_específico(x);
} else {
descomponer x en {x1,…, xk}
for i = 1 to k yi ← DV(xi) y ← recombinar (y1, …, yk)
return y;
}
Acceso a memoria
Los algoritmos que siguen el paradigma Divide y vencerás, tienden naturalmente
a hacer un uso eficiente de las memorias cachés.
La misma ventaja existe en lo que respecta a otros sistemas jerárquicos de
memoria, por ejemplo NUMA o memoria virtual.
Tiempo de ejecución
El tiempo de ejecución de un algoritmo de divide y vencerás,T(n), viene dado por
la suma de dos elementos:
• El tiempo que tarda en resolver los A subproblemas en los que se divide el
original, A·T(n/B), donde n/B es el tamaño de cada sub-problema.
• El tiempo necesario para combinar las soluciones de los sub-problemas para
hallar la solución del original; normalmente es O(nk).
Ventajas
• Resolución de problemas complejos
• Eficiencia del algoritmo
• Paralelismo
Desventajas
• Lentitud en la repetición del proceso recursivo.
• Dificultad o incluso inconveniencia de aplicar el método a situaciones en las que
la solución al problema general no se deriva de la suma directa y simple de los
subproblemas.
Gracias

Más contenido relacionado

La actualidad más candente

Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPUIvan Porras
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de ContextoBrayhan Acosta
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en JavaUCE
 
Control de concurrencias investigación
Control de concurrencias investigaciónControl de concurrencias investigación
Control de concurrencias investigaciónJhoel Dgez Garcia
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del clienteGabriel Mondragón
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosJosé Antonio Sandoval Acosta
 
Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortlinkinpark03
 
simulacion numeros pseudoaleatorios
simulacion numeros pseudoaleatoriossimulacion numeros pseudoaleatorios
simulacion numeros pseudoaleatoriosAnel Sosa
 

La actualidad más candente (20)

Lectores y escritores
Lectores y escritoresLectores y escritores
Lectores y escritores
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de Contexto
 
Algoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap SortAlgoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap Sort
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
 
Algoritmo de dekker
Algoritmo de dekker Algoritmo de dekker
Algoritmo de dekker
 
Algoritmos Paralelos
Algoritmos ParalelosAlgoritmos Paralelos
Algoritmos Paralelos
 
Control de concurrencias investigación
Control de concurrencias investigaciónControl de concurrencias investigación
Control de concurrencias investigación
 
Vectores en programación
Vectores en programaciónVectores en programación
Vectores en programación
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del cliente
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Jlex y cup en java
Jlex y cup en javaJlex y cup en java
Jlex y cup en java
 
busquedas con adversarios
busquedas con adversariosbusquedas con adversarios
busquedas con adversarios
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sort
 
simulacion numeros pseudoaleatorios
simulacion numeros pseudoaleatoriossimulacion numeros pseudoaleatorios
simulacion numeros pseudoaleatorios
 

Destacado (17)

Vectores y Matrices
Vectores y MatricesVectores y Matrices
Vectores y Matrices
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Arboles02
Arboles02Arboles02
Arboles02
 
Fundamentos Divide Y Venceras
Fundamentos Divide Y VencerasFundamentos Divide Y Venceras
Fundamentos Divide Y Venceras
 
Problemas en las redes
Problemas en las redesProblemas en las redes
Problemas en las redes
 
Practica 2 algoritmos
Practica 2 algoritmosPractica 2 algoritmos
Practica 2 algoritmos
 
Arboles Ordenados
Arboles OrdenadosArboles Ordenados
Arboles Ordenados
 
Divide y Venceras
Divide y VencerasDivide y Venceras
Divide y Venceras
 
Camada osi
Camada osiCamada osi
Camada osi
 
Divide y venceras
Divide y vencerasDivide y venceras
Divide y venceras
 
Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)
 
Ccna4 capitulo 8 resolucion de problemas de red
Ccna4 capitulo 8 resolucion de problemas de redCcna4 capitulo 8 resolucion de problemas de red
Ccna4 capitulo 8 resolucion de problemas de red
 
Metodo de la burbuja en algoritmo
Metodo de la burbuja en algoritmo Metodo de la burbuja en algoritmo
Metodo de la burbuja en algoritmo
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Informatica II - 2 Metodologia de Solucion de Problemas
Informatica II - 2 Metodologia de Solucion de ProblemasInformatica II - 2 Metodologia de Solucion de Problemas
Informatica II - 2 Metodologia de Solucion de Problemas
 
Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)
 
Algoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaAlgoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y Búsqueda
 

Similar a Algoritmo DyV

AlgoritmosParalelos.pptx
AlgoritmosParalelos.pptxAlgoritmosParalelos.pptx
AlgoritmosParalelos.pptxAnon620673
 
19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facilDariana Acuariogv
 
Paper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaPaper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaFcoKraken
 
Paper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaPaper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaFcoKraken
 
Pro no num Prog dinamica
Pro no num Prog dinamicaPro no num Prog dinamica
Pro no num Prog dinamicaRuben Gonzalez
 
Bac k t r ac k i n luis saltaren
Bac k t r ac k i n luis saltarenBac k t r ac k i n luis saltaren
Bac k t r ac k i n luis saltarenlszsaltarenzapata
 
Teoria de la c.c.
Teoria de la c.c.Teoria de la c.c.
Teoria de la c.c.belmont402
 
Descomposicion Recursiva
Descomposicion RecursivaDescomposicion Recursiva
Descomposicion RecursivaIsrael Cueva
 
Los Algoritmos Paralelos.pptx
Los Algoritmos Paralelos.pptxLos Algoritmos Paralelos.pptx
Los Algoritmos Paralelos.pptxLorenzoBiondi5
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación DinámicaKimLinares
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmoGaston Demundo
 
Algoritmos libro 6
Algoritmos  libro 6Algoritmos  libro 6
Algoritmos libro 6desi2907
 

Similar a Algoritmo DyV (20)

2. Recursividad
2. Recursividad2. Recursividad
2. Recursividad
 
AlgoritmosParalelos.pptx
AlgoritmosParalelos.pptxAlgoritmosParalelos.pptx
AlgoritmosParalelos.pptx
 
Paradigmas
ParadigmasParadigmas
Paradigmas
 
19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil
 
Paper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaPaper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra Fmancia
 
Paper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaPaper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra Fmancia
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Pro no num Prog dinamica
Pro no num Prog dinamicaPro no num Prog dinamica
Pro no num Prog dinamica
 
Bac k t r ac k i n luis saltaren
Bac k t r ac k i n luis saltarenBac k t r ac k i n luis saltaren
Bac k t r ac k i n luis saltaren
 
Teoria de la c.c.
Teoria de la c.c.Teoria de la c.c.
Teoria de la c.c.
 
Descomposicion Recursiva
Descomposicion RecursivaDescomposicion Recursiva
Descomposicion Recursiva
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Los Algoritmos Paralelos.pptx
Los Algoritmos Paralelos.pptxLos Algoritmos Paralelos.pptx
Los Algoritmos Paralelos.pptx
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Técnica del backtracking o vuelta atrás
Técnica del backtracking o vuelta atrásTécnica del backtracking o vuelta atrás
Técnica del backtracking o vuelta atrás
 
Divide y Vencerás
 Divide y Vencerás Divide y Vencerás
Divide y Vencerás
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmo
 
Lecture 12
Lecture 12Lecture 12
Lecture 12
 
Autómatas y complejidad
Autómatas y complejidadAutómatas y complejidad
Autómatas y complejidad
 
Algoritmos libro 6
Algoritmos  libro 6Algoritmos  libro 6
Algoritmos libro 6
 

Más de loco8888

Startup, La alternativa digital del emprendimiento moderno
Startup, La alternativa digital del emprendimiento modernoStartup, La alternativa digital del emprendimiento moderno
Startup, La alternativa digital del emprendimiento modernoloco8888
 
Tiendas en linea y distribución de software
Tiendas en linea y distribución de softwareTiendas en linea y distribución de software
Tiendas en linea y distribución de softwareloco8888
 
Diagramas estados
Diagramas estadosDiagramas estados
Diagramas estadosloco8888
 
Replicación en SQL Server Enterprise 2014
Replicación en SQL Server Enterprise 2014Replicación en SQL Server Enterprise 2014
Replicación en SQL Server Enterprise 2014loco8888
 
Dióxidos de Nitrógeno y Azufre
Dióxidos de Nitrógeno y Azufre Dióxidos de Nitrógeno y Azufre
Dióxidos de Nitrógeno y Azufre loco8888
 
Programas que no deben faltar en nuestra pc
Programas que no deben faltar en nuestra pcProgramas que no deben faltar en nuestra pc
Programas que no deben faltar en nuestra pcloco8888
 
Perifericos ejemplos
Perifericos ejemplosPerifericos ejemplos
Perifericos ejemplosloco8888
 
Instalacion office 2013
Instalacion office 2013Instalacion office 2013
Instalacion office 2013loco8888
 
Instalación de un sistema operativo
Instalación de un sistema operativoInstalación de un sistema operativo
Instalación de un sistema operativoloco8888
 
Desfragmentar un disco duro
Desfragmentar un disco duroDesfragmentar un disco duro
Desfragmentar un disco duroloco8888
 
Creación de una partición primaria
Creación de una partición primariaCreación de una partición primaria
Creación de una partición primarialoco8888
 
Creacion de una memoria usb booteable
Creacion de una memoria usb booteableCreacion de una memoria usb booteable
Creacion de una memoria usb booteableloco8888
 
Como saber las especificaciones y evaluar nuestra computadora
Como saber las especificaciones y evaluar nuestra computadoraComo saber las especificaciones y evaluar nuestra computadora
Como saber las especificaciones y evaluar nuestra computadoraloco8888
 
Como instalar drivers en pc
Como instalar drivers en pcComo instalar drivers en pc
Como instalar drivers en pcloco8888
 
Como instalar antivirus
Como instalar antivirusComo instalar antivirus
Como instalar antivirusloco8888
 
dihibridismo y trihibridismo
dihibridismo y trihibridismodihibridismo y trihibridismo
dihibridismo y trihibridismoloco8888
 

Más de loco8888 (16)

Startup, La alternativa digital del emprendimiento moderno
Startup, La alternativa digital del emprendimiento modernoStartup, La alternativa digital del emprendimiento moderno
Startup, La alternativa digital del emprendimiento moderno
 
Tiendas en linea y distribución de software
Tiendas en linea y distribución de softwareTiendas en linea y distribución de software
Tiendas en linea y distribución de software
 
Diagramas estados
Diagramas estadosDiagramas estados
Diagramas estados
 
Replicación en SQL Server Enterprise 2014
Replicación en SQL Server Enterprise 2014Replicación en SQL Server Enterprise 2014
Replicación en SQL Server Enterprise 2014
 
Dióxidos de Nitrógeno y Azufre
Dióxidos de Nitrógeno y Azufre Dióxidos de Nitrógeno y Azufre
Dióxidos de Nitrógeno y Azufre
 
Programas que no deben faltar en nuestra pc
Programas que no deben faltar en nuestra pcProgramas que no deben faltar en nuestra pc
Programas que no deben faltar en nuestra pc
 
Perifericos ejemplos
Perifericos ejemplosPerifericos ejemplos
Perifericos ejemplos
 
Instalacion office 2013
Instalacion office 2013Instalacion office 2013
Instalacion office 2013
 
Instalación de un sistema operativo
Instalación de un sistema operativoInstalación de un sistema operativo
Instalación de un sistema operativo
 
Desfragmentar un disco duro
Desfragmentar un disco duroDesfragmentar un disco duro
Desfragmentar un disco duro
 
Creación de una partición primaria
Creación de una partición primariaCreación de una partición primaria
Creación de una partición primaria
 
Creacion de una memoria usb booteable
Creacion de una memoria usb booteableCreacion de una memoria usb booteable
Creacion de una memoria usb booteable
 
Como saber las especificaciones y evaluar nuestra computadora
Como saber las especificaciones y evaluar nuestra computadoraComo saber las especificaciones y evaluar nuestra computadora
Como saber las especificaciones y evaluar nuestra computadora
 
Como instalar drivers en pc
Como instalar drivers en pcComo instalar drivers en pc
Como instalar drivers en pc
 
Como instalar antivirus
Como instalar antivirusComo instalar antivirus
Como instalar antivirus
 
dihibridismo y trihibridismo
dihibridismo y trihibridismodihibridismo y trihibridismo
dihibridismo y trihibridismo
 

Último

Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 

Último (15)

Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 

Algoritmo DyV

  • 2. El nombre divide y vencerás también se aplica a veces a algoritmos que reducen cada problema a un único subproblema, como la búsqueda binaria, computación numérica, el algoritmo de bisección para búsqueda de raíces. Esta técnica es la base de los algoritmos eficientes para casi cualquier tipo de problema como, por ejemplo, algoritmos de ordenamiento, multiplicar números grandes, análisis sintácticos y la transformada discreta de Fourier.
  • 3.
  • 4.
  • 5. Diseño e implementación • Plantearse el problema de forma que pueda ser descompuesto en k subproblemas del mismo tipo. • Resolver independientemente todos los subproblemas. • Combinar las soluciones obtenidas en el paso anterior.
  • 6. Recursión Los algoritmos de “divide y vencerás” están naturalmente implementados, como procesos recursivos. Los algoritmos de divide y vencerás también pueden ser implementados por un programa no recursivo que almacena los subproblemas parciales en alguna estructura de datos explícita
  • 7. En implementaciones recursivas de algoritmos de DyV, debe asegurarse que hay suficiente memoria libre para la pila de recursión, Los desbordamientos de pila podrían ser difíciles de evitar cuando usamos procedimientos recursivos, Los compiladores pueden también asignar más información en la pila de recursión que la estrictamente necesaria
  • 8. Eligiendo los casos base En cualquier algoritmo recursivo, hay una libertad considerable para elegir los casos bases, los subproblemas pequeños que son resueltos directamente para acabar con la recursión. Por otra parte, la eficiencia normalmente mejora si la recursión se para en casos relativamente grandes, y estos son resueltos no recursivamente.
  • 9. Método general “divide y vencerás” DV(x) if (x es suficientemente pequeño) { return algoritmo_específico algoritmo_específico(x); } else { descomponer x en {x1,…, xk} for i = 1 to k yi ← DV(xi) y ← recombinar (y1, …, yk) return y; }
  • 10. Acceso a memoria Los algoritmos que siguen el paradigma Divide y vencerás, tienden naturalmente a hacer un uso eficiente de las memorias cachés. La misma ventaja existe en lo que respecta a otros sistemas jerárquicos de memoria, por ejemplo NUMA o memoria virtual.
  • 11. Tiempo de ejecución El tiempo de ejecución de un algoritmo de divide y vencerás,T(n), viene dado por la suma de dos elementos: • El tiempo que tarda en resolver los A subproblemas en los que se divide el original, A·T(n/B), donde n/B es el tamaño de cada sub-problema. • El tiempo necesario para combinar las soluciones de los sub-problemas para hallar la solución del original; normalmente es O(nk).
  • 12. Ventajas • Resolución de problemas complejos • Eficiencia del algoritmo • Paralelismo
  • 13. Desventajas • Lentitud en la repetición del proceso recursivo. • Dificultad o incluso inconveniencia de aplicar el método a situaciones en las que la solución al problema general no se deriva de la suma directa y simple de los subproblemas.