SlideShare ist ein Scribd-Unternehmen logo
1 von 12
El método Shell (en honor a su descubridor) mejor método de inserción
simple ordenando subarreglos del arreglo original en forma separada.
Para crear estos nuevos subarreglos, se toman elementos saltados del
arreglo original en relación a incrementos predeterminados.
Por ejemplo suponiendo un arreglo X, y tomando un incremento (salto) igual a
5, se generarían los siguientes subarreglos:
Subarreglo 1:X[0] X[5] X[10]
Subarreglo 2:X[1] X[6] X[11]
Subarreglo 3:X[2] X[7] X[12]
Subarreglo 4:X[3] X[8] X[13]
Con un salto igual a 3 se
obtendrían:
Subarreglo 1:X[0] X[3] X[6]
Subarreglo 2:X[1] X[4] X[7]
Subarreglo 3:X[2] X[5] X[8]
Subarreglo 4:X[3] X[6] X[9]
En el método de clasificación por inserción, cada elemento se compara con los elementos contiguos de su
izquierda, uno tras otro. Si el elemento a insertar es más pequeño - por ejemplo -, hay que ejecutar muchas
comparaciones antes de colocarlo en su lugar definitivamente. Shell modifico los saltos contiguos resultantes
de las comparaciones por saltos de mayor tamaño y con eso se conseguía la clasificación más rápida. El
método se basa en fijar el tamaño de los saltos constantes, pero de más de una posición.
Supongamos un vector de elementos
4 12 16 24 36 3
En el método de inserción directa, los saltos se hacen de una posición en una posición y se
necesitaran cinco comparaciones. En el método de Shell, si los saltos son de dos posiciones, se realizaran
comparaciones.
4 12 16 24 36 3
1. Comparar el primer y segundo elemento, intercambiarlos si el primero es
mayor que el segundo; luego se compara el primero con el tercero,
intercambiándose en caso necesario, y el proceso se repite hasta llegar al último
elemento. De este modo, tras la primera iteración la casilla primera conservara el
elemento más pequeño de esa iteración.
2. Se repite el paso anterior, pero ahora con el segundo y tercero, en caso de ser
necesario se intercambian, y así hasta llegar a comparar el segundo con el
ultimo.
Por ejemplo, imaginemos que tenemos los siguientes valores:
5 6 1 0 3
Lo que haría una burbuja simple, seria comenzar recorriendo los valores de izq. A derecha,
comenzando por el 5.
Lo compara con el 6, con el 1, con el 0 y con el 3, si es mayor o menor (dependiendo si el
orden es ascendiente o descendente) se intercambian de posición.
Luego continua con el siguiente, con el 6, y lo compara con todos los elementos de la lista,
esperando ver si se cumple o no la misma condición que con el primer elemento. Así,
sucesivamente, hasta el último elemento de la lista.
Ordenar un conjunto de números enteros almacenados en un vector, utilizando el
siguiente algoritmo (método de la burbuja): se van recorriendo una a una todas las
posiciones del vector, desde la primera hasta la penúltima. Estando en cada una
de estas posiciones, se recorren, a su vez, todas las posiciones siguientes y se
compara su valor con el de la posición actual. Si se encuentra un valor menor se
intercambia con el de esta posición.
Para implementar este algoritmo son necesarios dos bucles: el primero, bucle i,
recorre el vector desde la posición i=0 hasta i=SIZE-1. El segundo bucle, bucle j,
recorre el vector desde la posición j=i+1 hasta el final. Para que quede más claro,
vamos a ver con un ejemplo como funciona este algoritmo. Supongamos que
queremos ordenar los siguientes cinco números: 7,3,5,1,4. Estos números se
almacenarán en un vector de la siguiente manera:
j = 2 {1 5 7 3 4} Se intercambia 5 con 7 j
= 3 {1 3 7 5 4} Se intercambia 3 con 5 j
= 4 {1 3 7 5 4} No se intercambia 3 con
4
i = 2 {1 3 7 5 4}
j = 3 {1 3 5 7 4} Se intercambia 5 con 7 j
= 4 {1 3 4 7 5} Se intercambia 4 con 5
i = 3 {1 3 4 7 5}
j = 4 {1 3 4 5 7} Se intercambia 5 con 7
¡Números ordenados!
Ya se ve que no es necesario que el
bucle i llegue hasta el valor 4.
Vamos a recorrer las posiciones del vector
desde i=0 hasta i=3.
i = 0 {7 3 5 1 4}
Recorremos el vector desde j=1 hasta j=4 y
comparamos vector [0]=7 con vector [j].
Si vector [j]<vector [0] intercambiamos los
valores de posición. Vamos a ver cómo
quedaría el vector inicial una vez que
termina cada bucle j.
j = 1 {3 7 5 1 4} Se intercambia 3 con 7 j =
2 {3 7 5 1 4} No se intercambia 3 con 5 j =
3 {1 7 5 3 4} Se intercambia 1 con 3 j =
4 {1 7 5 3 4} No se intercambia 1 con 4
i = 1 {1 7 5 3 4}
Recorremos el vector desde j=2 hasta j=4 y
comparamos vector [1]=7 con vector [j].
El problema de la mochila es definido formalmente
como:
Se tiene una determinada instancia de KP con un
conjunto de objetos N, que consiste de n objetos j
con ganancia pj y peso wj, y una capacidad c.
(Usualmente, los valores toman números enteros
positivos).
El objetivo es seleccionar un subconjunto de N tal
que la ganancia total de esos objetos
seleccionados es maximizado y el total de los
pesos no excede a c.
Un avión lleva de equipaje 6 artículos, pero entre todos sobrepasan las 600
libras que considera puede cargar. Para ayudarse en la selección ha asignado
un valor a cada artículo en orden ascendente de importancia.
Planteamiento
Puesto que el modelo es binario, la variable puede tomar solo dos posibles valores:
Xi = 0 no se lleva el articulo i, 1 sí se lleva el articulo i.
Max Z= 1000X1 + 600X2 + 700X3 + 150X4 + 150X5
420X1 + 230X2 + 210X3 + 150X4 + 70X6 <= 600
Xi ∈ {0,1}
Solución
Z = 1450
X1 = 0
X2 = 1
X3 = 1
X4 = 1
X5 = 0
El que alguna variable de el valor de 1, significa que nos llevamos en la mochila el
articulo. En este caso nos llevamos los artículos 2, 3 y 4. El valor de Z nos indica el
beneficio de llevar los tres artículos. Por ultimo, de acuerdo con la restricción, no
sobrepasamos el peso permitido.
Este algoritmo consiste básicamente
en dividir en partes iguales la lista de
números y luego mezclarlos
comparándolos, dejándolos
ordenados.
Si se piensa en este algoritmo
recursivamente, podemos imaginar
que dividirá la lista hasta tener un
elemento en cada lista, luego lo
compara con el que está a su lado y
según corresponda, lo sitúa donde
corresponde
Se divide el problema en partes más
pequeñas.
Se resuelven recursivamente los
problemas más pequeños.
Los problemas mas pequeños se
combinan para resolver el grande.
Los algoritmos que utilizan este
principio son en la mayoría de los
casos completamente recursivos
como es este caso.

