Disciplina de Projetos e Análise de Algoritmos

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

Download "Disciplina de Projetos e Análise de Algoritmos"

Transcrição

1 Aula 6 - A Maior Subsequência Comum Possível (Programação Dinâmica Parte IV)

2 Aplicações na Biologia Um problema bastante em voga na Biologia é a análise do DNA de dois ou mais organismos distintos. Um DNA é composto por uma sequência de moléculas, chamadas de bases, A Adenina T Timina C Citosina G Guanina Computacionalmente, um DNA pode ser visto como uma fita dupla de Strings, com o alfabeto {A,T,G,C}

3 Aplicações na Biologia

4 Aplicações na Biologia Dado os DNA s de dois organismos: S 1 = ACCGTGGAAAAGGTTAAGGCCAGGATTTAACCGCGGGC S 2 = ACCGCGGTTTAATCCGGATAGGTTGAAATGGTTGAAAC É possível indagar: Quão semelhantes são estes dois organismos? Estes organismos são da mesma espécie? Um destes organismos é ancestral do outro organismo? Observe que a resposta destas questões dependerão de quão semelhantes eles são.

5 Similaridade É possível medir similaridade de várias formas diferentes! É possível definir que duas fitas de DNA são similares se uma é uma substring da outra. Também é possível definir similaridade pelo número de transformações necessária para transforma uma fita de DNA na outra. Aqui, quanto menor o número de transformações maior a similaridade. Uma terceira forma é definir uma outra fita S 3 de tal forma que esta seja formada pelas bases que coincidentes nas fitas S 1 e S 2. Quanto maior for S 3 mais semelhantes serão S 1 e S 2. S 3 é a maior subsequência comum possível entre S 1 e S 2.

6 Subsequência Introdução Uma Subsequência Uma Subsequência Comum A subsequência comum mais longa Dada uma sequência X = x 1,x 2,...,x m e outra sequência Z = z 1,z 2,...,z k. A sequência Z será subsequência de X se existir uma sequência estritamente crescente i 1,i 2,...,i k de índices de X tal que para todo j = 1,2,...,k implique em x ij = z j. Por exemplo, dado X = A,B,C,B,D,A,B e Z = B,C,D,B. Z é uma subsequência de X com a sequência de índices correspondendo a 2,3,5,7

7 Subsequência Comum Uma Subsequência Uma Subsequência Comum A subsequência comum mais longa Agora são dadas duas sequências, X e Y. É dito que Z é uma subsequência comum de X e Y se Z é uma subsequência de X e de Y ao mesmo tempo. Por exemplo, e X = A,B,C,B,D,A,B Y = B,D,C,A,B,A note que a subsequência B,C,A, embora não seja a subsequência mais longa. A subsequência mais longa (LCS) terá comprimento 4: B,C,B,A ou B,D,A,B.

8 Definindo o Problema Uma Subsequência Uma Subsequência Comum A subsequência comum mais longa Problema da Subsequência Comum Mais Longa (LCS) Dadas duas sequências X = x 1,x 2,...,x m e Y = y 1,y 2,...,y n é desejado encontrar a maior subsequência de maior comprimento possível comum às sequências X e Y. Este problema pode ser abordado via programação dinâmica.

9 Passo 1: Caracterizando a Maior Subsequência Comum Por força bruta: Enumera-se todas as possíveis subsequências de X. Checa-se se cada uma destas subsequências também é subsequências de Y, guardando a de maior comprimento. Cada subsequência pode ser representada por por um subconjunto de índices na forma {1,2,...,m}. Observe que X terá 2 m subsequências, o que acarreta em um custo exponencial, sendo inviável na prática!

10 Passo 1: Caracterizando a Maior Subsequência Comum O problema LCS apresenta uma subestrutura ótima! Como será visto, a classe natural de subproblemas são os pares dos prefixos de duas sequências de entrada. Dada uma sequência X = x 1,x 2,...,x m Definie-se o i-ésimo prefixo de X, para i = 0,1,2,...,m como Por exemplo, dada a sequência X i = x 1,x 2,...,x i X = A,B,C,B,D,A,B então e X 0 = (sequência vazia) X 4 = A,B,C,B

11 Passo 1: Caracterizando a Maior Subsequência Comum Teorema Ótima para o Problema LCS Faça X = x 1,x 2,...,x m e Y = y 1,y 2,...,y n serem sequências, e faça Z = z 1,z 2,...,z k ser uma LCS de X e Y. 1 Se x m = y n, então z k = x m = y n e Z k 1 é uma LCS de X m 1 e Y n 1. 2 Se x m y n, então z k x m implicando que Z é uma LCS de X m 1 e de Y. 3 Se x m y n, então z k y n implicando que Z é uma LCS de X e de Y n 1.

12 Passo 1: Caracterizando a Maior Subsequência Comum Prova do Teorema Se z k x m e fixarmos x m = y n para obtermos Z com uma LCS de X e Y de comprimento k +1, estaremos contrariando o fato de Z ser uma LCS de X e Y. Assim, temos que ter z k = x m = y n. Observe então que o prefixo Z k 1 de comprimento k 1 é uma sequência comum de X m 1 e Y n 1. Pergunta-se Z k 1 é uma LCS? Suponha que existe uma sequência comum W de X m 1 e Y n 1 com comprimento maior que k 1. Logo fazendo x m = y n implicaria que W teria um comprimento maior que k, o que seria uma contradição.

