Teoria dos Grafos Aula 3

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

Download "Teoria dos Grafos Aula 3"

Transcrição

1 Teoria dos Grafos Aula 3 Aula passada Exemplo (mapas) Definições Algumas propriedades Aula de hoje Representando grafos Matriz e lista Comparando tempos de acesso

2 Grafo G=(V, E) Grafo V = conjunto de vértices (inteiros) E = conjunto de arestas (pares não-ordenados) Representação matemática de grafos V = {1, 2, 3, 4, 5, 6}, Exemplo E = {(1,2), (1,5), (2,3), (2,6), (3,4), (5,4)} Representação visual de grafos

3 Representando Grafos Como representar grafos no computador? Estrutura de dados Duas estruturas fundamentais matriz lista

4 Representação via Matriz Como representar utilizando matrizes? Idéia: associar vértices às linhas e colunas da matriz elemento da matriz indica se há aresta Matriz de adjacência Matriz n x n (n é número de vértices) a ij = 1, se existe aresta entre vértices i e j a ij = 0, caso contrário.

5 Matriz de Adjacência Exemplo ? Algumas propriedades?

6 Representação via Matriz Matriz de adjacência Grafo completo? Grafo em ciclo? K 5 C

7 Matriz de Incidência Idéia: associar vértices às linhas e arestas às colunas elemento da matriz indica se aresta incide sobre o vértice Matriz de incidência Matriz n x m (n vértices, m arestas) a ij = 1, se vértice i incide sobre aresta j a ij = 0, caso contrário.

8 Matriz de Incidência Exemplo 1 e e e 1 e e 1 e 2 e 3 e e 1 e 2 e 3 e 4 e 5 e ? Algumas propriedades?

9 Custo de Memória Matriz de adjacência Matriz de incidência ex: 10 4 vértices 10 8 posições = 10 8 bytes = 100MB Considere grafos grandes e esparços grande: muitos vértices n 2 posições (1 bit) nm posições (1 bit) esparço: relativamente poucas arestas Matriz formada principalmente de zeros! Grande consumo de memória (desnecessário)! Como resolver este problema?

10 Representação via Listas Idéia: associar a cada vértice uma lista de vértices adjacentes (lista de vizinhos) Lista de adjacência Vértices associados a um vetor, dimensão n (número de vértices no grafo) Cada vértice possui uma lista de vértices adjacentes

11 Lista de Adjacência Exemplo > 2 > 3 2 > 1 > 3 3 > 1 > 2 > 4 4 > 3 Vetor de vértices Lista de vizinhos de cada vértice

12 Desvantagem Desvantagem da representação com lista? Considere grafos com muitas arestas listas de adjacência vão ser grandes (longas) Problema? Tempo de acesso! Ex. descobrir se dois vértices são vizinhos

13 Tempo de Acesso Vetor x Lista (código em Java) int n = ; Vector vec = new Vector(n); for(int i = 1; i <= n; i=i+1) vec.add((string) i); String p = vec[n-1]; int n= ; LinkedList ll = new LinkedList(); for(int i = 1; i <= n; i=i+1) ll.add((string) i); String p = ll.get(n-1); constante : não depende de n Quanto tempo para executar última linha? linear : depende linearmente de n, vezes maior! Por quê?

14 Vetor x Lista Memória do computador organizada como uma matriz 32 bits Vetor: alocação contígua em memória Lista: alocação elemento a elemento, ponteiro para próximo Capacidade: 4GB Como chegar no k-ésimo elemento? endereço do k-ésimo elemento?

15 Vetor x Lista Como chegar no k-ésimo elemento? Vetor Lista Variável vec tem o endereço base, onde começa o vetor na memória Cada elemento tem tamanho (L) Endereço do elemento k: base + (k-1)*l Constante! Variável ll tem o endereço do primeiro elemento Cada elemento tem endereço do próximo elemento Endereço do elemento k: tem que percorrer a lista! Proporcional a k!

16 Vantagens/Desvantagens Tempo de execução Matriz Lista Inserir aresta? O(1) O(1) Remover aresta? O(1) O(g max ) Testar adjacência (v 1 e v 2 são vizinhos)? Listar vizinhos de v? Descobrir vértice de maior grau? O(1) O(g max ) O(n) O(g max ) O(n 2 ) O(n g max )

