1) Escolher e descrever um problema cuja resolução requeira a execução de algoritmos computacionais que não sejam triviais.

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

Download "1) Escolher e descrever um problema cuja resolução requeira a execução de algoritmos computacionais que não sejam triviais."

Transcrição

1 Universidade Federal do Rio de Janeiro Escola Politécnica MBA em Engenharia de Software EEL 650 Análise e Implementação de Algoritmos Turma ENGSOFT09 Prof. Heraldo L. S. Almeida Trabalho Prático para Avaliação de Aproveitamento Descrição do Trabalho: 1) Escolher e descrever um problema cuja resolução requeira a execução de algoritmos computacionais que não sejam triviais. 2) Descrever diferentes alternativas de algoritmos e estruturas de dados que possam ser utilizadas para resolver o problema. 3) Analisar as diferentes alternativas de implementação em termos de: a. complexidade de tempo como o tempo de execução aumenta em função com o tamanho do problema b. complexidade de espaço como o consumo de memória aumenta com o tamanho do problema 4) Implementar os diferentes algoritmos na linguagem de programação de sua preferência e medir o tempo de execução para problemas de diferentes tamanhos, comparando a taxa de crescimento observada experimentalmente com a previsão da análise teórica desenvolvida no item 3. 5) Concluir o trabalho com uma avaliação crítica comparativa dos diferentes algoritmos analisados e implementados, fundamentada nos resultados teóricos e experimentais obtidos, indicando vantagens e desvantagens de cada alternativa.. Regras: O trabalho poderá ser feito em grupos de até 4 alunos. Poderão ser escolhidos tanto problemas clássicos da literatura de ciência da computação (ver lista de sugestões em anexo), quanto problemas práticos específicos, relacionados a necessidades reais de pessoas ou de empresas com as quais o aluno se relacione. Cada grupo deve enviar um contendo o nome dos componentes do grupo e o tema escolhido para o endereço eletrônico mba_engsoft09@googlegroups.com até o dia 07/10/2009. No caso de tema existente na lista de sugestões em anexo, basta mencionar o título do tema. Já no caso de um tema proposto pelos próprios alunos, deve ser incluída uma descrição do problema escolhido e dos tipos de algoritmos a serem investigados. Temas escolhidos pelos alunos estarão sujeitos à aprovação do professor. Dois grupos não podem escolher o mesmo tema, ou temas muito semelhantes. No caso de conflito, o grupo que tiver se manifestado mais tarde deverá escolher outro tema. Os trabalhos finais deverão ser enviados em formato Word ou PDF, juntamente com o código-fonte dos programas desenvolvidos, ao endereço eletrônico heraldo@ufrj.br até o dia 04/11/2009. O professor estará à disposição para esclarecer dúvidas e ajudar no que for necessário, podendo ser acessado, a qualquer tempo, até o prazo final de entrega do trabalho, no endereço eletrônico acima.

2 1. Ordenação Topológica (topological sorting) Dado um grafo orientado e acíclico com n vértices v 1, v 2,... v n, ordenar os vértices de modo que, para toda aresta (v i ; v j ), o vértice v i anteceda o vértice v j. A grade curricular de um curso universitário possui n disciplinas v 1, v 2,... v n, sendo que algumas dentre estas disciplinas podem ter uma ou várias dentre as outras disciplinas da grade como prérequisito. O algoritmo deve determinar uma ordem válida em que um aluno possa cursar as n disciplinas da grade sem violar nenhum pré-requisito. Livro Cormen, Leiserson, Rivest & Stein, Algoritmos: Teoria e Prática, capítulo 22.

3 2. Árvore de Cobertura de Extensão Mínima (minimum spanning tree) Dado um grafo com n vértices v 1, v 2,... v n e os custos c ij para inserção de arestas interligando cada par de vértices v i e v j, para i=1,2,...,n e j=1,2,...,n, determinar um conjunto de arestas de custo total mínimo que forme uma árvore abrangendo todos os n vértices. Uma empresa de telefonia precisa interligar n localidades v 1, v 2,... v n por meio de fibras óticas, sendo que o custo necessário para interligar diretamente duas localidades v i e v j é conhecido e dado por c ij, para i=1,2,...,n e j=1,2,...,n. O algoritmo deve determinar uma solução de custo mínimo para implementar uma rede de fibra ótica interligando todas as n localidades. Livro Cormen, Leiserson, Rivest & Stein, Algoritmos: Teoria e Prática, capítulo 23.

4 3. Caminhos mínimos (shortest paths) Dado um grafo orientado com n vértices v 1, v 2,... v n, m arestas a 1, a 2,... a m e custos c 1, c 2,... c m associados a cada aresta, determinar: o caminho de menor custo entre um vértice-origem v i e um vértice-destino v j os caminhos de menor custo entre um vértice-origem v i e todos os demais vértices do grafo os caminhos de menor custo entre todos os demais vértices do grafo e um vértice-destino v j os caminhos de menor custo entre todos os pares de vértices do grafo Em um país existem n cidades v 1, v 2,... v n e as companhias aéreas oferecem m vôos a 1, a 2,... a m interligando algumas dessas cidades, cujos custos são dados por c 1, c 2,... c m. Os algoritmos devem determinar: o roteiro aéreo de menor custo total entre uma cidade-origem v i e um cidade-destino v j os caminhos de menor custo entre um vértice-origem v i e todos os demais vértices do grafo os caminhos de menor custo entre todos os demais vértices do grafo e um vértice-destino v j os caminhos de menor custo entre todos os pares de vértices do grafo Livro Cormen, Leiserson, Rivest & Stein, Algoritmos: Teoria e Prática, capítulos 23 e 24.

