Seminario 1

Ejemplo 1. Factorial

nCondición n==0?n * factorial (n-1)
5NO5 * fact(4)
4NO4 * fact(3)
3NO3 * fact(2)
2NO2 * fact(1)
1NO1 * fact(0)
0SIDevuelve 1
if(n==0) return 1
else{
	f = n*factorial(n-1);
	return f;
}
 
//Este devuelve siempre el último (1)

Ejemplo 2. Suma de dos enteros

public int suma(int a, int b){
	if(b == 0) return a;
	if(b>0) return 1 + suma(a, b-1);
}
a,bCondición b==0?1 + suma(1,b-1)
2,5NO1 + suma(2, 4)
2,4NO1 + suma(2, 3)
2,3NO1 + suma(2, 2)
2,2NO1 + suma(2, 1)
2,1NO1 + suma(2, 0)
2,0SIDevuelve 2

Ejemplo 3. Resto de una división

public int resto(int a, int b){
	if(a-b < 0) return a;
	if(a-b >= 0) return resto(a-b, b);
}

Ejemplo 4. Sumatorio de un vector

public int sumaVector(int[] vector, int n){
	if(n==0) return vector[0];
	else return vector[n] + sumaVector(vector, n-1)
}

Seminario 2

Ejercicio grafos

Ejercicio Dijkstra

Seminario 3

Ejercicio Prim

Ejercicios Recorrido Profundidad