17 Vetor de Adjacência Exemplo > > > > 3 Vetor de vértices Parecida com lista de adjacência Por quê? Vetor com vizinhos de cada vértice Mesma complexidade (memória e tempo) vantagens na prática

18 Matriz x Lista Qual é a estrutura mais adequada (ou mais eficiente)? Depende do algoritmo! Memória x Tempo: eficiente em que aspecto? matriz sempre utiliza mais memória (muitas vezes é inviável) matriz ou lista pode levar menos tempo Implementarão as duas!

GRAFOS Aula 03 Representações de Grafos Max Pereira

GRAFOS Aula 03 Representações de Grafos Max Pereira Ciência da Computação GRAFOS Aula 03 Representações de Grafos Max Pereira A maior vantagem de um grafo é a sua representação visual da informação. Mas para a manipulação e armazenamento em um computador,

Leia mais

Teoria dos Grafos. Aula 5 - Estruturas de Dados para Grafos. Profª. Alessandra Martins Coelho. março/2013

Teoria dos Grafos. Aula 5 - Estruturas de Dados para Grafos. Profª. Alessandra Martins Coelho. março/2013 Teoria dos Grafos Aula 5 - Estruturas de Dados para Grafos Profª. Alessandra Martins Coelho março/2013 Estrutura é o que caracteriza o próprio grafo e independe da forma como ele é representado. A representação

Leia mais

Teoria dos Grafos Aula 1 - Introdução

Teoria dos Grafos Aula 1 - Introdução Teoria dos Grafos Aula 1 - Introdução Profa. Sheila Morais de Almeida Mayara Omai Universidade Tecnológica Federal do Paraná - Ponta Grossa 2018 Sheila Almeida e Mayara Omai (UTFPR-PG) Teoria dos Grafos

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

Teoria dos Grafos. Teoria dos Grafos. Profa. Sheila Morais de Almeida DAINF-UTFPR-PG. agosto

Teoria dos Grafos. Teoria dos Grafos. Profa. Sheila Morais de Almeida DAINF-UTFPR-PG. agosto Teoria dos Grafos Introdução Profa. Sheila Morais de Almeida DAINF-UTFPR-PG agosto - 2017 O que é Grafo? Definição formal Um grafo G = (V (G), E(G)) é uma estrutura matemática que consiste de dois conjuntos:

Leia mais

Teoria dos Grafos Aula 2

Teoria dos Grafos Aula 2 Teoria dos Grafos Aula 2 Aula passada Logística, regras Objetivos Grafos, o que são? Formando pares Encontrando caminhos Aula de hoje Outro problema real Definições importantes Algumas propriedades Grafo

Leia mais

Teoria dos Grafos Aula 6

Teoria dos Grafos Aula 6 Teoria dos Grafos Aula 6 Aula passada Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Aula de hoje BFS implementação Complexidade Busca em profundidade (DFS) Conectividade, componentes

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 09: Representação de Grafos Preparado a partir do texto: Rangel, Socorro. Teoria

Leia mais

AULA 11 PROJETO E ANÁLISE DE ALGORITMOS. Conceitos básicos e representação de grafos Karina Valdivia Delgado

AULA 11 PROJETO E ANÁLISE DE ALGORITMOS. Conceitos básicos e representação de grafos Karina Valdivia Delgado AULA 11 PROJETO E ANÁLISE DE ALGORITMOS Conceitos básicos e representação de grafos Karina Valdivia Delgado Roteiro Motivação Conceitos básicos Representação Motivação Um grafo é uma abstração que permite

Leia mais

Introdução à Teoria dos Grafos

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Introdução à Teoria dos Grafos junho - 2018 1 / 38 Este material é preparado usando

Leia mais

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher TGR BCC Representação Computacional de Grafos Prof. Ricardo José Pfitscher Cronograma Representação Matriz de djacências Lista de djacências Matriz de Incidências Representação Como podemos representar

Leia mais

ALOCAÇÃO DINÂMICA DE MEMÓRIA

ALOCAÇÃO DINÂMICA DE MEMÓRIA INE5408 Estruturas de Dados Semestre 2008/1 Prof. Leandro J. Komosinski ALOCAÇÃO DINÂMICA DE Memória de Computador 1 byte = 8 bits (ex.: 00100110) 1 KB = 1024 bytes 1 MB = 1024 KB 1 GB = 1024 MB Meu computador

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Preparado a partir do texto: Rangel, Socorro. Teoria do Grafos,

Leia mais

Teoria dos Grafos Aula 2

