Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouGeraldo Camilo Lancastre Alterado mais de 8 anos atrás
1
Backtracking Animação dos Algoritmos de Permutação, Geração de Subconjuntos e Soma de Subconjuntos Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) abril/2005
2
Backtracking Geração de Permutações - Versão 2
Listar todas as n! permutações de um conjunto Perm: Para i de 1 a n: Se (not S[i]) Então np np + 1; P[np] i; S[i] V; Se (np = n) Então Imprime Senão Perm; np np - 1; S[i] F; Fp; Fim; Externamente: S F; np 0; Perm;
3
Backtracking - Geração de Permutações
{} i = 1 {1} i = 1 ,2 {1,2} i = 1 ,2 ,3
4
Backtracking - Geração de Permutações
1 2 3 {} i = 1 {1} i = 1 ,2 {1,2,3} i = 1 ,2 ,3
5
Backtracking - Geração de Permutações
1 2 3 {} i = 1 {1} i = 1 ,2 ,3 {1,3} {1,2} i = 1 ,2 ,3 i = 1 ,2
6
Backtracking - Geração de Permutações
1 2 3 {} 1 3 2 i = 1 {1} i = 1 ,2 ,3 {1,3,2} {1,2} i = 1 ,2 ,3 i = 1 ,2
7
Backtracking - Geração de Permutações
1 2 3 {} 1 3 2 i = 1 ,2 ,3 2 1 3 {1} {2} {3} 2 3 1 3 1 2 3 2 1 i = 1 ,2 ,3 i = 1 ,2 ,3 i = 1 ,2 ,3 {1,3} {2,1} {2,3} {3,1} {3,2} {1,2} i = 1 ,2 ,3 i = 1 ,2 ,3 i = 1 ,2 ,3 i = 1 ,2 ,3 i = 1 ,2 ,3 i = 1 ,2 ,3 .
8
Backtracking Geração de Subconjuntos
Número de subconjuntos de C = {c1... cn} = 2n GeraSub (p): Para i de p a n: ns ns + 1; S[ns] i; Imprime; Se (i < n) Então GeraSub (i + 1); ns ns - 1; Fp; Fim; Externamente: ns 0; GeraSub (1);
9
Backtracking - Geração de Subconjuntos
C = {a, b, c, d} {1} 1 {} {1,2} i = 1 ,2 ,3 ,4 {1,2,3} 2 {1} 3 {2} 4 {3} {1,2,3,4} {1,2,4} {1,3} i = 2 ,3 ,4 i = 3 ,4 i = 4 {1,3,4} {1,4} 3 {1, 2} 4 {1, 3} 4 {2, 3} {2} {2,3} i = 3 ,4 i = 4 i = 4 {2,3,4} 4 {1, 2, 3} {2,4} {3} {3,4} i = 4 {4} .
10
Backtracking Geração de Subconjuntos
Subconjuntos gerados para: { a, b, c, d } { a }, { b }, { a, b }, { b, c }, { a, b, c }, { b, c, d }, { a, b, c, d }, { b, d }, { a, b, d }, { c }, { a, c }, { c, d }, { a, c, d }, { d } { a, d },
11
Backtracking - Soma de Subconjuntos
SomaSub (pi): i pi; Enquanto (i n) e ((soma + C[i]) s): ns ns + 1; S[ns] i; soma soma + C[i]; Se (soma = s) Então Imprime Senão SomaSub (i+1); ns ns - 1; soma soma - C[i]; i i + 1; Fe; Fim; Externamente: ns 0; s 0; Ordena C; SomaSub (1);
12
Backtracking - Soma de Subconjuntos
C = {1, 2, 2, 3, 4, 5, 9}, s = 4 1 {} i = 1 ,2 ,3 ,4 ,5 ,6 2 {1} 3 {2} 4 {2} 5 {3} i = 2 ,3 ,4 ,5 i = 3 ,4 i = 5 i = 4 3 {1, 2} 4 {1, 2} i = 3 i = 4 1, 3 2, 2 4 .
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.