A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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)

Apresentações semelhantes


Apresentação em tema: "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)"— Transcrição da apresentação:

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 .


Carregar ppt "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)"

Apresentações semelhantes


Anúncios Google