Teoria dos Grafos Aula 2 Teoria dos Grafos Aula 2 Aula passada Logística Objetivos Grafos, o que são? Formando pares Aula de hoje Mais problemas reais Definições importantes Algumas propriedades Objetivos da Disciplina Grafos

Leia mais

O que é um jogo digital?

O que é um jogo digital? O que é um jogo digital? Programa de Computador Dados Algoritmos Para que estudar Estrutura de Dados? Para manipular os dados dos programas usamos os ALGORITMOS e para organizar os dados da melhor forma

Leia mais

Facebook. Um grafo é uma rede. Estrutura de dados fundamental em Informática, tal como listas e árvores.

Facebook. Um grafo é uma rede. Estrutura de dados fundamental em Informática, tal como listas e árvores. Grafos Introdução Grafos Introdução Fernando Lobo Algoritmos e Estrutura de Dados II Estrutura de dados fundamental em Informática, tal como listas e árvores. Há muitos algoritmos interessantes sobre grafos.

Leia mais

Algoritmo da IFT 2 / 16. Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates. Algoritmo 1 Algoritmo geral da IFT

Algoritmo da IFT 2 / 16. Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates. Algoritmo 1 Algoritmo geral da IFT Transformada Imagem-Floresta (Estrutura de dados) Prof. Dr. Paulo A. V. de Miranda Instituto de Matemática e Estatística (IME), Universidade de São Paulo (USP) pmiranda@vision.ime.usp.br 1 / 16 Algoritmo

Leia mais

Grafos Direcionados. > Grafos Direcionados Representações Computacionais 1/36

Grafos Direcionados. > Grafos Direcionados Representações Computacionais 1/36 Grafos Direcionados > Grafos Direcionados Representações Computacionais 1/36 Grafos Direcionados Em muitas aplicações, é importante ter direção nas arestas: Ruas de mão única Grafos modelando páginas da

Leia mais

Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa

Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa Aula -Grafos Uma figura vale por mil palavras A representação de dados e ou informações utilizando de recursos visuais é, em muitos casos,

Leia mais

GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações?

GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações? 8/0/06 GRAFOS Prof. André Backes Definição Como representar um conjunto de objetos e as suas relações? Diversos tipos de aplicações necessitam disso Um grafo é um modelo matemático que representa as relações

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

MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2)

MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2) MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2) Prof. João Henrique Kleinschmidt Material elaborado pelo prof. Jesús P. Mena-Chalco 3Q-2018 Sobre funções ( uma ideia ) Qual função é mais

Leia mais

Listas e matrizes esparsas Orthogonal List Representation (Listas Cruzadas) 21/10/2010

Listas e matrizes esparsas Orthogonal List Representation (Listas Cruzadas) 21/10/2010 Listas e matrizes esparsas Orthogonal List Representation (Listas Cruzadas) 1/1/1 Matriz: definição Matriz é um arranjo (tabela) retangular de números dispostos em linhas e colunas 8 9 6 1 4 7 3 3x3 B

Leia mais

Estruturas de Dados. Profº Carlos Alberto Teixeira Batista

Estruturas de Dados. Profº Carlos Alberto Teixeira Batista Estruturas de Dados Profº Carlos Alberto Teixeira Batista E-mail: carlos.batista@facape.br carlos36_batista@yahoo.com.br Lista Linear São estruturas formadas por um conjunto de dados de forma a preservar

Leia mais

Lista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35

Lista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Lista Ordenada Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Conteúdo Definição Operações Representações Contígua Encadeada Aplicação Exercícios 2

Leia mais

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA ÁRVORES E ÁRVORE BINÁRIA DE BUSCA Prof. André Backes Definição 2 Diversas aplicações necessitam que se represente um conjunto de objetos e as suas relações hierárquicas Uma árvore é uma abstração matemática

Leia mais

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 8 Grafos. Estrutura de Dados 1

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 8 Grafos. Estrutura de Dados 1 UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 8 Grafos Estrutura de Dados 1 Grafos - Motivação Muitas aplicações em computação necessitam considerar conjunto de conexões

Leia mais

MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2)

MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2) MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-2017 1 Sobre funções ( uma ideia ) 2 Qual função é mais eficiente? 3 1995 2015 4 Qual

Leia mais

Estrutura de Dados Conceitos Iniciais

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

Leia mais

Aula 08. Estruturas de dados Árvore e Grafo