Weitere ähnliche Inhalte

Was ist angesagt? (15)

Visual basic
Visual basicVisual basic
Visual basic
 
Ordenamiento Por MéTodo De InsercióN Binaria
Ordenamiento  Por MéTodo De InsercióN BinariaOrdenamiento  Por MéTodo De InsercióN Binaria
Ordenamiento Por MéTodo De InsercióN Binaria
 
Algebra lineal numérica
Algebra lineal numéricaAlgebra lineal numérica
Algebra lineal numérica
 
Método de insercion
Método de insercionMétodo de insercion
Método de insercion
 
Actividad 3 parte 2
Actividad 3 parte 2Actividad 3 parte 2
Actividad 3 parte 2
 
4.1 definición del espacio vectorial y sus propiedades
4.1 definición del espacio vectorial y sus propiedades4.1 definición del espacio vectorial y sus propiedades
4.1 definición del espacio vectorial y sus propiedades
 
Roots of equations worked
Roots of equations workedRoots of equations worked
Roots of equations worked
 
Subespacios vectoriales
Subespacios vectorialesSubespacios vectoriales
Subespacios vectoriales
 
Clase1.docx
Clase1.docxClase1.docx
Clase1.docx
 
7.25
7.257.25
7.25
 
Unidad2act 2 gz
Unidad2act 2 gzUnidad2act 2 gz
Unidad2act 2 gz
 