5 4. Inspeção de Rotas (route inspection) Dado um grafo orientado com n vértices v 1, v 2,... v n, m arestas a 1, a 2,... a m e custos c 1, c 2,... c m associados a cada aresta, determinar o roteiro de menor custo que percorre cada aresta pelo menos uma vez. Os caminhões de uma empresa de coleta de lixo precisam percorrer diariamente m ruas a 1, a 2,... a m, cujos comprimentos são dados por c 1, c 2,... c m, e que se interceptam em n esquinas. Determinar um roteiro que minimize a quilometragem total rodada diariamente pelos caminhões da empresa.

6 5. Fluxo Máximo em Redes (maximum network flow) Dado um grafo orientado com n vértices v 1, v 2,... v n, m arestas a 1, a 2,... a m e capacidades máximas c 1, c 2,... c m associadas a cada aresta, determinar fluxos f 1, f 2,... f m tais que 0 f i c i, i=1,2,...,n em cada aresta de modo que o fluxo total roteado de um vértice-origem v i para um vértice-destino v j seja o máximo possível. Seja uma rede de comunicação de dados com n roteadores v 1, v 2,... v n interligados por m canais de comunicação a 1, a 2,... a m, cujas capacidades máximas (em pacotes por segundo) disponíveis em um dado momento sejam dadas por c 1, c 2,... c m, respectivamente. Determinar as quantidades de pacotes por segundo f 1, f 2,... f m tais que 0 f i c i, i=1,2,...,n que cada roteador deve transmitir por meio de cada canal de comunicação para que a taxa de transmissão de dados de um roteador-origem v i para um roteador-destino v j seja a máxima possível. Livro Cormen, Leiserson, Rivest & Stein, Algoritmos: Teoria e Prática, capítulo 26.

7 6. Cobertura de Conjunto (set cover) Dados m subconjuntos de um conjunto S composto de n elementos, determinar a menor quantidade de subconjuntos que cobrem todos os elementos de S. Uma empresa de assistência técnica tem contratos de manutenção cobrindo n tipos diferentes de máquinas e possui em seu quadro de funcionários m técnicos. Cada técnico tem capacitação para dar suporte a um ou mais dentre os n tipos de máquinas cobertos pela empresa. Surgiu a necessidade de se reduzir ao mínimo possível a folha de pagamento da empresa, por meio da demissão do maior número possível de técnicos. Determinar uma equipe composta pelo menor número possível de técnicos que, conjuntamente, sejam capazes de dar cobertura a todos os n tipos de máquinas cobertos pelos contratos de manutenção em vigor. Livro Cormen, Leiserson, Rivest & Stein, Algoritmos: Teoria e Prática, capítulo 35.

8 7. Empacotamento de Conjunto (set packing) Dados m subconjuntos de um conjunto S composto de n elementos, determinar a maior quantidade de subconjuntos que são disjuntos. Uma linha de produção possui n máquinas diferentes e produz m produtos diferentes. Cada produto requer a utilização de uma ou mais dentre as m máquinas disponíveis, sendo que produtos que requerem uma mesma máquina não podem ser produzidos simultaneamente. Determinar a quantidade máxima de produtos que podem ser produzidos simultaneamente.

9 8. Casamento de Sequências (string matching) Dados um alfabeto Σ composto por p caracteres (exemplos: Σ={a,b,c,...,z} para textos, Σ={0,1} para sequências binárias ou Σ={A,C,G,T} para sequências genéticas) uma sequência s composta por n caracteres do alfabeto Σ uma sequência r composta por m caracteres do alfabeto Σ, tal que m n localizar todas as subsequências de s que sejam exatamente iguais a r. Localizar todas as ocorrências de uma string de m caracteres em um texto de n caracteres. Livro Cormen, Leiserson, Rivest & Stein, Algoritmos: Teoria e Prática, capítulo 32.

10 9. Casamento Aproximado de Sequências (approximate string matching) Dados um alfabeto Σ composto por p caracteres (exemplos: Σ={a,b,c,...,z} para textos, Σ={0,1} para sequências binárias ou Σ={A,C,G,T} para sequências genéticas) uma sequência s composta por n caracteres do alfabeto Σ uma sequência r composta por m caracteres do alfabeto Σ localizar todas as subsequências de s que possuam a mínima distância de edição de r, onde o conceito de distância de edição corresponde ao número mínimo de operações elementares de inserção, substituição e remoção de caracteres que precisam ser feitas para que a subsequência original seja transformada em uma sequência exatamente igual a r. Exemplos Práticos: Dada uma palavra inexistente em um dicionário, obter uma lista das palavras existentes nesse dicionário que sejam mais parecidas com a palavra dada. Dada a sequência de m nucleotídeos de um gen específico em uma espécie animal, localizar a sequência mais parecida que existir na sequência de n nucleotídeos correspondente ao genoma humano (supõe-se que a sequência a ser encontrada no genoma humano corresponda a um gen com a mesma função do gen localizado no animal, com pequenas modificações evolutivas). Livro Cormen, Leiserson, Rivest & Stein, Algoritmos: Teoria e Prática, capítulo 32.