Aula 08. Estruturas de dados Árvore e Grafo Logo Aula 08 Estruturas de dados Árvore e Grafo 2 Árvore Estruturas estudadas até agora não são \ adequadas para representar dados que devem ser dispostos de maneira hierárquica Ex., hierarquia de pastas

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação CP41F Aula 11 Prof. Daniel Cavalcanti Jeronymo Vetores (arrays). Vetores de caracteres (strings). Busca em vetores. Matrizes (arrays bidimensionais e multidimensionais). Universidade

Leia mais

Grafos - Motivação. Grafos - Motivação. Algoritmos e Estruturas de Dados II Introdução a Grafos

Grafos - Motivação. Grafos - Motivação. Algoritmos e Estruturas de Dados II Introdução a Grafos Algoritmos e Estruturas de Dados II Introdução a Profa. M. Cristina/ Profa. Rosane (2010) Material de aula original: Profa. Josiane M. Bueno - Motivação : conceito introduzido por Euler, em 1736 Problema

Leia mais

Melhores momentos AULA 4

Melhores momentos AULA 4 Melhores momentos AULA 4 Procurando um caminho Problema: dados um digrafo G e dois vértices s e t decidir se existe um caminho de s a t Exemplo: para s = 0 e t = 1 a resposta é SIM 2 1 0 4 3 5 Procurando

Leia mais

AULA 4. Procurando um caminho. Melhores momentos. Certicados. Certicado de inexistência

AULA 4. Procurando um caminho. Melhores momentos. Certicados. Certicado de inexistência Melhores momentos Procurando um caminho Problema: dados um digrafo G e dois vértices s e t decidir se existe um caminho de s a t Exemplo: para s = e t = a resposta é SIM AULA 3 Procurando um caminho Certicados

Leia mais

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 10: Introdução aos Grafos

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 10: Introdução aos Grafos Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 10: Introdução aos Grafos História O assunto que se constitui no marco inicial da teoria de grafos é na realidade um problema algorítmico.

Leia mais

Teoria dos Grafos Aula 24

Teoria dos Grafos Aula 24 Teoria dos Grafos Aula 24 Aula passada Caminho mais curto entre todos os pares Algortimo de Floyd Warshall Programação dinâmica Aula de hoje Caminho mais curto em grafos Algoritmo de Bellman Ford Algoritmo

Leia mais

Aula 14. Aula de hoje. Aula passada

Aula 14. Aula de hoje. Aula passada Aula 14 Aula passada Autovalores, autovetores, decomposição Convergência para estacionaridade Tempo de mistura Spectral gap Tempo de mistura de passeios aleatórios Aula de hoje Caminho amostral Teorema

Leia mais

Aula 02: Custos de um algoritmo e funções de complexidade

Aula 02: Custos de um algoritmo e funções de complexidade MCTA028 Programação Estruturada Aula 02: Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-20106 1 Linguagem C: Tipos de dados 2 Linguagem C: Tipos

Leia mais

Aplicações de listas Outras estruturas