Antiderivada
AntiderivadaAntiderivada
Antiderivada
 
Leyes de conjuntos
Leyes de conjuntosLeyes de conjuntos
Leyes de conjuntos
 
2) funciones Compuestas
2) funciones Compuestas2) funciones Compuestas
2) funciones Compuestas
 
Integrales impropias-jose-flores (1)
Integrales impropias-jose-flores (1)Integrales impropias-jose-flores (1)
Integrales impropias-jose-flores (1)
 

Andere mochten auch

Ventaja competitiva
Ventaja competitivaVentaja competitiva
Ventaja competitiva
IODI
 
proyecto-de-investigacion-accion-marcial
proyecto-de-investigacion-accion-marcialproyecto-de-investigacion-accion-marcial
proyecto-de-investigacion-accion-marcial
Miguel Marchán
 
1752M12_EAF5_Memòria_G1_BLOG
1752M12_EAF5_Memòria_G1_BLOG1752M12_EAF5_Memòria_G1_BLOG
1752M12_EAF5_Memòria_G1_BLOG
Paki EStepa
 
Plagio en internet
Plagio en internetPlagio en internet
Plagio en internet
LUIS ROJAS
 
éTica empresarial
éTica empresarialéTica empresarial
éTica empresarial
fundemas
 
Proyecto educativo institucional 2012
Proyecto educativo institucional 2012Proyecto educativo institucional 2012
Proyecto educativo institucional 2012
vicente fierro
 
La prueba en materia penal
La prueba en materia penalLa prueba en materia penal
La prueba en materia penal
Rogelio Armando
 
Regimen Academico Y Disciplinario
Regimen Academico Y DisciplinarioRegimen Academico Y Disciplinario
Regimen Academico Y Disciplinario
Universidad FESU
 

Andere mochten auch (20)

Posterscope OOH predictions 2016
Posterscope OOH predictions 2016Posterscope OOH predictions 2016
Posterscope OOH predictions 2016
 
Ventaja competitiva
Ventaja competitivaVentaja competitiva
Ventaja competitiva
 
Maldives
MaldivesMaldives
Maldives
 
Sofia final 7 (1)
Sofia final 7 (1)Sofia final 7 (1)
Sofia final 7 (1)
 
From east
From eastFrom east
From east
 
Natura
NaturaNatura
Natura
 
Norvege
NorvegeNorvege
Norvege
 
proyecto-de-investigacion-accion-marcial
proyecto-de-investigacion-accion-marcialproyecto-de-investigacion-accion-marcial
proyecto-de-investigacion-accion-marcial
 
Summit Engineering Technology Private Limited, Mumbai, Tools & Wrenches
Summit Engineering Technology Private Limited, Mumbai,  Tools & WrenchesSummit Engineering Technology Private Limited, Mumbai,  Tools & Wrenches
Summit Engineering Technology Private Limited, Mumbai, Tools & Wrenches
 
1752M12_EAF5_Memòria_G1_BLOG
1752M12_EAF5_Memòria_G1_BLOG1752M12_EAF5_Memòria_G1_BLOG
1752M12_EAF5_Memòria_G1_BLOG
 
Privacidad y Datos Personales
Privacidad y Datos PersonalesPrivacidad y Datos Personales
Privacidad y Datos Personales
 
Propuesta abierta para el desarrollo de una Gipuzkoa emprendedora
Propuesta abierta para el desarrollo de una Gipuzkoa emprendedoraPropuesta abierta para el desarrollo de una Gipuzkoa emprendedora
Propuesta abierta para el desarrollo de una Gipuzkoa emprendedora
 
Plagio en internet
Plagio en internetPlagio en internet
Plagio en internet
 
éTica empresarial
éTica empresarialéTica empresarial
éTica empresarial
 
Equality Act 2010 ~ sweet tlc ltd
Equality Act 2010 ~ sweet tlc ltdEquality Act 2010 ~ sweet tlc ltd
Equality Act 2010 ~ sweet tlc ltd
 
Proyecto educativo institucional 2012
Proyecto educativo institucional 2012Proyecto educativo institucional 2012
Proyecto educativo institucional 2012
 