11 10. Compressão de Dados (data compression) Dados um alfabeto Σ composto por p caracteres (exemplos: Σ={a,b,c,...,z} para textos, Σ={0,1} para sequências binárias ou Σ={A,C,G,T} para sequências genéticas) uma sequência s composta por n caracteres do alfabeto Σ determinar uma sequência r de comprimento mínimo tal que a sequência original s possa ser recuperada a partir da sequência r. Compactar um arquivo de tamanho n, codificado em um alfabeto composto por p símbolos distintos em um arquivo de tamanho mínimo possível, que permita recuperar posteriormente o arquivo original. Livro Cormen, Leiserson, Rivest & Stein, Algoritmos: Teoria e Prática, capítulo 16.

12 11. Máxima Subsequência Comum (longest common subsequence) Dados um alfabeto Σ composto por p caracteres (exemplos: Σ={a,b,c,...,z} para textos, Σ={0,1} para sequências binárias ou Σ={A,C,G,T} para sequências genéticas) m sequências s 1, s 2,...,s m, cada uma composta por n caracteres do alfabeto Σ determinar a mais longa subsequência comum a todas as m sequências. Determinar a mais longa subsequência comum entre gens similares de diferentes espécies, visando identificar características funcionais básicas daquele gen que são comuns em todas as espécies estudadas. Livro Cormen, Leiserson, Rivest & Stein, Algoritmos: Teoria e Prática, capítulo 15.

13 12. Programação de Linha de Montagem (assembly line scheduling) Dado um grafo orientado com n vértices v 1, v 2,... v n, m arestas a 1, a 2,... a m e custos c 1, c 2,... c m associados a cada aresta, determinar o caminho de menor custo entre um vértice qualquer dentre um subconjunto de possíveis vértices-origem e um vértice qualquer dentre um subconjunto de possíveis vértices-destino. Livro Cormen, Leiserson, Rivest & Stein, Algoritmos: Teoria e Prática, capítulo 15.

14 13. Problema do Encaixotamento (bin packing problem) Dados n itens de d dimensões com medidas x i1,x i2,...,x id, pra i=1,2,...,n um número ilimitado de caixotes de d dimensões, todos do mesmo tamanho, com dimensões x o1,x o2,...,x od determinar o número mínimo de caixotes necessários para empacotar todos os n itens, juntamente com a distribuição e organização dos itens no interior dos caixotes. Acomodar n embalagens com dimensões (x 1 ; y 1 ; z 1 ), (x 2 ; y 2 ; z 2 ),..., (x n ; y n ; z n ) em containers com dimensões (x o ; y o ; z o ), utilizando o menor número possível de containers.

15 14. Problema do Caixeiro Viajante (travelling salesman problem) Dado um grafo ponderado completo, com n vértices v 1, v 2,... v n e custos c ij, para i=1,2,...,n, associados a cada aresta interligando os vértices v i e v j, encontrar um caminho fechado de custo mínimo que percorra todos os n vértices. Um braço de robô precisa soldar n pontos em uma placa de circuito impresso. As coordenadas das posições de cada ponto de solda na superfície da placa são dadas por (x 1 ; y 1 ), (x 2 ; y 2 ),..., (x n ; y n ). O braço do robô pode se mover em qualquer direção, sempre em velocidade constante. Determine a ordem em que os n pontos de solda devem ser processados para que o tempo total de soldagem da placa seja mínimo. Livro Cormen, Leiserson, Rivest & Stein, Algoritmos: Teoria e Prática, capítulo 35.

Teoria da Complexidade Computacional

Teoria da Complexidade Computacional Teoria da Complexidade Computacional Letícia Rodrigues Bueno UFABC Motivação Motivação I can t find an efficient algorithm, I guess I m just too dumb. Fonte: GAREY, M. R. e JOHNSON, D. S. Computers and

Leia mais

ALGORITMOS E ESTRUTURAS DE DADOS CES-11

ALGORITMOS E ESTRUTURAS DE DADOS CES-11 ALGORITMOS E ESTRUTURAS DE DADOS CES-11 Prof. Paulo André Castro pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac IECE - ITA OBJETIVOS GERAIS Compreensão da necessidade de uma boa

Leia mais

Algoritmos 2 - Introdução

