



























































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: Diseño y análisis de algoritmos, Profesor: , Carrera: Ingeniería Informática, Universidad: URJC
Tipo: Apuntes
1 / 67
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!




























































Backtracking Contenidos
Backtracking Introducci´on
Puede detenerse al encontrar una soluci´on o seguir hasta encontrar
todas
Backtracking Introducci´on
Backtracking Arboles de b´usqueda
Backtracking Arboles de b´usqueda
Backtracking Arboles de b´usqueda
1 void permutaciones(int n){
2 int[] perm = new int[n];
3 boolean[] libres = new boolean[n];
4
5 for(int i=0; i<n; i++)
6 libres[i] = true;
7
8 perms(n, 0, perm, libres);
9 }
10
11 void imprimir(int[] v){
12 for(int i=0; i<v.length; i++)
13 System.out.print(v[i]+" ");
14
15 System.out.println();
16 }
Backtracking Arboles de b´usqueda
n: n´umero de elementos (profundidad del ´arbol)
i: posici´on del elemento a insertar
solucion: permutaci´on parcial construida
xs: indica los elementos incluidos en la soluci´on parcial
Backtracking Arboles de b´usqueda
Soluci´on - ´arbol binario
Backtracking Arboles de b´usqueda
Soluci´on - ´arbol binario
[1, 0 , 1] = {a, c}
Backtracking Arboles de b´usqueda
Soluci´on - ´arbol binario
n: n´umero de elementos (profundidad del ´arbol)
i: elemento a considerar (nivel del ´arbol)
c: vector de elementos
subc: valores booleanos que definen los subconjuntos
Backtracking Arboles de b´usqueda
Soluci´on - subconjunto en cada nodo
Backtracking Arboles de b´usqueda
Soluci´on - subconjunto en cada nodo
[0, 2] = {a, c}
Backtracking Arboles de b´usqueda
Soluci´on - subconjunto en cada nodo
j
Ahora es necesario llevar dos ´ındices
Posici´on en la soluci´on del elemento a incluir
´
Indice del elemento a incluir (qu´e elemento se incluye)