Neurociencias - Bases neurológicas de la psicología humana
Neurociencias - Bases neurológicas de la psicología humanaNeurociencias - Bases neurológicas de la psicología humana
Neurociencias - Bases neurológicas de la psicología humana
 
Proyecto practica comunitaria iv
Proyecto practica comunitaria ivProyecto practica comunitaria iv
Proyecto practica comunitaria iv
 
La prueba en materia penal
La prueba en materia penalLa prueba en materia penal
La prueba en materia penal
 
Regimen Academico Y Disciplinario
Regimen Academico Y DisciplinarioRegimen Academico Y Disciplinario
Regimen Academico Y Disciplinario
 

Ähnlich wie Programación dinámica presentación

Presentacion de programacion 2
Presentacion de programacion 2Presentacion de programacion 2
Presentacion de programacion 2
Cori Marcano
 
Resolución ecuaciones de primer grado
Resolución ecuaciones de primer gradoResolución ecuaciones de primer grado
Resolución ecuaciones de primer grado
Carmen Calzado
 
Los griegos fueron los grandes maestros de las matemáticas y con los muchos e...
Los griegos fueron los grandes maestros de las matemáticas y con los muchos e...Los griegos fueron los grandes maestros de las matemáticas y con los muchos e...
Los griegos fueron los grandes maestros de las matemáticas y con los muchos e...
ana0499
 
Vectores1 trabajo con vectores utilizando coordenadas y componentes
Vectores1 trabajo con vectores utilizando coordenadas y componentesVectores1 trabajo con vectores utilizando coordenadas y componentes
Vectores1 trabajo con vectores utilizando coordenadas y componentes
Arturo Iglesias Castro
 
Ordenación de vectores en c++
Ordenación de vectores en c++Ordenación de vectores en c++
Ordenación de vectores en c++
kjjkfhjsfhjsfh
 

Ähnlich wie Programación dinámica presentación (20)

Presentacion de programacion 2
Presentacion de programacion 2Presentacion de programacion 2
Presentacion de programacion 2
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
metodosdeordenamiento.pptx
metodosdeordenamiento.pptxmetodosdeordenamiento.pptx
metodosdeordenamiento.pptx
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)
Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)
Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)
 
Arrays metodos deordenamiento01
Arrays metodos deordenamiento01Arrays metodos deordenamiento01
Arrays metodos deordenamiento01
 
16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales
 
Sistema de ecuaciones
Sistema de ecuacionesSistema de ecuaciones
Sistema de ecuaciones
 
Álgebra Lineal
Álgebra LinealÁlgebra Lineal
Álgebra Lineal
 
Ordenamiento
OrdenamientoOrdenamiento
Ordenamiento
 
Resolución ecuaciones de primer grado
Resolución ecuaciones de primer gradoResolución ecuaciones de primer grado
Resolución ecuaciones de primer grado
 
Los griegos fueron los grandes maestros de las matemáticas y con los muchos e...
Los griegos fueron los grandes maestros de las matemáticas y con los muchos e...Los griegos fueron los grandes maestros de las matemáticas y con los muchos e...
Los griegos fueron los grandes maestros de las matemáticas y con los muchos e...
 
Vectores1 trabajo con vectores utilizando coordenadas y componentes
Vectores1 trabajo con vectores utilizando coordenadas y componentesVectores1 trabajo con vectores utilizando coordenadas y componentes
Vectores1 trabajo con vectores utilizando coordenadas y componentes
 
Ecuaciones tema-3
Ecuaciones tema-3Ecuaciones tema-3
Ecuaciones tema-3
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Clase 3, permutaciones lineales y circulares
Clase 3, permutaciones lineales y circularesClase 3, permutaciones lineales y circulares
Clase 3, permutaciones lineales y circulares
 
Guia basica para_trabajar_ecuaciones8
Guia basica para_trabajar_ecuaciones8Guia basica para_trabajar_ecuaciones8
Guia basica para_trabajar_ecuaciones8
 
Ordenación de vectores en c++
Ordenación de vectores en c++Ordenación de vectores en c++
Ordenación de vectores en c++
 
Jyoc java-cap04 vectores (arrays)
Jyoc java-cap04 vectores (arrays)Jyoc java-cap04 vectores (arrays)
Jyoc java-cap04 vectores (arrays)
 