Algoritmos 2 - Introdução DAINF - Departamento de Informática Algoritmos 2 - Introdução Prof. Alex Kutzke (http://alex.kutzke.com.br/courses) 19 de Agosto de 2015 Slides adaptados do material produzido pelo Prof. Rodrigo Minetto

Leia mais

Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade

Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade Gustavo E.A.P.A. Batista 25 de janeiro de 2005 1 Contextualização 2 Caminhos Mínimos Caminhos Mínimos de uma Origem

Leia mais

4 Casamento de Padrões

4 Casamento de Padrões 4 Casamento de Padrões O casamento de padrões é uma técnica que tem por objetivo localizar os elementos constituintes de uma seqüência em um conjunto de outras seqüências. Chamemos de padrão a seqüência

Leia mais

GRAFOS Aula 08 Árvore Geradora Mínima: Algoritmos de Kruskal e Prim-Jarnik Max Pereira

GRAFOS Aula 08 Árvore Geradora Mínima: Algoritmos de Kruskal e Prim-Jarnik Max Pereira Ciência da Computação GRAFOS Aula 08 Árvore Geradora Mínima: Algoritmos de Kruskal e Prim-Jarnik Max Pereira Árvore Geradora (spanning tree) É um subconjunto de um grafo G que possui todos os vértices

Leia mais

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra Objetivos gerais Compreensão da necessidade de uma boa estruturação das informações processadas no computador

Leia mais

2º Trabalho Prático - Algoritmos em grafos

2º Trabalho Prático - Algoritmos em grafos Page of LEIC - AEDII - 00/003 - º Semestre º Trabalho Prático - Algoritmos em grafos Introdução Conteúdo do trabalho O segundo trabalho consiste no desenvolvimento de um programa em Java de aplicação de

Leia mais

Introdução a Grafos Letícia Rodrigues Bueno

Introdução a Grafos Letícia Rodrigues Bueno Introdução a Grafos Letícia Rodrigues Bueno UFABC Teoria dos Grafos - Motivação Objetivo: aprender a resolver problemas; Como: usando grafos para modelar os problemas; Grafos: ferramenta fundamental de

Leia mais

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 21

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 21 Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 21 Três objetivos i. Redução de custos (custos variáveis) ii. iii. Redução de capital (investimento, custos fixos) Melhoria do serviço

Leia mais

Introdução. Estrutura de Dados II Prof Jairo Francisco de Souza

Introdução. Estrutura de Dados II Prof Jairo Francisco de Souza Introdução Estrutura de Dados II Prof Jairo Francisco de Souza Conteúdo Programático Parte 1 Manipulação de arquivos Ordenação, arquivos em série e sequências, classificação externa, arquivos de acesso

Leia mais

Tecnicas Essencias Greedy e Dynamic

Tecnicas Essencias Greedy e Dynamic Tecnicas Essencias Greedy e Dynamic Paul Crocker RELEASE - Reliable and Secure Computation Group Universidade da Beira Interior, Portugal October 2010 1 / 27 Outline 1 Introdução 2 Exemplo Greedy I : Interval

Leia mais

Algoritmos para Automação e Sistemas

Algoritmos para Automação e Sistemas Universidade Federal do Amazonas Departamento de Eletrônica e Computação Algoritmos para Automação e Sistemas Lucas Cordeiro lucascordeiro@ufam.edu.br Notas de Aula Estes slides estão baseados livro do

Leia mais

Teoria da Complexidade Computacional

Teoria da Complexidade Computacional Teoria da Complexidade Computacional 25 de novembro de 2011 Enquanto a teoria de análise de algoritmos estuda a análise de complexidade de algoritmos, a teoria da complexidade estuda a classificação de

Leia mais

Departamento de Engenharia de Produção UFPR 22

Departamento de Engenharia de Produção UFPR 22 Departamento de Engenharia de Produção UFPR 22 Geralmente, temos três objetivos i. Redução de custos (custos variáveis) Redução de capital (investimento, custos fixos) i Melhoria do serviço (pode conflitar

Leia mais

Otimização Combinatória - Parte 3

Otimização Combinatória - Parte 3 Graduação em Matemática Industrial Otimização Combinatória - Parte 3 Prof. Thiago Alves de Queiroz Unidade de Matemática e Tecnologia - CAC/UFG 2/2016 Thiago Queiroz (DM) Parte 3 2/2016 1 / 23 Problemas

Leia mais

Cap. 2 Conceitos Básicos em Teoria dos Grafos

Cap. 2 Conceitos Básicos em Teoria dos Grafos Teoria dos Grafos e Aplicações 8 Cap. 2 Conceitos Básicos em Teoria dos Grafos 2.1 Grafo É uma noção simples, abstrata e intuitiva, usada para representar a idéia de alguma espécie de relação entre os

Leia mais

5COP096 TeoriadaComputação

5COP096 TeoriadaComputação Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 13 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas NP-Completo Algoritmos Não-deterministas; Classes NP-Completo e NP-Dificil; Teorema

Leia mais

MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO

MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO Profa. Kathya Collazos Linares *As aulas baseiam-se no material do Professor Antonio Alfredo Ferreira Loureiro; Jorge Figueiredo e Judith Gersting Árvore

Leia mais

Problema do Caixeiro Viajante

Problema do Caixeiro Viajante Problema do Caixeiro Viajante 1 Introdução Minimizar o custo de um ciclo hamiltoniano em um grafo completo (William R. Hamilton,1857,Around The World); Solução por enumeração: R( n ) = ( n - 1 )! Um computador

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

Abordagens para Resolução de Problemas

Abordagens para Resolução de Problemas Abordagens para Resolução de Problemas UDESC - Universidade do Estado de Santa Catarina Departamento de Ciência da Computação CAL - Complexidade de Algoritmos Teodoro Alberto Borges Junior Abordagens para

Leia mais

x y Grafo Euleriano Figura 1

x y Grafo Euleriano Figura 1 Grafo Euleriano Um caminho simples ou um circuito simples é dito euleriano se ele contém todas as arestas de um grafo. Um grafo que contém um circuito euleriano é um grafo euleriano. Um grafo que não contém

Leia mais

Projeto e Análise de Algoritmos. Introdução. Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática

Projeto e Análise de Algoritmos. Introdução. Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática Projeto e Análise de Algoritmos Introdução Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática Projeto e Análise de Algoritmos Eu penso que o projeto de algoritmos eficientes

Leia mais

Estruturas de Dados 2

Estruturas de Dados 2 Estruturas de Dados 2 Técnicas de Projeto de Algoritmos Força Bruta IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/36 Técnica de Projeto de Algoritmos por Força

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 19 Paths and circuits Eulerian paths Hamiltonian paths De Bruijn sequences Knight s

Leia mais

Programação Linear/Inteira

Programação Linear/Inteira Unidade de Matemática e Tecnologia - RC/UFG Programação Linear/Inteira Prof. Thiago Alves de Queiroz Aula 7 Thiago Queiroz (IMTec) Aula 7 Aula 7 1 / 25 Problemas de Caixeiro Viajante Envolvem um conjunto

Leia mais

Programação Dinâmica. Prof. Anderson Almeida Ferreira. Adaptado do material elaborado por Andrea Iabrudi Tavares

Programação Dinâmica. Prof. Anderson Almeida Ferreira. Adaptado do material elaborado por Andrea Iabrudi Tavares Programação Dinâmica Prof. Anderson Almeida Ferreira Adaptado do material elaborado por Andrea Iabrudi Tavares Programação Dinâmica 1950, Bellman Evitar recálculos dos subproblemas em comum Menor para

Leia mais

Árvore Geradora Mínima

Árvore Geradora Mínima GRAFOS ÁRVORE GERADORA MÍNIMA Prof. André Backes Árvore Geradora Mínima Definição Uma árvore geradora (do inglês, spanning tree) é um subgrafo que contenha todos os vértices do grafo original e um conjunto

Leia mais

Estruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno

Estruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno Estruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno UFABC Estruturas de Dados para Conjuntos Disjuntos: Introdução Estruturas de Dados para Conjuntos Disjuntos: Introdução

Leia mais

Departamento de Engenharia de Produção UFPR 57

Departamento de Engenharia de Produção UFPR 57 Departamento de Engenharia de Produção UFPR 57 Introdução a Grafos Muitos problemas de otimização podem ser analisados utilizando-se uma estrutura denominada grafo ou rede. Problemas em redes aparecem

Leia mais

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Introdução a Grafos Muitos problemas de otimização podem ser analisados utilizando-se uma estrutura denominada grafo ou rede. Problemas

Leia mais

PCC104 - Projeto e Análise de Algoritmos

PCC104 - Projeto e Análise de Algoritmos PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 5 de dezembro de 2017 Marco Antonio

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2018/2019

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2018/2019 Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2018/2019 1. Unidade Orgânica Instituto de Engenharia e Tecnologias (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos

Leia mais

Programação Dinâmica. Prof. Anderson Almeida Ferreira

Programação Dinâmica. Prof. Anderson Almeida Ferreira Programação Dinâmica Prof. Anderson Almeida Ferreira Programação Dinâmica 1950, Bellman Evitar recálculos dos subproblemas em comum Menor para maior (bottom-up) Tabelas ou memorização É uma técnica de

Leia mais

Grafos Árvores Geradoras Mínimas

Grafos Árvores Geradoras Mínimas ALGORITMOS E ESTRUTURAS DE DADOS II Grafos Árvores Geradoras Mínimas Profa. Elaine Parros Machado de Sousa adaptações: Cris.na Dutra de Aguiar Ciferri Material baseado em aulas dos professores: Gustavo

Leia mais

Problemas de Busca (a.k.a NP) - parte 2

Problemas de Busca (a.k.a NP) - parte 2 Problemas de Busca (a.k.a NP) - parte 2 André Vignatti DINF- UFPR Euler e Rudrata No verão de 1735 Leonhard Euler, o famoso matemático suíço, estava andando nas pontes da cidade de Königsberg, na Prússia

Leia mais

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão Projeto e Análise de Algoritmos NP Completude Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns

Leia mais

PCC173 - Otimização em Redes

PCC173 - Otimização em Redes PCC173 - Otimização em Redes Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 31 de maio de 2017 Marco Antonio M. Carvalho

Leia mais

Algoritmos em Grafos

Algoritmos em Grafos Algoritmos em Grafos Baseado em: The Algorithm Design Manual Steven S. Skiena IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/42 Introdução (1) Um grafo G=(V,E)

Leia mais

Complexidade de Tempo e Espaço

Complexidade de Tempo e Espaço Complexidade de Tempo e Espaço Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Complexidade de Tempo e Espaço junho - 2018 1 / 43 Este material é preparado usando

Leia mais

Grafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32

Grafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32 Grafos - Introdução Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/2015 1 / 32 Conceito Definição de Grafo Formalmente, um grafo é: Um conjunto de nós/vértices (V).

Leia mais

Grafos: árvores geradoras mínimas. Graça Nunes

Grafos: árvores geradoras mínimas. Graça Nunes Grafos: árvores geradoras mínimas Graça Nunes 1 Motivação Suponha que queremos construir estradas para interligar n cidades Cada estrada direta entre as cidades i e j tem um custo associado Nem todas as

Leia mais

Complexidade computacional

Complexidade computacional Complexidade computacional Marina Andretta ICMC-USP 15 de setembro de 2015 Baseado no livro Uma introdução sucinta a Algoritmos de Aproximação, de M. H. Carvalho, M. R. Cerioli, R. Dahab, P. Feofiloff,

Leia mais

Análise e Síntese de Algoritmos.

Análise e Síntese de Algoritmos. Análise e Síntese de Algoritmos http://fenix.ist.utl.pt/leic-a/disciplinas/asa Corpo Docente Aulas Teóricas: Vasco Manquinho INESC-ID, Sala 329 Email: vasco.manquinho@inesc-id.pt Tel: 21 3100204 (INESC-ID)

Leia mais

Linguagens de Programação

Linguagens de Programação Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.

Leia mais

Algoritmos em Strings

Algoritmos em Strings Algoritmos em Strings R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes FEUP, MIEIC, CAL, 2010/2011 1 Índice Pesquisa exacta (string matching) Pesquisa aproximada (approximate string matching)

Leia mais

SCC-501 Introdução à Ciência de Computação II

SCC-501 Introdução à Ciência de Computação II SCC-501 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis 2011 João

Leia mais

Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso:

Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso: Compressão de Textos 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 O volume

Leia mais

Otimização em Grafos

Otimização em Grafos Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 35 Teoria dos Grafos - Relembrando Árvore Um grafo G é uma árvore se é conexo e não possui ciclos (acíclico).

Leia mais

APLICAÇÕES DE BUSCA EM GRAFOS

APLICAÇÕES DE BUSCA EM GRAFOS APLICAÇÕES DE BUSCA EM GRAFOS David Krenkel Rodrigues de Melo david.melo1992@gmail.com Prof. Leonardo Sommariva, Estrutura de Dados RESUMO: São inúmeras as aplicaçõe de grafos, bem como os problemas clássicos

Leia mais

Universidade Federal de Mato Grosso do Sul Estruturas de Dados e Programação. Processamento de Cadeias

Universidade Federal de Mato Grosso do Sul Estruturas de Dados e Programação. Processamento de Cadeias Universidade Federal de Mato Grosso do Sul Estruturas de Dados e Programação Processamento de Cadeias 1 Introdução Processar documentos é atualmente uma das principais funções dos computadores. São inúmeras

Leia mais

Conceitos Básicos da Teoria de Grafos

Conceitos Básicos da Teoria de Grafos Conceitos Básicos da Teoria de Grafos Universidade Federal do Pampa - UNIPAMPA Engenharia da Computação Estrutura de Dados Profª Sandra Piovesan Grafos Uma noção simples, abstrata e intuitiva. Representa

Leia mais

INTRATABILIDADE e NP-COMPLETUDE

INTRATABILIDADE e NP-COMPLETUDE INTRATABILIDADE e NP-COMPLETUDE Sandro Santos Andrade Doutorado Multiinstitucional em Ciência da Computação UFBA/UNIFACS/UEFS Junho/2008 Grafos e Análise de Algoritmos Introdução Para alguns problemas

Leia mais

Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko. Capítulo 3

Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko. Capítulo 3 Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko Capítulo 3 Árvores Problema: Suponha que numa cidade haja n postos telefônicos. Para que seja sempre possível haver comunicação

Leia mais

Projeto e Análise de Algoritmos NP Completude Parte 2. Prof. Humberto Brandão

Projeto e Análise de Algoritmos NP Completude Parte 2. Prof. Humberto Brandão Projeto e Análise de Algoritmos NP Completude Parte 2 Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas Departamento de Ciências Exatas versão da aula: 0.2 Última aula

Leia mais

Grafos: componentes fortemente conexos, árvores geradoras mínimas

Grafos: componentes fortemente conexos, árvores geradoras mínimas Grafos: componentes fortemente conexos, árvores geradoras mínimas SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina 1 Componentes fortemente conexos Um componente fortemente

Leia mais

SCC-201 Introdução à Ciência de Computação II

SCC-201 Introdução à Ciência de Computação II SCC-201 João Luís Garcia Rosa 1 Ricardo J. G. B. Campello 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br

Leia mais

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Lista de Exercícios Programação Inteira. x 2 0 e inteiros. Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + 2 y s.a x + y 2 x + y 5 x, y 0, x e y inteiros b) Max z = 2 x + y s.a x + 2y 0 x + y 25 x, y

Leia mais

Indexação e Busca. O objetivo deste trabalho é projetar e implementar um sistema de programas para indexação e busca em arquivos de texto.

Indexação e Busca. O objetivo deste trabalho é projetar e implementar um sistema de programas para indexação e busca em arquivos de texto. Universidade Federal do Espírito Santo Departamento de Informática Estruturas de Dados 2017/1 Profa. Claudine Badue Trabalho 2 1. Objetivo Indexação e Busca O objetivo deste trabalho é projetar e implementar

Leia mais

Árvores: Conceitos Básicos e Árvore Geradora

Árvores: Conceitos Básicos e Árvore Geradora Árvores: Conceitos Básicos e Árvore Geradora Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes fhcnunes@yahoo.com.br 1 Introdução No dia a dia aparecem muitos problemas envolvendo árvores:

Leia mais

Grafos. Exemplo de árvore geradora mínima. Notas. Notas. Notas. Notas. Árvores espalhadas mínimas. Como construir uma árvore geradora miníma

Grafos. Exemplo de árvore geradora mínima. Notas. Notas. Notas. Notas. Árvores espalhadas mínimas. Como construir uma árvore geradora miníma Grafos Árvores espalhadas mínimas Conteúdo Introdução Como construir uma árvore geradora miníma Algoritmos Referências Introdução Dado um grafo conectado não orientado G = (V, E) e uma função peso w :

Leia mais

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 02 Representação do Conhecimento Prof. Max Pereira Para que um computador possa solucionar um problema

Leia mais

Prototipação de Sistemas Digitais. Síntese Lógica Cristiano Araújo

Prototipação de Sistemas Digitais. Síntese Lógica Cristiano Araújo Prototipação de Sistemas Digitais Síntese Lógica Cristiano Araújo Mapeamento de Tecnologia Definição: Dada uma estrutura lógica multi-nível independente da tecnologia, uma biblioteca de células, na qual

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Apresentação da Disciplina Edirlei Soares de Lima Por que Estudar Algoritmos? Razões Práticas e Teóricas: Devemos conhecer um conjunto de algoritmos

Leia mais

Árvores de Suporte de Custo Mínimo

Árvores de Suporte de Custo Mínimo Árvores de Suporte de Custo Mínimo Pedro Ribeiro DCC/FCUP 2016/2017 Pedro Ribeiro (DCC/FCUP) Árvores de Suporte de Custo Mínimo 2016/2017 1 / 28 Árvore de Suporte Uma árvore de suporte ou árvore de extensão

Leia mais

Grafos Hamiltonianos e o Problema do Caixeiro Viajante. Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá

Grafos Hamiltonianos e o Problema do Caixeiro Viajante. Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá Grafos Hamiltonianos e o Problema do Caixeiro Viajante Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá Grafo Hamiltoniano Definição: Um circuito hamiltoniano em um

Leia mais

Tabela Hash. Disciplina de Algoritmos e Estrutura de Dados III. Prof. Marcos Antonio Schreiner 15/05/2015

Tabela Hash. Disciplina de Algoritmos e Estrutura de Dados III. Prof. Marcos Antonio Schreiner 15/05/2015 Tabela Hash Disciplina de Algoritmos e Estrutura de Dados III Prof. Marcos Antonio Schreiner 15/05/2015 Introdução Seja um conjunto de chaves armazenadas em um vetor e em uma árvore AVL. Qual a complexidade

Leia mais

GRAFOS E DIGRAFOS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

GRAFOS E DIGRAFOS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos GRAFOS E DIGRAFOS Vanessa Braganholo Estruturas de Dados e Seus Algoritmos GRAFOS Definições Representação Algoritmos Busca Inserção (arestas e vértices) Exclusão (arestas e vértices) 1 4 5 6 GRAFOS Grafos

Leia mais

Busca em Profundidade. Componentes Conexos. Grafos. Maria Adriana Vidigal de Lima. Fevereiro

Busca em Profundidade. Componentes Conexos. Grafos. Maria Adriana Vidigal de Lima. Fevereiro Fevereiro - 009 Definição de Grafo Listas de Adjacências de Técnicas da Classificação das Arestas Aplicação do de de 4 Grafo Transposto Definição de Grafo Listas de Adjacências de Exemplos de Aplicação

Leia mais

Problema do Caminho Mais Curto. Problema do Caminho Mais Curto

Problema do Caminho Mais Curto. Problema do Caminho Mais Curto Problema do Caminho Mais Curto " Podemos afectar pesos" aos arcos de um grafo, por exemplo, para representar uma distância entre cidades numa rede ferroviária: ria: Chicago 650 600 700 Toronto 200 New

Leia mais

Problemas de Fluxo em Redes

Problemas de Fluxo em Redes CAPÍTULO 7 1. Conceitos fundamentais de grafos Em muitos problemas que nos surgem, a forma mais simples de o descrever, é representá-lo em forma de grafo, uma vez que um grafo oferece uma representação

Leia mais

Teoria dos Grafos Aula 17

Teoria dos Grafos Aula 17 Teoria dos Grafos Aula 17 Aula passada Problema da soma do subconjunto (subset sum) Programação dinâmica Problema da mochila Aula de hoje Alinhamento de sequências Programação dinâmica Caminho mais curto

Leia mais

ROUTER. Alberto Felipe Friderichs Barros

ROUTER. Alberto Felipe Friderichs Barros ROUTER Alberto Felipe Friderichs Barros Router Um roteador é um dispositivo que provê a comunicação entre duas ou mais LAN s, gerencia o tráfego de uma rede local e controla o acesso aos seus dados, de

Leia mais

Algoritmos de Ordenação. Cota inferior. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

Algoritmos de Ordenação. Cota inferior. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO Algoritmos de Ordenação Cota inferior Professora: Fátima L. S. Nunes 1 1 1 Algoritmos de Ordenação Algoritmos de ordenação que já conhecemos: 2 2 2 Algoritmos de Ordenação Algoritmos de ordenação que já

Leia mais

Algoritmo de Dijkstra Estudo e Implementação

Algoritmo de Dijkstra Estudo e Implementação Teoria dos Grafos 0/0 Algoritmo de Dijkstra Estudo e Implementação Professora: Claudia Boeres Alunos: José Alexandre Macedo Maycon Maia Vitali Problema do Caminho Mínimo Qual o caminho mínimo entre um

Leia mais

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Tópicos Introdução Árvore digital Árvore digital binária

Leia mais

Algoritmos em Strings (compressão de texto)

Algoritmos em Strings (compressão de texto) Algoritmos em Strings (compressão de texto) R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes FEUP, MIEIC, CAL, 2010/2011 1 Teoria da Informação O que é? É uma ferramenta matemática para determinar

Leia mais

Busca em Profundidade. Busca em Grafos. Busca em Grafos. Busca em Grafos. Busca em Grafos. Os objetivos da busca são: Aplicações???

Busca em Profundidade. Busca em Grafos. Busca em Grafos. Busca em Grafos. Busca em Grafos. Os objetivos da busca são: Aplicações??? Teoria dos Grafos Introdução Prof. Humberto Brandão humberto@unifal-mg.edu.br aula disponível no site: http:bcc.unifal-mg.edu.br~humberto Universidade Federal de Alfenas Departamento de Ciências Exatas

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Algoritmos em Grafos Aula 2 Caminho Mínimo: Algoritmo de Bellman-Ford Prof. Humberto César Brandão de Oliveira humberto@bcc.unifal-mg.edu.br Caminho Mínimo Suponha que você

Leia mais

Estrutura de Dados. Plano de Ensino. Vilson Heck Junior. Campus Lages. Instituto Federal de Santa Catarina

Estrutura de Dados. Plano de Ensino. Vilson Heck Junior. Campus Lages. Instituto Federal de Santa Catarina Estrutura de Dados Plano de Ensino Vilson Heck Junior Instituto Federal de Santa Catarina Campus Lages Sumário 1 Sumário 2 Plano de Ensino Competências, Habilidades e Atitudes Bases Tecnológicas Instrumentos

Leia mais

Problemas de otimização

Problemas de otimização Problemas de otimização Problemas de decisão: Existe uma solução satisfazendo certa propriedade? Resultado: sim ou não Problemas de otimização: Entre todas as soluções satisfazendo determinada propriedade,

Leia mais

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes 8//6 GRAFOS BUSCAS E MENOR CAMINHO Prof. André Backes Busca em grafos Definição Consiste em explorar o grafo de uma maneira bem específica. Trata-se de um processo sistemático de como caminhar por seus

Leia mais

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Algoritmos Pontifícia Universidade Católica de Minas Gerais harison@pucpcaldas.br 26 de Maio de 2017 Sumário A complexidade no desempenho de Quando utilizamos uma máquina boa, ela tende a ter

Leia mais

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

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

Leia mais

Teoria da Computação. Complexidade computacional classes de problemas

Teoria da Computação. Complexidade computacional classes de problemas Teoria da Computação Complexidade computacional classes de problemas 1 Universo de problemas Problemas indecidíveis ou não-computáveis Não admitem algoritmos Problemas intratáveis Não admitem algoritmos

Leia mais

GRAFOS Conceitos Básicos (Parte 1)

GRAFOS Conceitos Básicos (Parte 1) ALGORITMOS E ESTRUTURAS DE DADOS II GRAFOS Conceitos Básicos (Parte 1) Gustavo Batista Profa. Elaine Parros Machado de Sousa alterações: Cris-na Dutra de Aguiar Ciferri Material baseado em aulas dos professores:

Leia mais

15 - Coloração Considere cada um dos grafos abaixo:

15 - Coloração Considere cada um dos grafos abaixo: 15 - Coloração Considere cada um dos grafos abaixo: a) Quantas cores são necessárias para colorir os vértices de um grafo de maneira que dois vértices adjacentes não recebam a mesma cor? b) Qual é o número