Aplicações de listas Outras estruturas Aplicações de listas Outras estruturas SCC-22 Algoritmos e Estruturas de Dados I Lucas Antiqueira Grandes números 2 Grandes números Problema: lidar com números muito grandes Em C, inteiros (mesmo long

Leia mais

Prof. Marco Antonio M. Carvalho

Prof. Marco Antonio M. Carvalho Prof. Marco Antonio M. Carvalho Lembretes! Lista de discussão! Endereço:! programaacao@googlegroups.com! Solicitem acesso:! http://groups.google.com/group/programaacao! Página com material dos treinamentos!

Leia mais

BCC Introdu c ao ` a Programa c ao I Ponteiros Guillermo C amara-ch avez UFOP 1/54

BCC Introdu c ao ` a Programa c ao I Ponteiros Guillermo C amara-ch avez UFOP 1/54 BCC 201 - Introdução à Programação I Ponteiros Guillermo Cámara-Chávez UFOP 1/54 Ponteiros... I i n t main ( ) { i n t x ; x = 10 cout

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

Algoritmos e Estrutura de Dados. Aula 05 Estrutura de Dados: Listas (Parte II) Prof. Tiago A. E. Ferreira

Algoritmos e Estrutura de Dados. Aula 05 Estrutura de Dados: Listas (Parte II) Prof. Tiago A. E. Ferreira Algoritmos e Estrutura de Dados Aula 05 Estrutura de Dados: Listas (Parte II) Prof. Tiago A. E. Ferreira Listas Seqüenciais Estática Seqüencial É implementada usando um vetor Deve-se determinar qual a

Leia mais

IFRN. Introdução à Teoria dos Grafos. Prof. Edmilson Campos

IFRN. Introdução à Teoria dos Grafos. Prof. Edmilson Campos IFRN Introdução à Teoria dos Grafos Prof. Edmilson Campos Conteúdo Histórico Aplicações Definições Grafo Dígrafo Ordem, adjacência e grau Laço Tipos de grafos Representação de Grafos Matriz de adjacências

Leia mais

Teoria dos Grafos Aula 8

Teoria dos Grafos Aula 8 Teoria dos Grafos Aula 8 Aula passada Classe de funções e notação Propriedades da notação Funções usuais Aula de hoje Grafos direcionados Busca em grafos direcionados Ordenação topológica Tempo de execução

Leia mais

GRAFOS E ALGORITMOS TEORIA DE GRAFOS

GRAFOS E ALGORITMOS TEORIA DE GRAFOS GRAFOS E ALGORITMOS TEORIA DE GRAFOS 1a. PARTE Prof. Ronaldo R. Goldschmidt rribeiro@univercidade.br ronaldo_goldschmidt@yahoo.com.br ROTEIRO 1. INTRODUÇÃO E MOTIVAÇÃO 2. FUNDAMENTOS 3. CONECTIVIDADE 4.

Leia mais

Teoria dos Grafos Aula 14

Teoria dos Grafos Aula 14 Teoria dos Grafos Aula 14 Aula passada MST Aula de hoje Construção de algoritmos Paradigma guloso Escalonando tarefas no tempo (interval scheduling) Projetando Algoritmos Dado um problema P, como projetar

Leia mais

Estruturas de dados para listas arrays e listas ligadas

Estruturas de dados para listas arrays e listas ligadas Estruturas de dados para listas arrays e listas ligadas Fernando Lobo Algoritmos e Estrutura de Dados Algumas figuras retiradas do livro Introduction to Algorithms, 3rd Edition. 1 / 29 Listas Uma lista

Leia mais

MCTA001 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros e estruturas

MCTA001 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros e estruturas MCTA001 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros e estruturas Prof. Jesús P. Mena-Chalco 1Q-2019 1 Mapa de memória de um processo 2 Alocação de memória: estática VS Dinâmica Na execução, um

Leia mais

Aplicações de listas e outras estruturas

Aplicações de listas e outras estruturas 19/1/11 Aplicações de listas e outras estruturas SCC- Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Grandes números Problema: lidar com números muito grandes Em C, inteiros (mesmo long int)

Leia mais

ESTRUTURA DE DADOS I AULA I

ESTRUTURA DE DADOS I AULA I ESTRUTURA DE DADOS I AULA I PROF. ME. HÉLIO ESPERIDIÃO O que é um dado? Dado pode ser definido como a matéria-prima originalmente obtida de uma ou mais fontes (etapa de coleta). o que é a informação A

Leia mais

Algoritmos Probabilísticos

Algoritmos Probabilísticos Algoritmos Probabilísticos Gilson Evandro Fortunato Dias Orientador: José Coelho de Pina Universidade de São Paulo Instituto de Matemática e Estatística Departamento de Ciência da Computação MAC0499 p.

Leia mais

Estrutura de Dados Conceitos Iniciais

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

Leia mais

MC-102 Aula 19 Ponteiros II

MC-102 Aula 19 Ponteiros II MC-102 Aula 19 Ponteiros II Instituto de Computação Unicamp 20 de Outubro de 2016 Roteiro 1 Ponteiros e Alocação Dinâmica 2 Exemplo de Alocação Dinâmica de Vetores 3 Erros Comuns ao Usar Alocação Dinâmica

Leia mais

MCTA028 Programação Estruturada Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1)

MCTA028 Programação Estruturada Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1) MCTA028 Programação Estruturada Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-2017 1 Mapa de memória de um processo 2 Alocação de

Leia mais

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Edson Prestes Edson Prestes Introdução Grafo Estrela Um grafo estrela é um grafo bipartido de n vértices que possui um conjunto independente com um único vértice e o outro com n-1 vértices Quantos grafos estrelas podemos

Leia mais

ESTRUTURA DE DADOS LISTAS LINEARES