Trabajo final funciones
Trabajo final funcionesTrabajo final funciones
Trabajo final funciones
 

Mehr von Carlos Elias Perez Fermin (9)

Optimizacion métodos
Optimizacion métodos Optimizacion métodos
Optimizacion métodos
 
Informe de auditoria empresarial
Informe de auditoria empresarialInforme de auditoria empresarial
Informe de auditoria empresarial
 
Diagrama Clases / Productos
Diagrama Clases / ProductosDiagrama Clases / Productos
Diagrama Clases / Productos
 
Diagrama estados / ascensor
Diagrama estados / ascensorDiagrama estados / ascensor
Diagrama estados / ascensor
 
Teoría de juegos 05/05/2014
Teoría de juegos 05/05/2014Teoría de juegos 05/05/2014
Teoría de juegos 05/05/2014
 
Seguridad lógica y niveles de seguridad informática Electica 5
Seguridad lógica y niveles de seguridad informática Electica 5Seguridad lógica y niveles de seguridad informática Electica 5
Seguridad lógica y niveles de seguridad informática Electica 5
 
Sistemas requerimientos
Sistemas requerimientosSistemas requerimientos
Sistemas requerimientos
 
Ppt java
Ppt javaPpt java
Ppt java
 
Java - No numérica - II
Java - No numérica - IIJava - No numérica - II
Java - No numérica - II
 