Leia mais

Algoritmos e Estruturas de Dados II LEIC

Algoritmos e Estruturas de Dados II LEIC Algoritmos e Estruturas de Dados II Licenciatura em Engenharia Informática e Computação www.fe.up.pt/ rcamacho/cadeiras/aed2 LIACC/FEUP Universidade do Porto rcamacho@fe.up.pt Fevereiro 2005 Conteúdo da

Leia mais

05 Grafos: ordenação topológica SCC0503 Algoritmos e Estruturas de Dados II

05 Grafos: ordenação topológica SCC0503 Algoritmos e Estruturas de Dados II 05 Grafos: ordenação topológica SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir Ponti Jr.

Leia mais

Aplicação do algoritmo de Dijkstra para o problema de roteamento da frota de táxis partindo de um ponto fixo

Aplicação do algoritmo de Dijkstra para o problema de roteamento da frota de táxis partindo de um ponto fixo Aplicação do algoritmo de Dijkstra para o problema de roteamento da frota de táxis partindo de um ponto fixo Heverton Ramos dos Santos 1 Alamir Rodrigues Rangel Jr 2 O presente artigo visa demonstrar uma

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos 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 Material baseado

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Prof. Marcelo Gonçalves Rubinstein Programa de Pós-Graduação em Engenharia Eletrônica Faculdade de Engenharia Universidade do Estado do Rio de Janeiro Ementa Introdução a Redes de

