Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação. Combinatória

Tamanho: px
Começar a partir da página:

Download "Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação. Combinatória"

Transcrição

1 Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Combinatória Tópicos Especiais em Programação Site:

2 Aprendendo a contar A combinatória é o ramo da matemática que trata a contagem. Os problemas combinatórios são comuns e requerem perspicácia e atenção. Uma vez que o problema for olhado de maneira correta, a resposta pode tornar óbvia. As técnicas de contagem básicas são: Princípio da Multiplicação: se existem A possibilidades do conjunto A e B possibilidades do conjunto B, então existem A x B formas de combinar um elemento de A com um elemento de B. Princípio da Adição: x 5 ou 4 + Se existem A possibilidades em um conjunto A e B possibilidades em um conjunto B, então existem A + B formas de tanto A ou B ocorrerem assumindo que os elementos de A e B são distintos. 2

3 Princípio da Multiplicação Quantas linhas existe em uma tabela verdade com 5 proposições simples? Se uma criança pode escolher entre duas balas (uma rosa e uma preta) e entre três chicletes (um amarelo, um verde e outro branco), quantos conjuntos diferentes a criança pode ter? 3

4 Princípio da Adição Se tiver que escolher uma sobremesa entre três tortas e quatro bolos, de quantas maneiras isso pode ser feito? Um consumidor deseja comprar um veículo em uma concessionária. A concessionária tem 23 automóveis e 14 caminhões no estoque. Quantas escolhas possíveis o consumidor tem? * e + Se uma mulher tem sete blusas, cinco saias e nove vestidos, de quantas maneiras diferentes ela pode se vestir? 4

5 Princípio da Inclusão e Exclusão Ao somar dois conjuntos, tem que se tomar o cuidado de não somar o mesmo elemento duas vezes, pois o mesmo pode estar nos dois conjuntos O Princípio da Adição é um caso especial do Princípio da Inclusão e Exclusão. Tem-se que tomar cuidado, pois A-B, B A, A B são distintos A B Princípio da inclusão e exclusão para dois conjuntos: A B = A + B A B A B A B B A A B = A + B A B E para três: A B C = A + B + C A B A C B C + A B C 5

6 Princípio da Inclusão e Exclusão Um pesquisador de união pública entrevistou 35 eleitores, todos apoiando o referendo 1, o referendo 2, ou ambos. Ele descobriu que 14 eleitores apoiam o referendo 1 e 26 apoiam o referendo 2. Quantos eleitores apoiam ambos? Um grupo de estudantes está planejando encomendar pizzas. Se 13 comem calabresa, 10 comem salame, 12 comem queijo extra, 4 comem tanto calabresa quanto salame, 5 comem tanto salame quanto queijo extra, 7 comem tanto calabresa quanto queijo extra, 3 comem de tudo. Quantos estudantes há no grupo?. 6

7 Objetos Combinatoriais Uma bijeção é uma mapeamento um para um entre os elementos de um conjunto e os elementos do outro conjunto. Contando o tamanho de um dos conjuntos automaticamente lhe dará o tamanho do outro conjunto. A exploração de bijeções depende de um repertório de conjuntos que saibamos como contar. Assim, poderemos mapear outros objetos para eles. Isso é útil para saber (sentir) o quão rápido o número de objetos cresce. As técnicas comuns para mensurar isso serão discutidas nos próximos slides. 7

8 Permutação Uma permutação é um arranjo de n itens, onde cada item aparece exatamente uma vez. Há n! permutações diferentes permutações para n. As 3! = 6 permutações de três itens são 123, 132, 213, 231, 312 e 321. Para n = 10, n! =

9 Subconjuntos Um subconjunto é uma coleção de elementos de n possíveis itens. Existem 2n subconjuntos distintos de n coisas. Assim, existem 23 = 8 subconjuntos de {1,2,3}. Ex.: 1, 2, 3,12, 13, 23, 123, e o conjunto vazio (nunca se esqueça do conjunto vazio). Para n = 20, 2n =

10 Strings Uma string é uma sequência de itens que são organizados com repetição. Existem mn sequências distintas de n itens provenientes de m caracteres. Exemplo: existem 27 strings de tamanho 3 em 123. O número de strings binárias de tamanho n é idêntico ao número de subconjuntos de n itens (por quê?) 4bits: possuem 2 4 diferentes combinações... 10

11 Relações de Recorrência Relações de recorrência torna mais fácil a contagem de uma variedade de estruturas definidas recursivamente, como: Árvores; Listas; Fórmulas bem definidas; e Algoritmos dividir para conquistar. Uma relação de recorrência é uma equação que está definida em seus próprios termos, como os números de Fibonacci: F n = F n 1 + F n 2 11

12 Relações de Recorrência, por quê? Elas são úteis porque muitas funções naturais são expressas como recorrências: Polinomiais: Exponenciais: a n = a n 1 + 1, a 1 = 1 a n = n a n = 2a n 1, a 1 = 2 a n = 2 n Funções estranhas, mas interessantes e difíceis de representar: a n = na n 1, a 1 = 1 a n = n! Às vezes, é relativamente fácil encontrar uma recorrência como resposta de um problema de contagem. 12