Programación dinámica presentación

  • 1.
  • 2. El método Shell (en honor a su descubridor) mejor método de inserción simple ordenando subarreglos del arreglo original en forma separada. Para crear estos nuevos subarreglos, se toman elementos saltados del arreglo original en relación a incrementos predeterminados. Por ejemplo suponiendo un arreglo X, y tomando un incremento (salto) igual a 5, se generarían los siguientes subarreglos: Subarreglo 1:X[0] X[5] X[10] Subarreglo 2:X[1] X[6] X[11] Subarreglo 3:X[2] X[7] X[12] Subarreglo 4:X[3] X[8] X[13] Con un salto igual a 3 se obtendrían: Subarreglo 1:X[0] X[3] X[6] Subarreglo 2:X[1] X[4] X[7] Subarreglo 3:X[2] X[5] X[8] Subarreglo 4:X[3] X[6] X[9]
  • 3. En el método de clasificación por inserción, cada elemento se compara con los elementos contiguos de su izquierda, uno tras otro. Si el elemento a insertar es más pequeño - por ejemplo -, hay que ejecutar muchas comparaciones antes de colocarlo en su lugar definitivamente. Shell modifico los saltos contiguos resultantes de las comparaciones por saltos de mayor tamaño y con eso se conseguía la clasificación más rápida. El método se basa en fijar el tamaño de los saltos constantes, pero de más de una posición. Supongamos un vector de elementos 4 12 16 24 36 3 En el método de inserción directa, los saltos se hacen de una posición en una posición y se necesitaran cinco comparaciones. En el método de Shell, si los saltos son de dos posiciones, se realizaran comparaciones. 4 12 16 24 36 3
  • 4.
  • 5. 1. Comparar el primer y segundo elemento, intercambiarlos si el primero es mayor que el segundo; luego se compara el primero con el tercero, intercambiándose en caso necesario, y el proceso se repite hasta llegar al último elemento. De este modo, tras la primera iteración la casilla primera conservara el elemento más pequeño de esa iteración. 2. Se repite el paso anterior, pero ahora con el segundo y tercero, en caso de ser necesario se intercambian, y así hasta llegar a comparar el segundo con el ultimo. Por ejemplo, imaginemos que tenemos los siguientes valores: 5 6 1 0 3
  • 6. Lo que haría una burbuja simple, seria comenzar recorriendo los valores de izq. A derecha, comenzando por el 5. Lo compara con el 6, con el 1, con el 0 y con el 3, si es mayor o menor (dependiendo si el orden es ascendiente o descendente) se intercambian de posición. Luego continua con el siguiente, con el 6, y lo compara con todos los elementos de la lista, esperando ver si se cumple o no la misma condición que con el primer elemento. Así, sucesivamente, hasta el último elemento de la lista.
  • 7. Ordenar un conjunto de números enteros almacenados en un vector, utilizando el siguiente algoritmo (método de la burbuja): se van recorriendo una a una todas las posiciones del vector, desde la primera hasta la penúltima. Estando en cada una de estas posiciones, se recorren, a su vez, todas las posiciones siguientes y se compara su valor con el de la posición actual. Si se encuentra un valor menor se intercambia con el de esta posición. Para implementar este algoritmo son necesarios dos bucles: el primero, bucle i, recorre el vector desde la posición i=0 hasta i=SIZE-1. El segundo bucle, bucle j, recorre el vector desde la posición j=i+1 hasta el final. Para que quede más claro, vamos a ver con un ejemplo como funciona este algoritmo. Supongamos que queremos ordenar los siguientes cinco números: 7,3,5,1,4. Estos números se almacenarán en un vector de la siguiente manera:
  • 8. j = 2 {1 5 7 3 4} Se intercambia 5 con 7 j = 3 {1 3 7 5 4} Se intercambia 3 con 5 j = 4 {1 3 7 5 4} No se intercambia 3 con 4 i = 2 {1 3 7 5 4} j = 3 {1 3 5 7 4} Se intercambia 5 con 7 j = 4 {1 3 4 7 5} Se intercambia 4 con 5 i = 3 {1 3 4 7 5} j = 4 {1 3 4 5 7} Se intercambia 5 con 7 ¡Números ordenados! Ya se ve que no es necesario que el bucle i llegue hasta el valor 4. Vamos a recorrer las posiciones del vector desde i=0 hasta i=3. i = 0 {7 3 5 1 4} Recorremos el vector desde j=1 hasta j=4 y comparamos vector [0]=7 con vector [j]. Si vector [j]<vector [0] intercambiamos los valores de posición. Vamos a ver cómo quedaría el vector inicial una vez que termina cada bucle j. j = 1 {3 7 5 1 4} Se intercambia 3 con 7 j = 2 {3 7 5 1 4} No se intercambia 3 con 5 j = 3 {1 7 5 3 4} Se intercambia 1 con 3 j = 4 {1 7 5 3 4} No se intercambia 1 con 4 i = 1 {1 7 5 3 4} Recorremos el vector desde j=2 hasta j=4 y comparamos vector [1]=7 con vector [j].
  • 9. El problema de la mochila es definido formalmente como: Se tiene una determinada instancia de KP con un conjunto de objetos N, que consiste de n objetos j con ganancia pj y peso wj, y una capacidad c. (Usualmente, los valores toman números enteros positivos). El objetivo es seleccionar un subconjunto de N tal que la ganancia total de esos objetos seleccionados es maximizado y el total de los pesos no excede a c.
  • 10. Un avión lleva de equipaje 6 artículos, pero entre todos sobrepasan las 600 libras que considera puede cargar. Para ayudarse en la selección ha asignado un valor a cada artículo en orden ascendente de importancia. Planteamiento Puesto que el modelo es binario, la variable puede tomar solo dos posibles valores: Xi = 0 no se lleva el articulo i, 1 sí se lleva el articulo i. Max Z= 1000X1 + 600X2 + 700X3 + 150X4 + 150X5 420X1 + 230X2 + 210X3 + 150X4 + 70X6 <= 600 Xi ∈ {0,1} Solución Z = 1450 X1 = 0 X2 = 1 X3 = 1 X4 = 1 X5 = 0 El que alguna variable de el valor de 1, significa que nos llevamos en la mochila el articulo. En este caso nos llevamos los artículos 2, 3 y 4. El valor de Z nos indica el beneficio de llevar los tres artículos. Por ultimo, de acuerdo con la restricción, no sobrepasamos el peso permitido.
  • 11. Este algoritmo consiste básicamente en dividir en partes iguales la lista de números y luego mezclarlos comparándolos, dejándolos ordenados. Si se piensa en este algoritmo recursivamente, podemos imaginar que dividirá la lista hasta tener un elemento en cada lista, luego lo compara con el que está a su lado y según corresponda, lo sitúa donde corresponde
  • 12. Se divide el problema en partes más pequeñas. Se resuelven recursivamente los problemas más pequeños. Los problemas mas pequeños se combinan para resolver el grande. Los algoritmos que utilizan este principio son en la mayoría de los casos completamente recursivos como es este caso.