13 Passo 1: Caracterizando a Maior Subsequência Comum Prova do Teorema Se z k x m então Z é uma sequência comum entre X m 1 e Y. Se existisse uma sequência comum W de X m 1 e Y com comprimento maior que k, então W também poderia ser uma sequência comum de X m e Y, contrariando a suposição de que Z é uma LCS de X e Y. 3 Uma prova simétrica ao item 2.

14 Passo 2: Uma Solução Recursiva O Teorema 5.1 afirma que deve-se observar 1 ou 2 subproblemas para se encontrar uma LCS de X = x 1,x 2,...,x m e Y = y 1,y 2,...,y n, Se x m = y n deve-se procurar a LCS de X m 1 e Y n 1 e depois acrescentar x m = y n. Se x m y n, então deve-se resolver 2 subproblemas: Encontrar uma LCS de X m 1 e Y; e Encontrar uma LCS de X e Y n 1 Sendo a LCS mais longa destas duas a LCS de X e Y. Desta forma a sobreposição nas soluções dos subproblemas é clara! Para resolver a LCS de X e Y é necessário resolver a LCS de X m 1 e Y, e X e Y n 1.

15 Passo 2: Uma Solução Recursiva Defina c[i,j] ser o comprimento de uma LCS das sequências X i e Y j. Se i = 0 ou j = 0, uma das sequências tem comprimento zero, implicando que a LCS tem comprimento zero. ótima do problema da LCS e a forma recursiva: 0, sei = 0 ou j = 0 c[i,j] = c[i 1,j 1]+1, sei,j > 0 e x i = y j max(c[i,j 1],c[i 1,j]), sei,j > 0 e x i y j (1)

16 Passo 3: Computando o comprimento de uma LCS Um algoritmo natural para resolver a Equação 1 teria custo exponencial! Contudo este problema tem apenas Θ(nm) subproblemas distintos. Algoritmo com programação dinâmica: Considere duas sequências como entrada, X = x 1,x 2,...,x m e Y = y 1,y 2,...,y n Os valore c[i, j] são armazenados em uma tabela c[0..m, 0..n], onde os valores são computados linha a linha, esquerda para direita Também há uma tabela b[1..m, 1..n] tal que são armazenados as entradas para a escolha da solução ótima dos subproblemas quando está se computando c[i, j]. Saídas: b e c, onde c[m,n] contem o comprimento de uma LCS de X e Y.

17 Passo 3: Computando o comprimento de uma LCS LCS-LENGTH(X,Y) 1 m = X.length 2 n = Y.length 3 let b[1..n,1..n] e c[0..m,0..n] be new tables 4 for i = 1 to m 5 c[i,0] = 0 6 for i = 1 to n 7 c[0,j] = 0 8 for i = 1 to m 9 for j = i to n 10 if x i == y j 11 c[i,j] = c[i 1,j 1]+1 12 b[i,j] = տ 13 elseif c[i 1,j] c[i,j 1] 14 c[i,j] = c[i 1,j] 15 b[i,j] = 16 else c[i,j] = c[i,j 1] 15 b[i,j] = 17 return c and b

18 Passo 3: Computando o comprimento de uma LCS Exemplo: Dadas as sequências X = A,B,C,D,A,B e Y = B,D,C,A,B,A. Observe que o custo será Θ(nm) visto que a referência a cada entrada de uma tabela tem custo de Θ(1).

19 Passo 4: Construindo uma LCS Observando a tabela b gerada pelo LCS-LENGTH rapidamente é possível se construir uma LCS das sequências X e Y. Começa-se na entrada b[n, m], e segue-se as setas. Quando encontra-se a seta տ em b[i,j] significa que x i = y j, logo este é um elemento da LCS. Assim, é possível se computar os elementos de uma LCS em ordem reversa.

20 Passo 4: Construindo uma LCS Para se imprimir a LCS na ordem correta, PRINT-LCS(b,X,i,j) 1 if i == 0 or j == 0 2 return // LCS is empty 3 if b[i,j] == տ 4 PRINT-LCS(b,X,i 1,j 1) 5 print x i 6 elseif b[i,j] == 7 PRINT-LCS(b,X,i 1,j) 8 else PRINT-LCS(b,X,i,j 1) Sendo a chamada inicial PRINT-LCS(b, X, X.length, Y.length).

21 Passo 4: Construindo uma LCS Para a tabela b gerada no nosso último exemplo, PRINT-LCS iria gerar a sequência, BCBA O custo para este procedimento será de O(m+n) Visto que este decrementa no mínimo uma unidade de i e/ou j para cada chamada recursiva.

22 Melhorando o Código! Observe que este código LENGTH-LCS pode ser melhorado em desempenho tanto no tempo como no espaço. Como? Exercício para reflexão! Será que a tabela b é realmente necessária? Será que a tabela c necessita ser totalmente armazenada?

23 Sugestão de Leitura Capítulo 15, seção 15.4 do ĺıvro do Cormen; Weiss, Mark Allen. Data Structures and Algorithms Analysis in C. Second Edition. (1997) - Capítulo 8

Subsequência comum mais longa Em inglês, Longest Common Subsequence (LCS)

Subsequência comum mais longa Em inglês, Longest Common Subsequence (LCS) Programação Dinâmica Subsequência comum mais longa Em inglês, Longest Common Subsequence (LCS) Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 23 Longest Common Subsequence (LCS) Dadas duas sequências,

Leia mais

Programação Dinâmica. Programa do PA. Técnicas Avançadas de Projeto. Aulas Anteriores. Introdução. Plano de Aula. Técnicas de Projeto de Algoritmos