13 Coeficientes Binomiais A classe mais importante de números contáveis são os coeficientes binomiais. O número de maneiras de escolher k coisas de n possibilidades é denotado por: O que eles contam? Comissões: Quantas maneiras existem para formar uma comissão de k membros retirados dentre n pessoas? A resposta é: ( n k) ( n k) Caminhos de uma rede (matriz): Quantas maneiras existem para viajar do canto superior esquerdo de uma matriz n x m para o canto inferior direito caminhando somente para baixo e para a direita? Cada caminho deve consistir de n+m passos, n para baixo e m para a direita. Todo o caminho com um conjunto diferente de movimentos é distinto, então temos o conjunto de caminhos: ( n+m n ) 13

14 Coeficientes Binomiais Leia: de n escolha k ( n k) = n! k!(n k)! 14

15 Coeficientes de (a + b) n Observe: (a + b) 3 = 1a 3 + 3a 2 b + 3ab 2 + 1b 3 Qual é o coeficiente do termo ak b n-k? A resposta é: ( n k) Porque ele conta a quantidade de maneiras que podemos escolher os k termos a em n possibilidades. A expressão (x+y)5 fica: ( 5 0) x5 y 0 + ( 5 1) x4 y 1 + ( 5 2) x3 y 2 + ( 5 3) x2 y 3 + ( 5 4) x1 y 4 + ( 5 5) x0 y 5 15

16 Implementação A seguinte implementação dessa recorrência é um bom exemplo das técnicas de programação utilizadas na programação dinâmica. Ela armazena uma matriz de resultados que nós podemos utilizar para definir os valores apropriados da recorrência. #define MAXN 100 long coeficientes_binomiais(int n, int k)/* de n escolha k */ { int i,j; long bc[maxn][maxn]; for (i=0; i<=n; i++) bc[i][0] = 1; for (j=0; j<=n; j++) bc[j][j] = 1; for (i=1; i<=n; i++) for (j=1; j<i; j++) bc[i][j] = bc[i 1][j 1] + bc[i 1][j]; } return( bc[n][k] ); 16

17 Fibonacci Várias outras sequências repetidamente aparecem em aplicações. Elas podem ser facilmente computadas utilizando relações de recorrência. Números de Fibonacci: Definidos pela recorrência F n = F n 1 + F n 2 e os valores iniciais F 0 = 0 and F 1 = 1. Esses números são muitos utilizados devido à sua característica e sua simplicidade. Os primeiros valores são 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, Fórmula para calcular os números de Fibonacci: F n = 1 (( 1+ (5) )n ( 1 (5) (5) 2 2 )n) 17

18 Números de Catalan Os números de Catalan formam uma sequência de números naturais que ocorrem em vários problemas de contagem Frequentemente, envolvem objetos definidos recursivamente. O número de Catalan é obtido pela seguinte fórmula: Ou: C n = 1 n+1 ( 2n n ) = (2n)! (n+1)! n! com n 0 C n = ( 2n n ) ( 2n n 1) com n 0 Mas também satisfazem a seguinte relação de recorrência: C 0 =1 e C n+1 = 2(2n+1) n+2 C n 18

