Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejemplos de Aplicación
Algoritmos Recursivos
aplicados a Arreglos
Ejercicio 1
Realice un módulo que calcule la cantidad de dígitos pares que tiene un
número que recibe como parámetro, en forma recursiva.
¿Qué recibe ?
¿Qué debe devolver como resultado ?
Pasos a seguir:
cantidadPares(412) = 1 + cantidadPares(41) Dig = 2
¿Planteo de la solución
cantidadPares(41) = 0 + cantidadPares(4) Dig = 1
en base a problema más
cantidadPares(4) = 1 + cantidadPares(0) Dig = 4 chico ?
cantidadPares(0) = 0
¿Caso Base?
¿Cómo achico el
problema?
0 Si (num=0)
0 Si (num=0)
cantidadPares(num) 1 + cantidadPares(num div 10) Si (num>0) y (ult dig par)
cantidadPares(num div 10) Si (num>0) y (ult dig impar)
http://www.algostructure.com/sorting/quicksort.php
Ordenación por intercalación: MergeSort
DATOS
medio: Entero
COMENZAR
Si (der > izq)
medio = (der + izq) / 2
MergeSort(v, izq, medio)
MergeSort(v, medio+1, der)
MergeSort = Combina(v, izq, (medio + 1), der)
FIN
Ordenación por intercalación: MergeSort
PROCEDIMIENTO Combina (v : vector, izq: Entero, med: Entero, der: Entero)
DATOS
temp: vector
izq_fin, num_elementos, tmp_pos: Entero
COMENZAR
izq_fin = (med - 1)
tmp_pos = izq
num_elementos = (der - izq + 1)
Repetir num_elementos
vector[der] = temp[der]
der--
FIN
Ordenación por intercalación: MergeSort
Dividir en el
centro
Ordenar
recursivamente
Intercalar las
Soluciones
Ordenación por intercalación: MergeSort
6 12 4 9 8 13 5 Volver 3 a 2 ( Combina )
4 6 9 12 5 8 13 Volver 2 a 1 ( Combina )
4 5 6 8 9 12 13 Combina
Ordenación por intercalación: MergeSort
http://www.algostructure.com/sorting/mergesort.php