Programação Dinâmica. Programa do PA. Técnicas Avançadas de Projeto. Aulas Anteriores. Introdução. Plano de Aula. Técnicas de Projeto de Algoritmos Programação Dinâmica Técnicas de Projeto de Algoritmos Aula 13 Alessandro L. Koerich Pontifícia Universidade Católica do Paraná (PUCPR) Ciência da Computação 7 o Período Engenharia de Computação 5 o Período

Leia mais

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48 Conteúdo 1 Princípios de Contagem e Enumeração Computacional Permutações com Repetições Combinações com Repetições O Problema do Troco Principio da Casa dos Pombos > Princípios de Contagem e Enumeração

Leia mais

Lista n 0 1 de Exercícios de Teoria da Computação

Lista n 0 1 de Exercícios de Teoria da Computação Lista n 0 1 de Exercícios de Teoria da Computação UFU-Curso de Bacharelado em Ciência da Computação - 7 0 período Profa. Sandra de Amo Exercícios de Revisão : Autômatos e Gramáticas 1. Mostre que a linguagem

Leia mais

MC102 Algoritmos e Programação de Computadores

MC102 Algoritmos e Programação de Computadores MC102 Algoritmos e Programação de Computadores Instituto de Computação UNICAMP Primeiro Semestre de 2015 Roteiro 1 Fundamentos de análise de algoritmos 2 Cálculo da função de custo 3 Exercícios Instituto

Leia mais

Métodos Computacionais. Árvores

Métodos Computacionais. Árvores Métodos Computacionais Árvores Árvores Vetores e Listas são ótimos para representar estrutura de dados lineares, mas não para modelar dados hierárquicos Exemplos de dados hierárquicos: sistema de arquivos

Leia mais

Complexidade de Algoritmos. Edson Prestes

Complexidade de Algoritmos. Edson Prestes Edson Prestes Caminhos de custo mínimo em grafo orientado Este problema consiste em determinar um caminho de custo mínimo a partir de um vértice fonte a cada vértice do grafo. Considere um grafo orientado

Leia mais

Contagem. George Darmiton da Cunha Cavalcanti CIn - UFPE

Contagem. George Darmiton da Cunha Cavalcanti CIn - UFPE Contagem George Darmiton da Cunha Cavalcanti CIn - UFPE Sumário Princípios Básicos de Contagem A Regra do Produto A Regra da Soma O número de subconjuntos de um conjunto finito Princípio da Inclusão-Exclusão

Leia mais

Casamento de Cadeias. Introdução. Introdução. Estrutura de Dados. Cadeia de caracteres: sequência de elementos denominados caracteres.

Casamento de Cadeias. Introdução. Introdução. Estrutura de Dados. Cadeia de caracteres: sequência de elementos denominados caracteres. Introdução de Cadeias Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM 1 Cadeia

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 04: Análise de Algoritmos (Parte 1) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes

Leia mais

Árvores Binárias de Busca

Árvores Binárias de Busca Árvores Binárias de Busca Uma Árvore Binária de Busca T (ABB) ou Árvore Binária de Pesquisa é tal que ou T = 0 e a árvore é dita vazia ou seu nó contém uma chave e: 1. Todas as chaves da sub-árvore esquerda

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos Complexidade de Algoritmos Envolvendo Estruturas de Dados Elementares Prof. Osvaldo Luiz de Oliveira Estas anotações devem ser complementadas por apontamentos em aula. Vetor

Leia mais

Computabilidade 2012/2013. Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

Computabilidade 2012/2013. Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Computabilidade 2012/2013 Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Capítulo 1 Computabilidade 1.1 A noção de computabilidade Um processo de computação

Leia mais

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2. Pg. 1 Universidade Federal do Espírito Santo - UFES Mestrado em Informática 2004/1 Projetos O Projeto O projeto tem um peso maior na sua nota final pois exigirá de você a utilização de diversas informações

Leia mais

Estruturas de Dados Aula 15: Árvores 17/05/2011

Estruturas de Dados Aula 15: Árvores 17/05/2011 Estruturas de Dados Aula 15: Árvores 17/05/2011 Fontes Bibliográficas Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos (Nivio Ziviani): Capítulo

Leia mais

IFTO LÓGICA DE PROGRAMAÇÃO AULA 02

IFTO LÓGICA DE PROGRAMAÇÃO AULA 02 IFTO LÓGICA DE PROGRAMAÇÃO AULA 02 Prof. Manoel Campos da Silva Filho Tecnólogo em Processamento de Dados / Unitins Mestre em Engenharia Elétrica / UnB http://lab.ifto.edu.br/~mcampos http://manoelcampos.com

Leia mais

Aula 7 Ácidos nucléicos

Aula 7 Ácidos nucléicos Aula 7 Ácidos nucléicos Os ácidos nucléicos DNA (ácido desoxirribonucléico) e o RNA (ácido ribonucléico) são substâncias essenciais para os seres vivos, pois mantêm a informação genética que controla a

Leia mais

Lógica Computacional 117366. 2 Descrição do Projeto

Lógica Computacional 117366. 2 Descrição do Projeto Lógica Computacional 117366 Descrição do Projeto Formalização de Algoritmos para Ordenação com Heaps 24 de setembro de 2015 Prof. Mauricio Ayala-Rincón Prof. Flávio L. C. de Moura A estagiária de docência

Leia mais

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia e não têm a intenção de substituir o livro-texto, nem qualquer outra bibliografia. Introdução O Cálculo Numérico

Leia mais

Faculdade de Computação

Faculdade de Computação UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação Professora : Sandra Aparecida de Amo Lista de Exercícios n o 2 Exercícios sobre Modelos de Máquinas de Turing