ESTRUTURA DE DADOS LISTAS LINEARES ESTRUTURA DE DADOS LISTAS LINEARES Prof. Dr. Daniel Caetano 2014-2 Objetivos Compreender as listas sequenciais Implementar uma Lista Sequencial com Vetor Compreender o uso de listas sequenciais Material

Leia mais

Alocação Dinâmica de Memória. Programação II

Alocação Dinâmica de Memória. Programação II Alocação Dinâmica de Memória Programação II Alocação dinâmica Uso da memória Uso de variáveis globais (e estáticas): Espaço reservado para uma variável global existe enquanto o programa estiver sendo executado.

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

Estrutura de Dados Listas

Estrutura de Dados Listas Universidade Federal da Paraíba Centro de Informática Departamento de Informática Estrutura de Dados Listas 1 Tiago Maritan tiago@ci.ufpb.br Conteúdos Abordados O Conceito de Listas Listas com Representação

Leia mais

ESTRUTURA DE DADOS VETORES E LISTAS LINEARES

ESTRUTURA DE DADOS VETORES E LISTAS LINEARES ESTRUTURA DE DADOS VETORES E LISTAS LINEARES Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer os vetores Compreender as Listas Sequenciais Implementar uma Lista Sequencial com Vetor GRUPOS? Até o fim

Leia mais

Melhores momentos AULA 1

Melhores momentos AULA 1 Melhores momentos AULA Digrafos digrafo = de vértices e conjunto de arcos arco = par ordenado de vértices Exemplo: v e w são vértices e v-w é um arco b d a f c e Especicação Digrafos podem ser especicados

Leia mais

SISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios Parte 2

SISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios Parte 2 SISTEMAS OPERACIONAIS INF09344 - Sistemas Operacionais / INF02780 - Sistemas Operacionais / INF02828 - Sistemas de Programação II Prof a. Roberta Lima Gomes (soufes@gmail.com) 2ª. Lista de Exercícios Parte

Leia mais

Aplicações de listas e outras estruturas

Aplicações de listas e outras estruturas plicações de listas e outras estruturas Baseado no material de Thiago. S. Pardo lgoritmos e Estruturas de Dados I Problema: lidar com números muito grandes Em C, inteiros (mesmo long int) são limitados

Leia mais

Estruturas de Dados I

Estruturas de Dados I Estruturas de Dados I Rodrigo Porfírio da Silva Sacchi rodrigosacchi@ufgd.edu.br 3410-2075 Aula 6: Listas Encadeadas e Alocação Dinâmica Listas Encadeadas e Alocação Dinâmica Alocação Seqüencial versus

Leia mais

TABELAS DE DISPERSÃO/HASH

TABELAS DE DISPERSÃO/HASH 1/47 TABELAS DE DISPERSÃO/HASH Introdução 2/47 Introdução Motivação - Considerar o problema de pesquisar um determinado valor num vetor: - Se o vetor não está ordenado, a pesquisa requer O(n) de complexidade

Leia mais

Melhores momentos AULA 4

Melhores momentos AULA 4 Melhores momentos AULA Procurando um caminho Problema: dados um digrafo G e dois vértices s e t decidir se existe um caminho de s a t Exemplo: para s = 0 e t = 1 a resposta é SIM 1 0 3 5 Procurando um

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

Representações de Grafos

Representações de Grafos Representações de Grafos Teoria dos Grafos 1 É possível diversas representações dos grafos. Vamos estudar as três utilizadas mais comumente: as matrizes de adjacência, as listas de adjacência e as multilistas

Leia mais

Prof. Jesus José de Oliveira Neto

Prof. Jesus José de Oliveira Neto Prof. Jesus José de Oliveira Neto Encapsulam a representação dos dados e as operações que podem ser realizadas sobre eles Usuário do TAD vs. programador do TAD Usuário só enxerga a interface, não a implementação

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

Medida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP

Medida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo estudo

Leia mais

Roteiro para Laboratório - GRAFOS

Roteiro para Laboratório - GRAFOS Universidade Federal de Uberlândia Algoritmos e Programação - GGI Roteiro para Laboratório - GRAFOS PARTE 1 - Grafos - Implementação de uma matriz de adjacências (simples) para um grafo não direcionado.

Leia mais

Grupo 2 - Implementação de uma Classe Simples