Leia mais

Escola Básica e Secundária Mouzinho da Silveira. MACS 11.º Ano Problema do Caixeiro Viajante

Escola Básica e Secundária Mouzinho da Silveira. MACS 11.º Ano Problema do Caixeiro Viajante Escola Básica e Secundária Mouzinho da Silveira MACS 11.º Ano Problema do Caixeiro Viajante Problema do Caixeiro Viajante Trata-se de um problema matemático que consiste, sendo dado um conjunto de cidades

Leia mais

Compactação de Dados. Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Seção 12.5 em diante.

Compactação de Dados. Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Seção 12.5 em diante. Compactação de Dados Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Seção 12.5 em diante. Compactação de Dados } Armazenar arquivos grandes (backup)

Leia mais

O grau de saída d + (v) de um vértice v é o número de arcos que tem

O grau de saída d + (v) de um vértice v é o número de arcos que tem Grafos Direcionados Definição (Grau de Entrada) O grau de entrada d (v) de um vértice v é o número de arcos que tem v como cabeça. Definição (Grau de Saída) O grau de saída d + (v) de um vértice v é o

Leia mais

CT-234. 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 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches Bibliografia T.H. Cormen, C.E. Leiserson and R.L. Rivest Introduction to algorithms R. Sedgewick

Leia mais

Estruturas de Dados 2

Estruturas de Dados 2 Estruturas de Dados 2 Algoritmos de Ordenação em Tempo Linear IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/38 Algoritmos de Ordenação em Tempo Linear Limite Assintótico

Leia mais

Redes. ADSA António Câmara

Redes. ADSA António Câmara Redes ADSA António Câmara Redes Método do caminho mais curto Localização de equipamentos Minimum spanning tree Carteiro chinês Caixeiro viajante Links Redes Redes são sistemas de linhas (arcos) ligando

Leia mais