Leia mais

Cadeias de Markov. Geovany A. Borges gaborges@ene.unb.br

Cadeias de Markov. Geovany A. Borges gaborges@ene.unb.br 36341 - Introdução aos Processos Estocásticos Curso de Pós-Graduação em Engenharia Elétrica Departamento de Engenharia Elétrica Universidade de Brasília Cadeias de Markov Geovany A. Borges gaborges@ene.unb.br

Leia mais

Estruturas de Dados Pilhas, Filas e Deques

Estruturas de Dados Pilhas, Filas e Deques Estruturas de Dados Pilhas, Filas e Deques Prof. Eduardo Alchieri Estruturas de Dados Pilhas Pilhas Lista LIFO (Last In, First Out) Os elementos são colocados na estrutura (pilha) e retirados em ordem

Leia mais

1 Tipos de dados em Análise de Clusters

1 Tipos de dados em Análise de Clusters Curso de Data Mining Sandra de Amo Aula 13 - Análise de Clusters - Introdução Análise de Clusters é o processo de agrupar um conjunto de objetos físicos ou abstratos em classes de objetos similares Um

Leia mais

ESTRUTURAS DE DADOS I. Notas de Aula. Prof. Dr. Gilberto Nakamiti

ESTRUTURAS DE DADOS I. Notas de Aula. Prof. Dr. Gilberto Nakamiti ESTRUTURAS DE DADOS I Notas de Aula 1 SUMÁRIO 1. INTRODUÇÃO... 2 1.1 Array (vetores)... 2 2. BUSCA DE ELEMENTOS... 3 2.1 Busca Seqüencial... 3 2.2 Busca Binária... 3 2.3 Busca Indexada... 3 2.4 Busca Hash...

Leia mais

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2 FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO Projeto e Análise de Algoritmos II Lista de Exercícios 2 Prof. Osvaldo. 1. Desenvolva algoritmos para as operações abaixo e calcule a complexidade

Leia mais

1. Introdução... 1 1.1. Definição... 1 1.2. Conceitos relacionados... 2

1. Introdução... 1 1.1. Definição... 1 1.2. Conceitos relacionados... 2 Índice i Índice Capítulo 4 Estrutura de Dados não sequencial com armazenamento não sequencial ( Árvore ) 1. Introdução... 1 1.1. Definição... 1 1.2. Conceitos relacionados... 2 2. Árvores binárias... 2

Leia mais

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Seção 5.1 Problemas indecidíveis. Slides originais gentilmente cedidos pela Profa. Ariane Machado Lima

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Seção 5.1 Problemas indecidíveis. Slides originais gentilmente cedidos pela Profa. Ariane Machado Lima ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Seção 5.1 Problemas indecidíveis Slides originais gentilmente cedidos pela Profa. Ariane Machado Lima 1 Na aula passada... A MT é indecidível (usando diagonalização)

Leia mais

Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos

Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos Estruturas de Dados Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos Árvores Conceitos Árvores binárias Árvores binárias de pesquisa Árvores binárias balanceadas Árvores ESTRUTURAS

Leia mais

BCC242. Alfabeto, Strings, Linguagens. Registro aqui o agradecimento à Profa. Lucília por ceder slides que fazem parte deste material.

BCC242. Alfabeto, Strings, Linguagens. Registro aqui o agradecimento à Profa. Lucília por ceder slides que fazem parte deste material. BCC242 Alfabeto, Strings, Linguagens Registro aqui o agradecimento à Profa. Lucília por ceder slides que fazem parte deste material. Exemplo: Máquina de Venda A máquina de venda retorna uma cocacola por

Leia mais

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 UNIVERSIDADE FEDERAL DE VIÇOSA Departamento de Matemática - CCE Cálculo Numérico - MAT 271 Prof.: Valéria Mattos da Rosa As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia

Leia mais

EAD Árvore árvore binária

EAD Árvore árvore binária EAD Árvore árvore binária - Uma árvore binária é um conjunto finito de elementos (nodos) que pode ser vazio ou particionado em três subconjuntos: - raiz da árvore (elemento inicial, que é único); - subárvore

Leia mais

Analise filogenética baseada em alinhamento de domínios

Analise filogenética baseada em alinhamento de domínios Analise filogenética baseada em alinhamento de domínios Moléculas biológicas e evolução Como já foi comentado anteriormente sabemos que o DNA de qualquer espécie de ser vivo sofre mutações ao longo do

Leia mais

Núcleo e Divisões Celulares

Núcleo e Divisões Celulares UNIDADE 2 ORIGEM DA VIDA E BIOLOGIA CELULAR CAPÍTULO 10 Aula 1 Núcleo: estrutura e composição Cromossomos, genes e DNA 1. NÚCLEO: NÚMERO E FORMA Células eucarióticas Cromossomos DNA + proteínas (histonas)

Leia mais

Figura 13.1: Um exemplo de árvore de diretório.

Figura 13.1: Um exemplo de árvore de diretório. 13. Árvores W. Celes e J. L. Rangel Nos capítulos anteriores examinamos as estruturas de dados que podem ser chamadas de unidimensionais ou lineares, como vetores e listas. A importância dessas estruturas

Leia mais

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas? Recorrências Muitas vezes não é possível resolver problemas de contagem diretamente combinando os princípios aditivo e multiplicativo. Para resolver esses problemas recorremos a outros recursos: as recursões

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução Prof. Humberto Brandão humberto@dcc.ufmg.br aula disponível no site: http://www.bcc.unifal-mg.edu.br/~humberto/ Universidade Federal de