19 Números de Catalan A expressão na forma de recursividade é: n=0 1 C n ={se n 1 se n>0 C i.c n 1 i i=0 n C n

20 Utilização dos Números de Catalan Empilhando moedas: Vamos empilhar moedas sobre uma linha de baixo que consiste de n moedas consecutivas. Não é permitido colocar moedas dos dois lados das moedas que estão no(s) extremo(s) da linha inferior. Então: Quantas maneiras existem para empilhar moedas sobre n moedas? n: O número de maneiras para empilhar moedas no plano. Solução: C n 20

21 Utilização dos Números de Catalan Balanceamento de Parênteses Queremos agrupar uma série de parênteses. Cada parênteses aberto deve ter uma correspondência de parênteses fechado. Então: Portanto, "(() ())" é válida, mas ") ()) ((" e "()) () (" não é. Quantos grupos existem para grupo de n pares de parênteses? n: O número de pares de parênteses. Solução: C n n = 0 Não fazer nada! 1 solução n = 1 () 1 solução n = 2 (( )) () () 2 soluções n = 3 ((( ))) (() ()) (()) () () (()) () () () 5 soluções 21

22 Utilização dos Números de Catalan Muitas soluções são equivalentes aos balanceamento de parênteses. Se quisermos conectar cinco pontos com dois arcos em uma linha deitada: 22

23 Utilização dos Números de Catalan Triangulação de polígonos: Queremos cortar um polígono convexo em triângulos, ligando os vértices com linhas retas que não se cruzam. De quantas maneiras diferentes existem para um polígono com N + 2 lados? Então: n: o número de lados do polígono 2 Solução: C n 23

24 Utilização dos Números de Catalan Árvores Binárias Quantos árvores binárias completas existem com n nós internos? Então: n: o número de nós internos sobre árvores binárias completas. Solução: C n 24

25 Números de Catalan Mais exemplos em: < < 25

26 Números Eulerianos Os números de Euler permitem contar o número de permutações de n elementos com k ascendentes. Uma permutação é um rearranjo de uma lista ordenada de itens. Um ascendente de uma permutação {a 1, a 2,, a n } é um par (a i, a i+1 ), tal que a i < a i+1. Exemplo: As permutações de {1,2,3} são: {1,2,3}, {1,3,2}, {2,1,3}, {2,3,1}, {3,1,2}, {3,2,1} As permutações com exatamente 1 ascendente são: {1,3,2}, {2,1,3}, {2,3,1}, {3,1,2} 3 1 =4 Sendo, n k = n 1 k +(n k+1) n 1 k 1 26

27 Partições Inteiras Uma partição inteira de n é um conjunto não ordenado de inteiros positivos que somam até n. Por exemplo, existem sete partições de 5, ou seja, (5), (4, 1), (3, 2), (3, 1, 1), (2, 2, 1), (2, 1, 1, 1), e (1, 1, 1, 1, 1). A maneira mais fácil de contá-las é a de definir uma função f(n, k), dando o número de partições inteiras de n com o maior valor sendo k. Como a maior parte faz ou não chegar ao limite, então f(n, k) = f(n - k, k) + f (n, k 1). As bases são f(1, 1) = 1 e f (n, k) = 0 quando k> n. 27

28 Recursividade Utilizando a recursividade: Devemos possuir um critério de parada; Os valores são armazenados na memória como uma pilha; A cada nova iteração, as variáveis de escopo são recriadas no novo espaço da pilha de memória; Pode sobrecarregar o sistema e demorar a fornecer a resposta; Pode gerar erros/problemas, devido à: Critérios de parada mau incrementados; Ponteiros mau alocados/referenciados; Métodos custosos de resolução. 28

29 Problemas Fáceis: Counting; The Priest Mathematician; How many Fibs? Intermediários: Steps; Expressions; Difíceis: How many pieces of land? 29

Contagem e Combinatória Elementar

Contagem e Combinatória Elementar Contagem e Combinatória Elementar Matemática Discreta I Rodrigo Ribeiro Departamento de Ciências Exatas e Aplicadas Universidade de Federal de Ouro Preto 11 de janeiro de 2013 Motivação (I) Combinatória

Leia mais

Análise Combinatória. Matemática Discreta. Prof Marcelo Maraschin de Souza

Análise Combinatória. Matemática Discreta. Prof Marcelo Maraschin de Souza Análise Combinatória Matemática Discreta Prof Marcelo Maraschin de Souza Introdução Combinatória é o ramo da matemática que trata de contagem. Esses problema são importantes quando temos recursos finitos,

Leia mais

Curso: Ciência da Computação Disciplina: Matemática Discreta 3. CONJUNTOS. Prof.: Marcelo Maraschin de Souza

Curso: Ciência da Computação Disciplina: Matemática Discreta 3. CONJUNTOS. Prof.: Marcelo Maraschin de Souza Curso: Ciência da Computação Disciplina: Matemática Discreta 3. CONJUNTOS Prof.: Marcelo Maraschin de Souza 3. Conjuntos Definição: Um conjunto é uma coleção desordenada de zero ou mais objetos, denominados

Leia mais

Matemática Discreta - 09

Matemática Discreta - 09 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta - 09 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

CIC 111 Análise e Projeto de Algoritmos II

CIC 111 Análise e Projeto de Algoritmos II CIC 111 Análise e Projeto de Algoritmos II Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 22 Combinatorics Binomial coefficients Catalan numbers Inclusion-exclusion Burnside

Leia mais

Recursividade Exaustiva e Backtracking

Recursividade Exaustiva e Backtracking Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Recursividade Exaustiva e Tópicos Especiais em Programação Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Leia mais

Análise de Problemas Recursivos. Algoritmos e Estruturas de Dados Flavio Figueiredo (

Análise de Problemas Recursivos. Algoritmos e Estruturas de Dados Flavio Figueiredo ( Análise de Problemas Recursivos Algoritmos e Estruturas de Dados 2 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Lembrando de Recursividade Procedimento que chama a si mesmo Recursividade permite

Leia mais

Notas sobre Sequências e Cardinalidade (1)

Notas sobre Sequências e Cardinalidade (1) 1 / 11 Notas sobre e Cardinalidade (1) Anjolina Grisi de Oliveira Centro de Informática Universidade Federal de Pernambuco CIn-UFPE 2 / 11 Uma sequência é uma estrutura discreta usada para representar

Leia mais

significa ( x)[(x S P (x)) (P (x) x S)]

significa ( x)[(x S P (x)) (P (x) x S)] Capítulo 2 Conjuntos e Contagem 2.1 Notação S = {2, 4, 6,... } (impreciso; conjuntos finitos) 1. 2 S 2. Se n S, então (n + 2) S S = {x x é um inteiro positivo par } S = {x P (x)} significa ( x)[(x S P

Leia mais

Técnicas de análise de algoritmos

Técnicas de análise de algoritmos CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Técnicas de análise de algoritmos Algoritmos e Estruturas de Dados I Natália Batista https://sites.google.com/site/nataliacefetmg/ nataliabatista@decom.cefetmg.br

Leia mais

Modelagem com relações de recorrência. Exemplo: Determinada população dobra a cada ano; população inicial = 5 a n = população depois de n anos

Modelagem com relações de recorrência. Exemplo: Determinada população dobra a cada ano; população inicial = 5 a n = população depois de n anos Relações de recorrência 8. RELAÇÕES DE RECORRÊNCIA Introdução a relações de recorrência Modelagem com relações de recorrência Solução de relações de recorrência Exemplos e aplicações Relações de recorrência

Leia mais

Recursividade, Tentativa e Erro

Recursividade, Tentativa e Erro Recursividade, Tentativa e Erro Túlio Toffolo www.toffolo.com.br Marco Antônio Carvalho marco.opt@gmail.com BCC402 Aula 07 Algoritmos e Programação Avançada Na aula anterior Prova 2 Na aula de hoje Técnicas

Leia mais

Sumário. 2 Índice Remissivo 9

Sumário. 2 Índice Remissivo 9 i Sumário 1 Teoria dos Conjuntos e Contagem 1 1.1 Teoria dos Conjuntos.................................. 1 1.1.1 Comparação entre conjuntos.......................... 2 1.1.2 União de conjuntos...............................

Leia mais

REVISÃO DOS CONTEÚDOS

REVISÃO DOS CONTEÚDOS REVISÃO DOS CONTEÚDOS Prof. Patricia Caldana Seno, Cosseno e Tangente de um arco Dado um arco trigonométrico AP de medida α, chamam-se cosseno e seno de α a abscissa e a ordenada do ponto P, respetivamente.

Leia mais

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1 BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1 Na aula anterior Prova 2 Na aula de hoje Técnicas básicas de contagem; Tentativa e Erro; Recursividade.

Leia mais

Interseção de Semiplanos

Interseção de Semiplanos Interseção de Semiplanos Claudio Esperança Paulo Roma 1 Interseção de Semiplanos Problema consiste em construir a região convexa dada pela interseção de um conjunto de n semiplanos H = { h 1, h 2..., h

Leia mais

Aula 05: - Recursão (parte 1)

Aula 05: - Recursão (parte 1) MCTA028 Programação Estruturada Aula 05: - Recursão (parte 1) Prof. João Henrique Kleinschmidt Material elaborado pelo prof. Jesús P. Mena-Chalco 3Q-20108 Recursão: Se você ainda não entendeu; Ver: "Recursão".

Leia mais

Funções, Seqüências, Cardinalidade

Funções, Seqüências, Cardinalidade Funções, Seqüências, Cardinalidade Prof.: Rossini Monteiro Noções Básicas Definição (Função) Sejam A e B conjuntos. Uma função de A em B é um mapeamento de exatamente um elemento de B para cada elemento

Leia mais

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Classes de Comportamento Assintótico Se f é uma função de complexidade para um algoritmo F, então

Leia mais

PRINCÍPIO FUNDAMENTAL DA CONTAGEM OU PRINCÍPIO MULTIPLICATIVO

PRINCÍPIO FUNDAMENTAL DA CONTAGEM OU PRINCÍPIO MULTIPLICATIVO ESTUDO DA ANÁLISE COMBINATÓRIA A resolução de problemas é a parte principal da Análise Combinatória, que estuda a maneira de formar agrupamentos com um determinado número de elementos dados, e de determinar

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/30 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)

Leia mais

Recursividade. Objetivos do módulo. O que é recursividade

Recursividade. Objetivos do módulo. O que é recursividade Recursividade Objetivos do módulo Discutir o conceito de recursividade Mostrar exemplos de situações onde recursividade é importante Discutir a diferença entre recursividade e iteração O que é recursividade

Leia mais

Matemática Discreta - 08

Matemática Discreta - 08 Universidade Federal do Vale do São Francisco urso de Engenharia da omputação Matemática Discreta - 08 Prof. Jorge avalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/18 4 - INTROD. À ANÁLISE COMBINATÓRIA 4.1) Arranjos

Leia mais

Recursividade. Prof. Jesus José de Oliveira Neto

Recursividade. Prof. Jesus José de Oliveira Neto Recursividade Prof. Jesus José de Oliveira Neto Algoritmos podem ser definidos de duas formas: Forma iterativa ou não recursiva: utiliza laços de repetição (while, for, do/while) Forma recursiva: métodos

Leia mais

Aula 05: - Recursão (parte 1)

Aula 05: - Recursão (parte 1) MCTA028 Programação Estruturada Aula 05: - Recursão (parte 1) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-20107 1 Recursão: Se você ainda não entendeu; Ver: "Recursão". Efeito Droste Anuncio

Leia mais

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia. 9 de Novembro de 2017

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia. 9 de Novembro de 2017 Árvores Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia 9 de Novembro de 2017 Aula de hoje Nesta aula veremos Árvores Problemas recorrentes em Análise de Algoritmos Contagem

Leia mais

Aula prática 5. Funções Recursivas

Aula prática 5. Funções Recursivas Programação Funcional UFOP DECOM 2014.1 Aula prática 5 Funções Recursivas Resumo Definições recursivas são comuns na programação funcional. Nesta aula vamos aprender a definir funções recursivas. Sumário

Leia mais

PROBABILIDADE E ESTATÍSTICA. Profa. Dra. Yara de Souza Tadano

PROBABILIDADE E ESTATÍSTICA. Profa. Dra. Yara de Souza Tadano PROBABILIDADE E ESTATÍSTICA Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 5 09/2014 Probabilidade Espaços Amostrais e Eventos Probabilidade e Estatística 3/41 Experimentos Aleatórios Experimento

Leia mais

Matemática Discreta - 07

Matemática Discreta - 07 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta - 07 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

XIX Semana Olímpica de Matemática. Nível 3. Funções Geratrizes. José Armando Barbosa

XIX Semana Olímpica de Matemática. Nível 3. Funções Geratrizes. José Armando Barbosa XIX Semana Olímpica de Matemática Nível 3 Funções Geratrizes José Armando Barbosa O projeto da XIX Semana Olímpica de Matemática foi patrocinado por: Funções Geratrizes Semana Olímpica/206 Prof. Armando

Leia mais

Programa Combinatória Aritmética Racional MATEMÁTICA DISCRETA. Patrícia Ribeiro. Departamento de Matemática, ESTSetúbal 2018/ / 52

Programa Combinatória Aritmética Racional MATEMÁTICA DISCRETA. Patrícia Ribeiro. Departamento de Matemática, ESTSetúbal 2018/ / 52 1 / 52 MATEMÁTICA DISCRETA Patrícia Ribeiro Departamento de Matemática, ESTSetúbal 2018/2019 2 / 52 Programa 1 Combinatória 2 Aritmética Racional 3 Grafos 3 / 52 Capítulo 1 Combinatória 4 / 52 Princípio

Leia mais

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 Metaheurística: São técnicas de soluções que gerenciam uma interação entre técnicas de busca local e as estratégias de nível superior para criar um processo de

Leia mais

Mais Permutações e Combinações (grupo 2)

Mais Permutações e Combinações (grupo 2) Capítulo 4 Mais Permutações e Combinações (grupo 2) Como vimos anteriormente, é possível resolver um grande número de problemas interessantes de contagem sem utilizar fórmulas, apenas empregando apropriadamente

Leia mais

ALGORITMOS AVANÇADOS UNIDADE II Recursividade. Luiz Leão

ALGORITMOS AVANÇADOS UNIDADE II Recursividade. Luiz Leão Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 2.1 - Definições recursivas 2.2 - Como implementar recursividade 2.3 - Quando não usar recursividade 2.4 - Desenvolvendo algoritmos

Leia mais

Introdução Paradigmas

Introdução Paradigmas Introdução Paradigmas Recursividade Algoritmos tentativa e erro Divisão e conquista Programação dinâmica Algoritmos gulosos Algoritmos aproximados 1 Introdução O projeto de algoritmos requer abordagens

Leia mais

RESOLUÇÃO DCC-UFRJ MATEMÁTICA COMBINATÓRIA 2006/2 PROVA Considere a soma. S n = n 2 n 1

RESOLUÇÃO DCC-UFRJ MATEMÁTICA COMBINATÓRIA 2006/2 PROVA Considere a soma. S n = n 2 n 1 DCC-UFRJ MATEMÁTICA COMBINATÓRIA 2006/2 PROVA 1 1. Considere a soma S n = 1 2 0 + 2 2 1 + 3 2 2 + + n 2 n 1. Mostre, por indução finita, que S n = (n 1)2 n + 1. Indique claramente a base da indução, a

Leia mais

Análise de Algoritmos Parte 4

Análise de Algoritmos Parte 4 Análise de Algoritmos Parte 4 Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br BCC202 Aula 07 Algoritmos e Estruturas de Dados I Como escolher o algoritmo mais adequado para uma situação? (continuação)

Leia mais

Introdução a Algoritmos Parte 08

Introdução a Algoritmos Parte 08 Universidade Federal do Vale do São Francisco Curso de Engenharia de Computação Introdução a Algoritmos Parte 08 (Baseado no Material do Prof. Marcelo Linder) Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br

Leia mais

Prof. A. G. Silva. 25 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de / 35

Prof. A. G. Silva. 25 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de / 35 INE5603 Introdução à POO Prof. A. G. Silva 25 de setembro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de 2017 1 / 35 Baseado em materiais da Recursividade Unisinos, Cesar Tacla (UTFPR),

Leia mais

Desafios de Programação

Desafios de Programação Desafios de Programação 2018.1 Programação Dinâmica É um método de projeto de algoritmos que utiliza a memorização para melhorar a eficiência de um algoritmo. Método parecido com o de divisão e conquista

Leia mais

Matemática Discreta. Aula 01: Análise Combinatória I. Tópico 01: Princípio fundamental de contagem

Matemática Discreta. Aula 01: Análise Combinatória I. Tópico 01: Princípio fundamental de contagem Tópico 01: Princípio fundamental de contagem Aula 01: Análise Combinatória I A principal função da análise combinatória é desenvolver técnicas para a contagem de conjuntos. Dito assim, parece simples e

Leia mais

Análise e Complexidade de Algoritmos

Análise e Complexidade de Algoritmos Análise e Complexidade de Algoritmos Principais paradigmas do projeto de algoritmos - Recursividade - Tentativa e erro - Divisão e Conquista - Programação dinâmica - Algoritmos Gulosos e de Aproximação

Leia mais

Matemática Discreta - 06

Matemática Discreta - 06 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta - 06 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

4. COMBINATÓRIA BÁSICA. Combinatória: ramo da matemática que trata de arranjos de objetos (configurações satisfazendo propriedades específicas).

4. COMBINATÓRIA BÁSICA. Combinatória: ramo da matemática que trata de arranjos de objetos (configurações satisfazendo propriedades específicas). Combinatória básica Introdução INTRODUÇÃO 4. COMBINATÓRIA BÁSICA Introdução Regra da soma e do produto Modelo de amostragem Modelo de distribuição Modelo de equação Identidades combinatórias Coeficientes

Leia mais

Estrutura de Dados Conceitos Iniciais

Estrutura de Dados Conceitos Iniciais Engenharia de CONTROLE e AUTOMAÇÃO Estrutura de Dados Conceitos Iniciais Aula 04 DPEE 08 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria

Leia mais

Unidade IV ESTATÍSTICA. Prof. Fernando Rodrigues

Unidade IV ESTATÍSTICA. Prof. Fernando Rodrigues Unidade IV ESTATÍSTICA Prof. Fernando Rodrigues Análise combinatória Analise combinatória é a área da Matemática que trata dos problemas de contagem. Ela é utilizada para contarmos o número de eventos

Leia mais

Análise e Síntese de Algoritmos. Programação Dinâmica CLRS, Cap. 15

Análise e Síntese de Algoritmos. Programação Dinâmica CLRS, Cap. 15 Análise e Síntese de Algoritmos Programação Dinâmica CLRS, Cap. 15 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais curtos

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/20 4 - INTROD. À ANÁLISE COMBINATÓRIA 4.1) Arranjos

Leia mais

Tópicos Avançados em Algoritmos - exercícios de Prog. Din. com correcção parcial

Tópicos Avançados em Algoritmos - exercícios de Prog. Din. com correcção parcial Armando Matos, 2008/2009 Tópicos Avançados em Algoritmos - exercícios de Prog. Din. com correcção parcial 1. Optimizar o produto de matrizes Considere o problema da parentização óptima de uma multiplicação

Leia mais

1. Faça um programa que leia uma string digitada pelo usuário e salve em um arquivo em branco.

1. Faça um programa que leia uma string digitada pelo usuário e salve em um arquivo em branco. Segunda lista de exercícios v100 Engenharia Elétrica - Eletrônica 2º Semestre de 2015 Prof: Daniel Rodrigo Ferraz Bonetti SSC0300 Linguagem de Programação e Aplicações 1 Faça um programa que leia uma string

Leia mais

Números Naturais. MA12 - Unidade 1. Os Axiomas de Peano. O Axioma da Indução. Exemplo: uma demonstração por indução

Números Naturais. MA12 - Unidade 1. Os Axiomas de Peano. O Axioma da Indução. Exemplo: uma demonstração por indução Os Números Naturais MA1 - Unidade 1 Números Naturais Paulo Cezar Pinto Carvalho PROFMAT - SBM January 7, 014 Números Naturais: modelo abstrato para contagem. N = {1,,3,...} Uma descrição precisa e concisa

Leia mais

Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação. Ordenação

Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação. Ordenação Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Ordenação Tópicos Especiais em Programação Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Leia mais

Lista 1 - PMR2300. Fabio G. Cozman 3 de abril de 2013

Lista 1 - PMR2300. Fabio G. Cozman 3 de abril de 2013 Lista 1 - PMR2300 Fabio G. Cozman 3 de abril de 2013 1. Qual String é impressa pelo programa: p u b l i c c l a s s What { p u b l i c s t a t i c void f ( i n t x ) { x = 2 ; p u b l i c s t a t i c void

Leia mais

Aula 06: Análise matemática de algoritmos recursivos

Aula 06: Análise matemática de algoritmos recursivos Aula 06: Análise matemática de algoritmos recursivos David Déharbe Programa de Pós-graduação em Sistemas e Computação Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Departamento

Leia mais

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia Introdução à Análise de Algoritmos Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia Aula de hoje Nesta aula veremos: Sobre a disciplina Exemplo: ordenação Sobre a disciplina

Leia mais

Conjuntos Contáveis e Não Contáveis / Contagem

Conjuntos Contáveis e Não Contáveis / Contagem Conjuntos Contáveis e Não Contáveis / Contagem Introdução A história nos mostra que desde muito tempo o homem sempre teve a preocupação em contar objetos e ter registros numéricos. Seja através de pedras,

Leia mais

Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP. Recursividade

Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP. Recursividade Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Recursividade Conceito de Recursividade Fundamental em Matemática e Ciência da Computação Um programa recursivo é um programa que chama a si mesmo

Leia mais

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa Computação Eletrônica Tipos de dados, constantes, variáveis, operadores e expressões Prof: Luciano Barbosa Site da disciplina: www.cin.ufpe.br/~if165/ Recapitulando num cubo = n * n * n cubo Algoritmo

Leia mais

Recursividade e relações de recorrência

Recursividade e relações de recorrência Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta - 06 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

Otimização Combinatória - Parte 4

Otimização Combinatória - Parte 4 Graduação em Matemática Industrial Otimização Combinatória - Parte 4 Prof. Thiago Alves de Queiroz Departamento de Matemática - CAC/UFG 2/2014 Thiago Queiroz (DM) Parte 4 2/2014 1 / 33 Complexidade Computacional

Leia mais

Divisão e Conquista. Fernando Lobo. Algoritmos e Estrutura de Dados II. É uma técnica para resolver problemas (veremos outras técnicas mais adiante).

Divisão e Conquista. Fernando Lobo. Algoritmos e Estrutura de Dados II. É uma técnica para resolver problemas (veremos outras técnicas mais adiante). Divisão e Conquista Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 27 Divisão e Conquista É uma técnica para resolver problemas (veremos outras técnicas mais adiante). Consiste em 3 passos: Dividir

Leia mais

Lista 2 - PMR2300/3200

Lista 2 - PMR2300/3200 Lista 2 - PMR2300/3200 Fabio G. Cozman, Thiago Martins 8 de março de 2015 1. Qual String é impressa pelo programa: p u b l i c c l a s s What { p u b l i c s t a t i c void f ( i n t x ) { x = 2 ; p u

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/27 4 - INTROD. À ANÁLISE COMBINATÓRIA 4.1) Arranjos

Leia mais

Probleminhas pseudoalgébricos com soluções elegantemente carteadas

Probleminhas pseudoalgébricos com soluções elegantemente carteadas Probleminhas pseudoalgébricos com soluções elegantemente carteadas XXII Semana Olímpica Nível 3 George Lucas 1. Sejam a, b e c números reais positivos. Prove a desigualdade: Solução: a ab + b + b bc +

Leia mais

Algoritmos e Estrutura de Dados II. Árvore. Prof a Karina Oliveira.

Algoritmos e Estrutura de Dados II. Árvore. Prof a Karina Oliveira. Algoritmos e Estrutura de Dados II Árvore Prof a Karina Oliveira kkco@dei.unicap.br Introdução Estruturas de dados lineares (pilha, fila) são estruturas que guardam coleções de elementos que são acessados

Leia mais

SUMÁRIO. Unidade 1 Matemática Básica

SUMÁRIO. Unidade 1 Matemática Básica SUMÁRIO Unidade 1 Matemática Básica Capítulo 1 Aritmética Introdução... 12 Expressões numéricas... 12 Frações... 15 Múltiplos e divisores... 18 Potências... 21 Raízes... 22 Capítulo 2 Álgebra Introdução...

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Programação Dinâmica. Prof. Humberto Brandão

Projeto e Análise de Algoritmos Projeto de Algoritmos Programação Dinâmica. Prof. Humberto Brandão Projeto e Análise de Algoritmos Projeto de Algoritmos Programação Dinâmica Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas versão da aula: 0.3 Programação Dinâmica

Leia mais

8 ANÁLISE COMBINATÓRIA E

8 ANÁLISE COMBINATÓRIA E MATEMATICA 8 ANÁLISE COMBINATÓRIA E PROBABILIDADE NOME ESCOLA EQUIPE SÉRIE PERÍODO DATA PERMUTAÇÕES SIMPLES EXEMPLO QUANTOS NÚMEROS, DE 3 ALGARISMOS DISTINTOS, PODEMOS FORMAR COM OS DÍGITOS 7, 8 E 9? Temos

Leia mais

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1 BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1 Avisos 2 Avisos Prova no dia 07 de Junho (em 11 dias). 3 Na aula anterior Backtracking. 4 Na

Leia mais

Programação I Aula 15 Definições recursivas Pedro Vasconcelos DCC/FCUP

Programação I Aula 15 Definições recursivas Pedro Vasconcelos DCC/FCUP Programação I Aula 15 Definições recursivas DCC/FCUP DCC/FCUP 2019 1/ 30 Nesta aula 1 Definições recursivas 2 Exemplos Factorial Floco de neve de Koch Torre de Hanoi DCC/FCUP 2019 2/ 30 Recursividade Uma

Leia mais

Estruturas de Dados Estruturas de Dados Fundamentais

Estruturas de Dados Estruturas de Dados Fundamentais Estruturas de Dados Estruturas de Dados Fundamentais Prof. Eduardo Alchieri Estruturas de Dados Fundamentais Todos os tipos abstratos de dados (pilhas, filas, deques, etc.) podem ser implementados usando

Leia mais

Exercícios: Recursão

Exercícios: Recursão Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Recursão 1. Faça uma função recursiva que calcule e retorne o fatorial

Leia mais

Programação I Aula 15 Definições recursivas

Programação I Aula 15 Definições recursivas Programação I Aula 15 Definições recursivas Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 15 Definições recursivas 2018 1 / 30 Nesta aula 1 Definições recursivas 2 Exemplos

Leia mais

Técnicas de projeto de algoritmos: Indução

Técnicas de projeto de algoritmos: Indução Técnicas de projeto de algoritmos: Indução ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo dbeder@usp.br 08/2008

Leia mais

n! = n (n 1) (n 2) 1.

n! = n (n 1) (n 2) 1. Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso - IFMT Campus Várzea Grande Aula - Análise Combinatória e Probabilidade Prof. Emerson Dutra E-mail: emerson.dutra@vgd.ifmt.edu.br Página

Leia mais

Combinatória. Samuel Barbosa. 28 de março de 2006

Combinatória. Samuel Barbosa. 28 de março de 2006 Combinatória Samuel Barbosa 28 de março de 2006 1 Princípios Básicos de Contagem Em contagem, tentamos abordar o problema de contar o número de elementos de um conjunto sem efetivamente contá-los de um

Leia mais

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia. 23 de Março de 2018

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia. 23 de Março de 2018 Relações de Recorrência Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia 23 de Março de 2018 Aula de hoje Nesta aula veremos Conceitos de Relações de Recorrência Resolução

Leia mais

Lista de Exercício de Linguagens de Programação Prog. Funcional

Lista de Exercício de Linguagens de Programação Prog. Funcional UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE CIÊNCIA E TECNOLOGIA CURSO DE CIÊNCIA DA COMPUTAÇÃO Lista de Exercício de Linguagens de Programação Prog. Funcional 1) Construa uma função del_posicao_n ::

Leia mais

Projeto e Análise de Algoritmos Aula 4: Dividir para Conquistar ou Divisão e Conquista ( )

Projeto e Análise de Algoritmos Aula 4: Dividir para Conquistar ou Divisão e Conquista ( ) Projeto e Análise de Algoritmos Aula 4: Dividir para Conquistar ou Divisão e Conquista (2.1-2.2) DECOM/UFOP 2013/1 5º. Período Anderson Almeida Ferreira Adaptado do material desenvolvido por Andréa Iabrudi

Leia mais

Prof. Dr. Lucas Santana da Cunha de abril de 2018 Londrina

Prof. Dr. Lucas Santana da Cunha de abril de 2018 Londrina Análise Combinatória Prof. Dr. Lucas Santana da Cunha email: lscunha@uel.br http://www.uel.br/pessoal/lscunha/ 18 de abril de 2018 Londrina 1 / 11 Análise Combinatória A Análise Combinatória é a parte

Leia mais

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. Grafos Sugestão bibliográfica: ESTRUTURAS DE DADOS USANDO C Aaron

Leia mais

CI811 Tópicos em Algoritmos

CI811 Tópicos em Algoritmos CI811 Tópicos em Algoritmos Problemas 15 de junho de 2016 Aqui segue uma lista com alguns problemas computacionais para serem trabalhados pelos alunos da disciplina de Tópicos em Algoritmos (CI811) do

Leia mais

Análise Combinatória

Análise Combinatória Introdução Análise combinatória PROBLEMAS DE CONTAGEM Princípio Fundamental da Contagem Exemplo: Um número de telefone é uma seqüência de 8 dígitos, mas o primeiro dígito deve ser diferente de 0 ou 1.

Leia mais

ESTUDO DA ANÁLISE COMBINATÓRIA

ESTUDO DA ANÁLISE COMBINATÓRIA ESTUDO DA ANÁLISE COMBINATÓRIA A resolução de problemas é a parte principal da Análise Combinatória, que estuda a maneira de formar agrupamentos com um determinado número de elementos dados, e de determinar

Leia mais

Lista de exercícios sobre contagem de operações Prof. João B. Oliveira

Lista de exercícios sobre contagem de operações Prof. João B. Oliveira Lista de exercícios sobre contagem de operações Prof. João B. Oliveira 1. metodo m ( Vetor V ) int i, res = 0; para i de 1 a V.size res = res + V[i]; return res; Soma de elementos de um vetor, O( ). 2.

Leia mais

UNITAU APOSTILA ANÁLISE COMBINATÓRIA PROF. CARLINHOS

UNITAU APOSTILA ANÁLISE COMBINATÓRIA PROF. CARLINHOS ESCOLA DE APLICAÇÃO DR. ALFREDO JOSÉ BALBI UNITAU APOSTILA ANÁLISE COMBINATÓRIA PROF. CARLINHOS NOME DO ALUNO: Nº TURMA: blog.portalpositivo.com.br/capitcar 1 ANÁLISE COMBINATÓRIA A Análise Combinatória

Leia mais

TE802 Processos Estocásticos em Engenharia. Informação sobre a disciplina Notes. Processos Estocásticos em Engenharia Conteúdo Notes.

TE802 Processos Estocásticos em Engenharia. Informação sobre a disciplina Notes. Processos Estocásticos em Engenharia Conteúdo Notes. TE802 Processos Estocásticos em Engenharia Conceitos Básicos de Teoria de Probabilidade 7 de março de 2016 Informação sobre a disciplina Terças e Quintas feiras das 09:30 às 11:20 horas Professor: Evelio

Leia mais

1 Análise combinatória

1 Análise combinatória Matemática Discreta September 11, 2018 1 1 Análise combinatória 1.1 Alguns princípios básicos Teorema (Princípio da adição). Se {A i },..,N é uma família (finita) de conjuntos FINITOS, mutuamente disjuntos,

Leia mais

Análise Combinatória e Probabilidade

Análise Combinatória e Probabilidade Análise Combinatória e Probabilidade Exemplo: NOME ESCOLA EQUIPE SÉRIE PERÍODO DATA PERMUTAÇÕES SIMPLES -Roteiro do aluno- QUANTOS NÚMEROS, DE 3 ALGARISMOS DISTINTOS, PODEMOS FORMAR COM OS DÍGITOS 7, 8

Leia mais

Contagem. Próxima Aula: Prova

Contagem. Próxima Aula: Prova Contagem Próxima Aula: Prova Conteúdo Correção dos Exercícios Exercício 1 Em época de eleição para o grêmio estudantil do colégio, tiveram 12 candidatos aos cargos de presidente, vice-presidente e secretário.

Leia mais

Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches CT-234 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches CT-234 2) Algoritmos recursivos Indução matemática, recursão, recorrências Indução matemática Uma

Leia mais

Comparação com Divisão e Conquista

Comparação com Divisão e Conquista Programação Dinâmica Programação Dinâmica Fernando Lobo Algoritmos e Estrutura de Dados II Outra técnica de concepção de algoritmos, tal como Divisão e Conquista ou Estratégias Greedy. O termo Programação

Leia mais

Solução da prova da 1.ª Fase. b) Queremos os números interessantes do tipo ABC6. Isso implica que A x B x C = 6. Temos dois casos a considerar:

Solução da prova da 1.ª Fase. b) Queremos os números interessantes do tipo ABC6. Isso implica que A x B x C = 6. Temos dois casos a considerar: Solução da prova da 1.ª Fase Nível 3 Ensino Médio 1. a Fase 15 de setembro de 018 QUESTÃO 1 a) Para que o número 14A8 seja interessante devemos ter: 1 x 4 x A = 8; logo, A =. b) Queremos os números interessantes

Leia mais

Slide 01 16/03/2017. Estruturas de Dados. Prof. Cleziel Franzoni da /Cleziel.

Slide 01 16/03/2017. Estruturas de Dados. Prof. Cleziel Franzoni da /Cleziel. Slide 01 16/03/2017 Estruturas de Dados Prof. Cleziel Franzoni da Costa 1 @Cleziel /Cleziel cleziel@hotmail.com 42 3 EMENTA Listas lineares e suas variações. Filas e pilhas. Árvores binárias e suas variações.

Leia mais

Técnicas de Programação

Técnicas de Programação Técnicas de Programação Algoritmos Anderson Gomes Eleutério Lógica A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir

Leia mais

O termo Programação Dinâmica é um bocado infeliz.

O termo Programação Dinâmica é um bocado infeliz. Programação Dinâmica Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 18 Programação Dinâmica Outra técnica de concepção de algoritmos, tal como Divisão e Conquista ou Estratégias Greedy. O termo Programação

Leia mais