Grupo 2 - Implementação de uma Classe Simples Estruturas de Dados 2017/2018 Época Normal (15 de Junho de 2018) Versão A Duração: 2h30m + 30m Número mecanográco: Nome completo do estudante: Grupo 1 - Fundamentos de Java 1.1. Escreva pequenos excertos

Leia mais

Aplicações de listas e outras estruturas. SCC-502 Algoritmos e Estruturas de Dados I

Aplicações de listas e outras estruturas. SCC-502 Algoritmos e Estruturas de Dados I Aplicações de listas e outras estruturas SCC-52 Algoritmos e Estruturas de Dados I Grandes números Problema: lidar com números muito grandes Em C, inteiros (mesmo long int) são limitados Como somar números

Leia mais

Teoria dos Grafos Aula 22

Teoria dos Grafos Aula 22 Teoria dos Grafos Aula 22 Aula passada Caminho mais curto entre todos os pares Algoritmo de Floyd Warshall Programação dinâmica Aula de hoje Caminho mais curto Algoritmo de Bellman Ford Melhorias Caminho

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

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os

Leia mais

Cálculo Numérico. Aula 8 Sistemas de Equações Lineares / Parte /04/2014. Prof. Guilherme Amorim*

Cálculo Numérico. Aula 8 Sistemas de Equações Lineares / Parte /04/2014. Prof. Guilherme Amorim* Cálculo Numérico Aula 8 Sistemas de Equações Lineares / Parte 1 2014.1-29/04/2014 Prof. Guilherme Amorim* gbca@cin.ufpe.br * Com algumas modificações pelo Prof. Sergio Queiroz Perguntas... O que é um sistema

Leia mais

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados TÉCNICAS DE PROGRAMAÇÃO Estrutura de dados O que são estrutura de dados? É a forma como os armazenamos tipos de dados, vistos dia a dia, ou seja, nada mais são do que a transformação de uma forma de armazenamento

Leia mais

Matrizes esparsas: definição

Matrizes esparsas: definição Matrizes esparsas: definição o objetivo é mostrar os métodos de armazenamento e manipulação de matrizes esparsas esparsidade de uma matriz é a relação entre o número de elementos nulos de uma matriz e

Leia mais

Lista de Exercícios sobre Listas Implementadas por Encadeamento

Lista de Exercícios sobre Listas Implementadas por Encadeamento Lista de Exercícios sobre Listas Implementadas por Encadeamento 1) Se você tem de escolher entre uma representação por lista encadeada ou uma representação usando posições contíguas de memória para um

Leia mais

Alg l ori r t i m t os e E str t u r tu t ra r s d e D ados I I Intr t o r duçã ç o ã a a Gr G a r f a o f s P of o a. M. C r C ist s ina n a /

Alg l ori r t i m t os e E str t u r tu t ra r s d e D ados I I Intr t o r duçã ç o ã a a Gr G a r f a o f s P of o a. M. C r C ist s ina n a / Algoritmos e Estruturas de Dados II Introdução a Grafos Profa. M. Cristina / Profa. Rosane (2012) Baseado no material de aula original: Profª. Josiane M. Bueno Divisão do arquivo 1ª parte: Motivação Definição:

Leia mais

Grafos tipo abstrato de dados

Grafos tipo abstrato de dados Algoritmos e Estruturas de Dados II Grafos tipo abstrato de dados Thiago A. S. Pardo Profa. M. Cristina Material de aula da Profa. Josiane M. Bueno 1 Tipo Abstrato de Dados Última aula: TAD grafo? 2 Tipo

Leia mais

SCC Laboratório de Algoritmos Avançados. Multigrafos: Caminhos Mínimos. Multigrafos e Multidígrafos. Multigrafos e Multidígrafos

SCC Laboratório de Algoritmos Avançados. Multigrafos: Caminhos Mínimos. Multigrafos e Multidígrafos. Multigrafos e Multidígrafos SCC- - Laboratório de Algoritmos Avançados Multigrafos: Caminhos Mínimos Gustavo Batista Multigrafos e Multidígrafos Multigrafos e multidígrafos são grafos que permitem arestas paralelas: Multigrafo: não-orientado;

Leia mais

Algoritmos e Estruturas de Dados II Introdução a Grafos. Divisão do arquivo

Algoritmos e Estruturas de Dados II Introdução a Grafos. Divisão do arquivo Algoritmos e Estruturas de Dados II Introdução a Profa. M. Cristina / Profa. Rosane (2010/11) Baseado no material de aula original: Profª. Josiane M. Bueno Divisão do arquivo 1ª parte: Motivação Definição:

Leia mais

Circuitos Hamiltorianos

Circuitos Hamiltorianos Circuitos Hamiltorianos Vimos que o teorema de euler resolve o problema de caracterizar grafos que tenham um circuito em que cada aresta apareça exatamente uma vez. Vamos estudar aqui uma questão relacionada.

Leia mais

Algoritmos e Estruturas de dados

Algoritmos e Estruturas de dados Algoritmos e Estruturas de dados Listas Encadeadas - continuação Prof. Dr. Fábio Rodrigues de la Rocha (Listas Encadeadas - continuação) 1 / 10 Listas encadeadas com indicadores de inicio e fim Anteriormente

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 / 33 Definição do Problema Dado: um grafo ponderado G = (V, E), orientado ou não, onde d : E R + define as distâncias

Leia mais

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Edson Prestes Edson Prestes Introdução Representação Mostre que todo passeio de u até v contém um caminho de u até v. Considere um passeio de comprimento l de u até v. Se l = 0 então temos um passeio sem nenhuma aresta.

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 08: Listas (Parte 1) ASN Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Material elaborado com base nos slides do Prof. Reinaldo Fortes (curso

Leia mais

Comunicação e redes. Aula 2: Teoria dos Grafos Conceitos básicos. Professor: Guilherme Oliveira Mota.

Comunicação e redes. Aula 2: Teoria dos Grafos Conceitos básicos. Professor: Guilherme Oliveira Mota. Comunicação e redes Aula 2: Teoria dos Grafos Conceitos básicos Professor: Guilherme Oliveira Mota g.mota@ufabc.edu.br Aula passada Redes complexas Grafo G: Conjunto de pontos e linhas ligando esses pontos

Leia mais

Na última aula... Procurando um caminho. Certificados. Procurando um caminho

Na última aula... Procurando um caminho. Certificados. Procurando um caminho Procurando um caminho Problema: dados um digrafo G e dois vértices s e t decidir se existe um caminho de s a t Na última aula... Exemplo: para s = e t = a resposta é SIM Algoritmos em Grafos º sem / Procurando

Leia mais

Aula 2 Definições, Conceitos Básicos e Representação Interna de Grafos. Teoria dos Grafos Prof.

Aula 2 Definições, Conceitos Básicos e Representação Interna de Grafos. Teoria dos Grafos Prof. Teoria dos Grafos Aula 2 Definições, Conceitos Básicos e Representação Interna de Grafos Jorge Figueiredo Aula 2-1 Definições Dois tipos de elementos: Vértices ou nós. Arestas. v3 v1 v2 v4 v5 v6 Jorge

Leia mais

Teoria dos Grafos Aula 23

Teoria dos Grafos Aula 23 Teoria dos Grafos Aula 23 Aula passada Apresentação de trabalhos Discussão da prova Subset sum Problema da mochila Aula de hoje Caminho mais curto entre todos os pares Algortimo de Floyd Warshall Programação

Leia mais

Matemática Discreta 10

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

Leia mais

Programação II. Aula 1

Programação II. Aula 1 Programação II Aula 1 Ponteiros Variáveis Variáveis estáticas Variáveis dinâmicas Podem ser criadas e destruídas durante a execução de um programa. Declaração -> Indireta Vinculação -> Por meio de ponteiros

Leia mais

3. Conteúdo de um vértice v é conteúdo dos filhos de v.

3. Conteúdo de um vértice v é conteúdo dos filhos de v. Árvore Hierárquica Em inglês é chamada de Heap. Representar: conjunto C de elementos com relação. Operações: Ins x,c (inserir x em C e ExMax C (extrair o máximo do conjunto). Chamado também de Fila de

Leia mais

Vetores e matrizes. MCTA028 Programação Estruturada. Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti

Vetores e matrizes. MCTA028 Programação Estruturada. Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti 1 MCTA28 Programação Estruturada Vetores e matrizes Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti Luiz Rozante 3Q-218 Armazenar 1 inteiros em um programa... Usando

Leia mais

Estruturas de Dados. Professora: Luciana Faria 2º EAC

Estruturas de Dados. Professora: Luciana Faria 2º EAC Estruturas de Dados Professora: Luciana Faria 2º EAC Conceitos Estruturas de Dados estáticas e dinâmicas Um computador é uma máquina de processar dados. Para que isso ocorra da forma mais otimizada, é

Leia mais