Leia mais

Equipe de Biologia. Biologia

Equipe de Biologia. Biologia Aluno (a): Série: 3ª Turma: TUTORIAL 5B Ensino Médio Equipe de Biologia Data: Biologia Ácidos nucléicos Os ácidos nucléicos são moléculas gigantes (macromoléculas), formadas por unidades monoméricas menores

Leia mais

Árvores AVL. Prof. Othon M. N. Batista Estrutura de Dados

Árvores AVL. Prof. Othon M. N. Batista Estrutura de Dados Árvores AVL Prof. Othon M. N. Batista Estrutura de Dados Roteiro (/2) Árvore Binária de Pesquisa - Pior Tempo ABP Balanceada e Não Balanceada Balanceamento de Árvores Balanceamento de ABP Balanceamento

Leia mais

Linguagem C: Árvores Binarias

Linguagem C: Árvores Binarias Instituto de C Linguagem C: Árvores Binarias Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Tópicos Principais Introdução Árvores binárias Implementação

Leia mais

Sumário. 5COP096 Teoria da Computação Aula 8 Pesquisa em Memória Primária

Sumário. 5COP096 Teoria da Computação Aula 8 Pesquisa em Memória Primária 5COP096 Teoria da Computação Aula 8 Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sumário 1) Introdução à Pesquisa em Memória Primária 2) Pesquisa Sequencial 3) Pesquisa Binária 4) Árvore

Leia mais

Hoje estudaremos a bioquímica dos ácidos nucléicos. Acompanhe!

Hoje estudaremos a bioquímica dos ácidos nucléicos. Acompanhe! Aula: 2 Temática: Ácidos Nucléicos Hoje estudaremos a bioquímica dos ácidos nucléicos. Acompanhe! Introdução: Os ácidos nucléicos são as moléculas com a função de armazenamento e expressão da informação

Leia mais

Bioinformática. Alinhamento de Sequências. Prof. Msc. Rommel Ramos

Bioinformática. Alinhamento de Sequências. Prof. Msc. Rommel Ramos Bioinformática Alinhamento de Sequências Prof. Msc. Rommel Ramos 2013 Sumário 1. Comparação de Sequências 2. O que é alinhamento? 3. Tipos de Alinhamento 4. Algoritmos 5. Métodos de Alinhamento Comparação

Leia mais

14.1 Vetor - Problemas

14.1 Vetor - Problemas Problema 14: Um método de Criptografia consiste em substituir as letras de uma mensagem através do emparelhamento de alfabetos tal como dado abaixo. Construir um programa que codifica mensagens usando

Leia mais

Instruções de controle: Parte 1. 2005 by Pearson Education do Brasil

Instruções de controle: Parte 1. 2005 by Pearson Education do Brasil 1 4 Instruções de controle: Parte 1 2 4.2 Algoritmos Algoritmos: As ações a executar. A ordem em que essas ações executam. Controle do programa: Especifica a ordem em que as ações são executadas em um

Leia mais

1 se n = 0 n (n 1)! se n 1

1 se n = 0 n (n 1)! se n 1 Recursão versus Iteração Problema: Cálculo de n! = n (n 1)... 1 int facti(int n) { int fac=n; while(n>0){ fac=fac*n; n--; } return fac; } [epd94, Cap. 5.13-15] Definição recursiva: n! = { 1 se n = 0 n

Leia mais

O problema do jogo dos discos 1

O problema do jogo dos discos 1 O problema do jogo dos discos 1 1 Introdução Roberto Ribeiro Paterlini Departamento de Matemática da UFSCar Temos aplicado o problema do jogo dos discos em classes de estudantes de Licenciatura em Matemática

Leia mais

Máquinas de Turing 1

Máquinas de Turing 1 Máquinas de Turing 1 Agenda Máquinas de Turing (TM) Alan Turing Motivação Tese de Church-Turing Definições Computação Configuração de TM Reconhecedores vs. Decisores 2 Alan Turing Alan Turing é um dos

Leia mais

EFICIÊNCIA DE ALGORITMOS E

EFICIÊNCIA DE ALGORITMOS E AULA 2 EFICIÊNCIA DE ALGORITMOS E PROGRAMAS Medir a eficiência de um algoritmo ou programa significa tentar predizer os recursos necessários para seu funcionamento. O recurso que temos mais interesse neste

Leia mais

PROBLEMA DE TRANSPORTE: MODELO E MÉTODO DE SOLUÇÃO

PROBLEMA DE TRANSPORTE: MODELO E MÉTODO DE SOLUÇÃO PROBLEMA DE TRANSPORTE: MODELO E MÉTODO DE SOLUÇÃO Luciano Pereira Magalhães - 8º - noite lpmag@hotmail.com Orientador: Prof Gustavo Campos Menezes Banca Examinadora: Prof Reinaldo Sá Fortes, Prof Eduardo

Leia mais

Aula 14: Instruções e Seus Tipos

Aula 14: Instruções e Seus Tipos Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35 Conceitos Básicos Diego Passos

Leia mais

BASES NITROGENADAS DO RNA

BASES NITROGENADAS DO RNA BIO 1E aula 01 01.01. A determinação de como deve ser uma proteína é dada pelos genes contidos no DNA. Cada gene é formado por uma sequência de códons, que são sequências de três bases nitrogenadas que

Leia mais

Problema da Mochila Booleana: Uma Solução Usando Programação Dinâmica. Gabriel Rosa Guilherme Alves

Problema da Mochila Booleana: Uma Solução Usando Programação Dinâmica. Gabriel Rosa Guilherme Alves Problema da Mochila Booleana: Uma Solução Usando Programação Dinâmica Gabriel Rosa Guilherme Alves Agenda O problema, definição e exemplo Construindo uma solução... Expressão recursiva Algoritmo recursivo

Leia mais

Árvores e Árvores Binárias

Árvores e Árvores Binárias MAC 5710 - Estruturas de Dados - 2008 Referência bibliográfica Os slides sobre este assunto são parcialmente baseados nas seções sobre árvores do capítulo 4 do livro N. Wirth. Algorithms + Data Structures

Leia mais

Orientação a Objetos. Conceitos Iniciais Introdução a Linguagem Java. Gil Eduardo de Andrade

Orientação a Objetos. Conceitos Iniciais Introdução a Linguagem Java. Gil Eduardo de Andrade Orientação a Objetos Conceitos Iniciais Introdução a Linguagem Java Gil Eduardo de Andrade Conceitos: Orientação a Objeto Introdução Abordagem típica no desenvolvimento de sistemas complexos; Consiste

Leia mais

Miguel Rocha Dep. Informática - Universidade do Minho. BIOINFORMÁTICA: passado, presente e futuro!!

Miguel Rocha Dep. Informática - Universidade do Minho. BIOINFORMÁTICA: passado, presente e futuro!! Miguel Rocha Dep. Informática - Universidade do Minho BIOINFORMÁTICA: passado, presente e futuro!! Bragança, 11 de Maio de 2006 Porquê a Bioinformática?! Novas tecnologias experimentais da Biologia Molecular

Leia mais

REAÇÃO EM CADEIA DA POLIMERASE (PCR)

REAÇÃO EM CADEIA DA POLIMERASE (PCR) Área de Ciências da Saúde Curso de Medicina Módulo: Saúde do Adulto e Idoso II GENÉTICA HUMANA Professora: Dra. Juliana Schmidt REAÇÃO EM CADEIA DA POLIMERASE (PCR) A molécula de DNA é um longo polímero

Leia mais

Pointer Jumping. odg(v) e idg(v): graus de saída e entrada do vértice v V. um vértice r tal que. O vértice r é dita raíz de T

Pointer Jumping. odg(v) e idg(v): graus de saída e entrada do vértice v V. um vértice r tal que. O vértice r é dita raíz de T Pointer Jumping T = (V,E) : árvore direcionada odg(v) e idg(v): graus de saída e entrada do vértice v V um vértice r tal que v V-{r}, odg(v) = 1, odg(r)=0 v V-{r}, um caminho de v a r O vértice r é dita

Leia mais

Algoritmos e Estruturas de Dados: Árvore Binária de Busca

Algoritmos e Estruturas de Dados: Árvore Binária de Busca Busca pelo nodo 72 Árvore Binária de Busca Introdução 2/21 Algoritmos e Estruturas de Dados: Árvore Binária de Busca 44 Raiz Rômulo Silva de Oliveira Departamento de Automação e Sistemas DAS UFSC romulo@das.ufsc.br

Leia mais

Contagem I. Figura 1: Abrindo uma Porta.

Contagem I. Figura 1: Abrindo uma Porta. Polos Olímpicos de Treinamento Curso de Combinatória - Nível 2 Prof. Bruno Holanda Aula 4 Contagem I De quantos modos podemos nos vestir? Quantos números menores que 1000 possuem todos os algarismos pares?

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas INF 1010 Estruturas de Dados Avançadas Listas de Prioridades e Heaps 1 Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada a um

Leia mais

Função Logarítmica Função Exponencial

Função Logarítmica Função Exponencial ROTEIRO DE ESTUDO MATEMÁTICA 2014 Aluno (a): nº 1ª Série Turma: Data: /10/2014. 3ª Etapa Professor: WELLINGTON SCHÜHLI DE CARVALHO Caro aluno, O objetivo desse roteiro é orientá-lo em relação aos conteúdos

Leia mais

Python: Comandos Básicos. Claudio Esperança

Python: Comandos Básicos. Claudio Esperança Python: Comandos Básicos Claudio Esperança Primeiros passos em programação Até agora só vimos como computar algumas expressões simples Expressões são escritas e computadas imediatamente Variáveis podem

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos Classes de Complexidades de Problemas Prof. Osvaldo Luiz de Oliveira Estas anotações devem ser complementadas por apontamentos em aula. Tempo polinomial Um algoritmo A, com entrada

Leia mais

Núcleo Celular. Biomedicina primeiro semestre de 2012 Profa. Luciana Fontanari Krause

Núcleo Celular. Biomedicina primeiro semestre de 2012 Profa. Luciana Fontanari Krause Núcleo Celular Biomedicina primeiro semestre de 2012 Profa. Luciana Fontanari Krause Núcleo Celular Eucarioto: núcleo delimitado por membrana nuclear (carioteca) Portador dos fatores hereditários e controlador

Leia mais

Árvores Binárias de Busca

Árvores Binárias de Busca Árvores Binárias de Busca Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguinte propriedade: Para todo nó da árvore, se seu valor é X, então: Os nós pertencentes

Leia mais

Algoritmos de pesquisa. Tabelas de dispersão/hash

Algoritmos de pesquisa. Tabelas de dispersão/hash Algoritmos de pesquisa Tabelas de dispersão/hash Introdução Motivação: Considerar o problema de pesquisar um determinado valor num vetor (array). Se o vetor não está ordenado, a pesquisa requer O(n) de

Leia mais

MARCO TÚLIO NOGUEIRA SILVA

MARCO TÚLIO NOGUEIRA SILVA MARCO TÚLIO NOGUEIRA SILVA ALINHAMENTO MÚLTIPLO GLOBAL DE SEQÜÊNCIAS PELA REPRESENTAÇÃO DE PROFILE E CLUSTERIZAÇÃO: COMPARAÇÃO COM OS RESULTADOS DO CLUSTALW (EMBL-EBI) Monografia de graduação apresentada

Leia mais

Programação Dinâmica

Programação Dinâmica fib(5) fib(4) fib(3) fib(3) fib(2) fib(2) fib(1) fib(2) fib(1) fib(1) fib(0) fib(1) fib(0) fib(1) fib(0) Uma metodologia de resolução de problemas Center for Research in Advanced Computing Systems (CRACS

Leia mais

Divisão e Conquista: Par de Pontos mais Próximo

Divisão e Conquista: Par de Pontos mais Próximo Divisão e Conquista: Par de Pontos mais Próximo Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 18 Divisão e Conquista (cont.) Problema: Dado um conjunto de pontos no plano, obter o par de pontos

Leia mais

Árvores Balanceadas. Árvore binária completamente balanceada. Ocorre quando a árvore está cheia ou quase cheia com o nível n-1 completo

Árvores Balanceadas. Árvore binária completamente balanceada. Ocorre quando a árvore está cheia ou quase cheia com o nível n-1 completo Árvores Balanceadas As árvores binárias de pesquisa são, em alguns casos, pouco recomendáveis para as operações básicas (inserção, remoção e busca) Árvores binárias de pesquisa degeneradas tornam as operações

Leia mais

Estruturas de Dados Árvores

Estruturas de Dados Árvores Estruturas de Dados Árvores Prof. Eduardo Alchieri Árvores (introdução) Importância de estruturas unidimensionais ou lineares (vetores e listas) é inegável Porém, estas estruturas não são adequadas para

Leia mais

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo: Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

Teoria da Complexidade

Teoria da Complexidade handout.pdf June 5, 0 Teoria da Complexidade Cid C. de Souza / IC UNICAMP Universidade Estadual de Campinas Instituto de Computação o semestre de 0 Revisado por Zanoni Dias Autor Prof. Cid Carvalho de

Leia mais

GABARITO BIOLOGIA REVISÃO 01 3 ANO A/B ENSINO MÉDIO

GABARITO BIOLOGIA REVISÃO 01 3 ANO A/B ENSINO MÉDIO GABARITO BIOLOGIA REVISÃO 01 3 ANO A/B ENSINO MÉDIO Resolução: 01. B 02. E 03. No alantóide da ave há uma rede de capilares sangüíneos onde ocorre a respiração. O principal excreta nitrogenado da ave é

Leia mais

< 0, conclui-se, de acordo com o teorema 1, que existem zeros de f (x) Pode-se também chegar às mesmas conclusões partindo da equação

< 0, conclui-se, de acordo com o teorema 1, que existem zeros de f (x) Pode-se também chegar às mesmas conclusões partindo da equação . Isolar os zeros da função f ( )= 9 +. Resolução: Pode-se construir uma tabela de valores para f ( ) e analisar os sinais: 0 f ( ) + + + + + Como f ( ) f ( ) < 0, f ( 0 ) f ( ) < 0 e f ( ) f ( ) < 0,

Leia mais

> ESTUDO DO RNA. (C) O ácido nucléico I é DNA e o II, RNA. (D) O ácido nucléico I é RNA e o II, DNA. (E) I é exclusivo dos seres procariontes.

> ESTUDO DO RNA. (C) O ácido nucléico I é DNA e o II, RNA. (D) O ácido nucléico I é RNA e o II, DNA. (E) I é exclusivo dos seres procariontes. Biologia > Citologia > Sintese Protéica > Alunos Prof. Zell (biologia) (C) O ácido nucléico I é DNA e o II, RNA. (D) O ácido nucléico I é RNA e o II, DNA. (E) I é exclusivo dos seres procariontes. > ESTUDO

Leia mais

1 Propriedades das Funções Contínuas 2

1 Propriedades das Funções Contínuas 2 Propriedades das Funções Contínuas Prof. Doherty Andrade 2005 Sumário 1 Propriedades das Funções Contínuas 2 2 Continuidade 2 3 Propriedades 3 4 Continuidade Uniforme 9 5 Exercício 10 1 1 PROPRIEDADES

Leia mais

Conceitos básicos da linguagem C

Conceitos básicos da linguagem C Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou

Leia mais

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.1. Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.1. Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005. Agenda Análise e Técnicas de Algoritmos Jorge Figueiredo Problemas de de otimização Conceitos ásicos O Problema da da Mochila Fracionária Template Genérico xemplos: Código de de Huffman Algoritmos Gulosos

Leia mais

Tabela de símbolos: tabelas de espalhamento

Tabela de símbolos: tabelas de espalhamento Tabela de símbolos: tabelas de espalhamento Marcelo K. Albertini 14 de Janeiro de 2014 2/28 Resumo de complexidades Análises para operação efetuada após N inserções pior caso caso médio keys chave get

Leia mais

MD Teoria dos Conjuntos 1

MD Teoria dos Conjuntos 1 Teoria dos Conjuntos Renato Martins Assunção assuncao@dcc.ufmg.br Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br MD Teoria dos Conjuntos 1 Introdução O que os seguintes objetos têm em comum? um

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 04 Algoritmos Genéticos Introdução Algoritmos genéticos são bons para abordar espaços de buscas muito grandes e navegálos

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Estrutura de Dados Básica

Estrutura de Dados Básica Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 7: Recursividade O objetivo desta aula é apresentar o conceito de recursão para solução de problemas. A recursão é uma técnica de programação

Leia mais

Análise de complexidade

Análise de complexidade Introdução Algoritmo: sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador) Estratégia: especificar (definir propriedades) arquitectura

Leia mais

Guia do professor. Ministério da Ciência e Tecnologia. Ministério da Educação. Secretaria de Educação a Distância.

Guia do professor. Ministério da Ciência e Tecnologia. Ministério da Educação. Secretaria de Educação a Distância. números e funções Guia do professor Objetivos da unidade 1. Analisar representação gráfica de dados estatísticos; 2. Familiarizar o aluno com gráfico de Box Plot e análise estatística bivariada; 3. Utilizar

Leia mais

Algoritmos e Estrutura de Dados II

Algoritmos e Estrutura de Dados II Universidade Federal do Vale do São Francisco Algoritmos e Estrutura de Dados II Professor: Marcelo Santos Linder E-mail: marcelo.linder@univasf.edu.br Ementa Árvores B, grafos e tabelas de hash: alocação

Leia mais

Pesquisa Sequencial e Binária. Introdução à Programação SI2

Pesquisa Sequencial e Binária. Introdução à Programação SI2 Pesquisa Sequencial e Binária Introdução à Programação SI2 3 Contexto Diferentes estratégias para pesquisa (busca) de um elemento específico em um conjunto de dados. Lista, array, coleção Operação importante,

Leia mais

Pesquisa Sequencial e Binária

Pesquisa Sequencial e Binária Pesquisa Sequencial e Binária Prof. Wylliams Barbosa Santos wylliamss@gmail.com Introdução à Programação Crédito de Conteúdo: Professora Ceça Moraes Agenda Pesquisa Sequencial Noções de complexidade Pesquisa

Leia mais

Procalc v1.0. Versão Programador

Procalc v1.0. Versão Programador Procalc v1.0 Versão Programador Conteúdo Procalc... 4 Primeiros botões... 5 Funções Básicas... 6 Como funciona... 7 Funções avançadas... 8 Logaritmo... 8 Logaritmo Natural... 9 Expoente... 10 Factorial...

Leia mais

20 Caracteres - Tipo char

20 Caracteres - Tipo char 0 Caracteres - Tipo char Ronaldo F. Hashimoto e Carlos H. Morimoto Até agora vimos como o computador pode ser utilizado para processar informação que pode ser quantificada de forma numérica. No entanto,

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 05 Cadeias de Caracteres Edirlei Soares de Lima Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência

Leia mais

Primitivas Gráficas. Prof. Márcio Bueno {cgtarde,cgnoite}@marciobueno.com. Fonte: Material do Prof. Robson Pequeno de Sousa e do Prof.

Primitivas Gráficas. Prof. Márcio Bueno {cgtarde,cgnoite}@marciobueno.com. Fonte: Material do Prof. Robson Pequeno de Sousa e do Prof. Primitivas Gráficas Prof. Márcio Bueno {cgtarde,cgnoite}@marciobueno.com Fonte: Material do Prof. Robson Pequeno de Sousa e do Prof. Robson Lins Traçado de Primitivas em Dispositivos Matriciais Conversão

Leia mais

Experimento. Guia do professor. Otimização da cerca. Secretaria de Educação a Distância. Ministério da Ciência e Tecnologia. Ministério da Educação

Experimento. Guia do professor. Otimização da cerca. Secretaria de Educação a Distância. Ministério da Ciência e Tecnologia. Ministério da Educação Números e funções Guia do professor Experimento Otimização da cerca Objetivos da unidade 1. Resolver um problema de otimização através do estudo de uma função quadrática. 2. Estudar as propriedades de

Leia mais

TIPOS ABSTRATOS DE DADOS DEFINIÇÃO E EXEMPLOS. Bruno Maffeo Departamento de Informática PUC-Rio

TIPOS ABSTRATOS DE DADOS DEFINIÇÃO E EXEMPLOS. Bruno Maffeo Departamento de Informática PUC-Rio TIPOS ABSTRATOS DE DADOS DEFINIÇÃO E EXEMPLOS Bruno Maffeo Departamento de Informática PUC-Rio TERMINOLOGIA BÁSICA ALGORITMO Um algoritmo pode ser visto como uma seqüência de ações expressas em termos

Leia mais

Módulo 1: Contextualização

Módulo 1: Contextualização Módulo 1: Contextualização Este trabalho, tem o objetivo de auxiliar os alunos das disciplinas de Introdução a Programação de Computadores, para cursos de Engenharia e de Automação, em seus estudos e no

Leia mais

5COP096 TeoriadaComputação

5COP096 TeoriadaComputação Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 14 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas Exponenciais - Algoritmos Exponenciais usando Tentativa e Erro - Heurísticas para

Leia mais

Universidade Federal de São João Del Rei - UFSJ

Universidade Federal de São João Del Rei - UFSJ Universidade Federal de São João Del Rei - UFSJ Instituída pela Lei 0.45, de 9/04/00 - D.O.U. de /04/00 Pró-Reitoria de Ensino de Graduação - PROEN Disciplina: Cálculo Numérico Ano: 03 Prof: Natã Goulart

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 14 Árvores Binárias Edirlei Soares de Lima Árvores Uma estrutura de dados do tipo árvore permite que dados sejam organizados de maneira hierárquica.

Leia mais