Algoritmo nlog n Unidirecional (Peterson, 82)

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

Download "Algoritmo nlog n Unidirecional (Peterson, 82)"

Transcrição

1 Algoritmo nlog n Unidirecional (Peterson, 82) tid = UID; while (1) { send(tid); receive(ntid); if (ntid == UID) elected; if (tid > ntid) send(tid); else send(ntid); receive(nntid); if (nntid == UID) elected; if (ntid max(tid, nntid)) tid = ntid; else goto relay; } relay: while (1) { receive(tid); if (tid == UID) elected; send(tid); } Eleicao.fm 13

2 Correção: Algoritmo nlog n Unidirecional (Peterson, 82) em cada fase, apenas um processo tem tid = UID max apenas o processo com UID max consegue receber o seu tid de volta. para cada processo, tid é igual ao do vizinho mais próximo, ou não está mais sendo propagado; apenas o mais alto consegue passar Complexidade de tempo processo sobrevive se processo ativo à sua esquerda não sobrevive. Se há m processos ativos em uma fase, ceiling(m/2) sobrevivem. Então, número de fases até chegar ao final é ceiling(log n) Complexidade de mensagens durante uma fasse, cada processo envia e recebe duas mensagens (menos a última fase). Número de mensagens é 2n logn + n Eleicao.fm 14

3 Algoritmo nlog n Unidirecional (Peterson, 82) Versão melhorada: tid = UID; while (1) { // compara com a esquerda, fase A send(tid); receive(ntid); if (ntid == UID) elected; if (tid > ntid) goto relay; // compara com a direita, fase B send(tid); receive(ntid); if (ntid == UID) elected; if (ntid < tid) goto relay; else id = ntid; } relay: while (1) { receive(ntid); if (ntid == UID) elected; send(ntid); } An O(nlogn) unidirectional algorithm for the circular extrema Problem. G. Peterson, TOPLAS, outubro, 1982 Eleicao.fm 15

4 O problema: Eleição de líder em uma rede geral Considere sistema G com de n vértices, com arestas direcionadas, em uma rede de forma geral. A B F C E D Premissa: processos têm identificadores únicos, que podem ser comparados. processos conhecem o diâmetro da rede. Requisito: eventualmente (em algum ponto no futuro) apenas um processo se declara líder. Eleicao.fm 16

5 Um algoritmo simples para eleição de líder em rede geral Algoritmo Inundação (informal): Cada processo mantém o máximo identificador que conhece até o momento. A cada turno, um processo propaga esse máximo para todas as suas conexões de saída. Após um número de turnos igual ao diâmetro da rede: processo cujo máximo identificador conhecido é o seu próprio identificador se declara líder outros processos se declaram não líderes O algoritmo é correto? Uma propriedade que deve ser provada por indução: Seja imax o vértice que vai ganhar a eleição, e umax o identificador do vértice imax (o de maior identificador entre todos os vértices). Para todo turno t entre 0 e diâmetro, e para todo vértice j, se a distância entre o vértice imax e j é menor do que t, então o máximo valor conhecido por j é umax. Eleicao.fm 18

6 Variáveis: Para cada i, Algoritmo Inundação u = um uid, inicialmente o proprio uid de i max-uid = um uid, inicialmente o próprio uid de i status = {desconhecido, líder, não-lider}, inicialmente desconhecido turnos = um inteiro, inicialmente 0 Código: A cada turno, processo i executa: if turnos < diâmetro then send max-uid to todo processo com o qual i tem conexão de saída turnos := turnos + 1; recebe todas as mensagens com identificadores; max-uid := máximo(max-uid, todos os identificadores recebidos); if turnos = diâmetro then if max-uid = u: then status := líder else status := não-líder Eleicao.fm 19

7 Análise do custo computacional Número total de mensagens enviadas: diâmetro número de arestas da rede Tempo total para eleger o líder: diâmetro turnos Note que o algoritmo inundação também funciona no caso de conhecermos apenas um limite superior para o diâmetro da rede. É possível otimizar??? Eleicao.fm 20

8 Variáveis: Para cada i, Algoritmo Inundação Otimizada u = um uid, inicialmente o proprio uid de i max-uid = um uid, inicialmente o próprio uid de i status = {desconhecido, líder, não-lider}, inicialmente desconhecido turnos = um inteiro, inicialmente 0 nova-info = valor booleano, inicialmente verdadeiro Código: A cada turno, processo i executa: if turnos < diâmetro and nova-info then send max-uid to todo processo com o qual i tem conexão de saída turnos := turnos + 1; recebe todas as mensagens com identificadores; if (algum UID recebido > max-uid) then nova-info := verdadeiro else nova-info := falso max-uid := máximo(max-uid, todos os identificadores recebidos); if turnos = diâmetro then if max-uid = u: then status := líder else status := não-líder Eleicao.fm 21

9 Correção e Análise do custo computacional É fácil ver que a correção se mantém (mas é preciso provar...) Número total de mensagens enviadas é reduzido no caso médio: menor do que (diâmetro número de arestas da rede) quantificação é difícil, depende da topologia da rede Tempo total para eleger o líder: diâmetro turnos É possível otimizar um pouco mais??? Eleicao.fm 22

Sistemas Distribuídos: Conceitos e Projeto Eleição de Coordenador

Sistemas Distribuídos: Conceitos e Projeto Eleição de Coordenador Sistemas Distribuídos: Conceitos e Projeto Eleição de Coordenador Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br

Leia mais

Ciência de Computadores Sistemas Distribuídos e Móveis

Ciência de Computadores Sistemas Distribuídos e Móveis Ciência de Computadores Sistemas Distribuídos e Móveis Lista de Exercícios Data: 4 de Novembro de 2013 Questões sobre o capítulo 1, Tanenbaum & van Steen: Fundamentos 1) Explique o significado de transparência,

Leia mais

IES-300. Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br

IES-300. Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br IES-300 Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br Teste de Caixa Branca 2 Teste de Componentes: Caixa Branca Teste de Caixa Branca Grafo de Fluxo de

Leia mais

Técnicas de Teste de Software

Técnicas de Teste de Software Técnicas de Teste de Software Fabrício Sousa fabricio@uesb.br Projeto de Caso de Teste Conjunto de técnicas para criação de casos de testes Série de casos de testes que tem grande probabilidade de encontrar

Leia mais

Packet Tracer 4.0: Overview Session. Conceitos e práticas

Packet Tracer 4.0: Overview Session. Conceitos e práticas Packet Tracer 4.0: Overview Session Conceitos e práticas Processo de Flooding ou Inundação envia informações por todas as portas, exceto aquela em que as informações foram recebidas; Cada roteador link-state

Leia mais

Sistemas Paralelos e Distribuídos. Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN

Sistemas Paralelos e Distribuídos. Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN Sistemas Paralelos e Distribuídos Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN Conceitos preliminares Paralelismo refere-se a ocorrência simultânea de eventos em um computador Processamento

Leia mais

Definição São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar

Definição São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar Redes Peer- Redes Peer- (P2P) São sistemas distribuídos nos quais os membros da rede são equivalentes em funcionalidade Permitem que os pares compartilhem recursos diretamente, sem envolver intermediários

Leia mais

Exclusão Mútua e Eleição

Exclusão Mútua e Eleição Exclusão Mútua e Eleição Prof. Raul Ceretta Nunes Curso de Ciência da Comutação ELC1018 - Sistemas Distribuídos 1 Algoritmo Centralizado a) Processo 1 solicita ermissão ao coordenador ara entrar na região

Leia mais

A Camada de Rede. A Camada de Rede

A Camada de Rede. A Camada de Rede Revisão Parte 5 2011 Modelo de Referência TCP/IP Camada de Aplicação Camada de Transporte Camada de Rede Camada de Enlace de Dados Camada de Física Funções Principais 1. Prestar serviços à Camada de Transporte.

Leia mais

Árvores Binárias e Busca. Jeane Melo

Árvores Binárias e Busca. Jeane Melo Árvores Binárias e Busca Jeane Melo Roteiro Parte 1 Árvores Relação hierárquica Definição Formal Terminologia Caminhamento em Árvores Binárias Exemplos Parte 2 Busca seqüencial Busca Binária Grafos Conjunto

Leia mais

Definição São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar

Definição São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar Redes Peer-to-Peer Redes Peer-to to-peer Arquitetura de Redes P2P Integridade e Proteção Redes Peer-to-Peer (P2P) São sistemas distribuídos nos quais os membros da rede são equivalentes em funcionalidade

Leia mais

Redes de Computadores I Conceitos Básicos

Redes de Computadores I Conceitos Básicos Redes de Computadores I Conceitos Básicos (11 a. Semana de Aula) Prof. Luís Rodrigo lrodrigo@lncc.br http://lrodrigo.lncc.br 2011.02 v1 2011.11.03 (baseado no material de Jim Kurose e outros) Algoritmos

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Camada de Rede Roteamento IP RIP OSPF e BGP Slide 1 Roteamento Determinar o melhor caminho a ser tomado da origem até o destino. Se utiliza do endereço de destino para determinar

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

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

CAMADA DE REDES. Fabrício de Sousa Pinto

CAMADA DE REDES. Fabrício de Sousa Pinto CAMADA DE REDES Fabrício de Sousa Pinto Introdução 2 Está relacionada a transferência de pacotes da origem para o destino. Pode passar por vários roteadores ao longo do percurso Transmissão fim a fim Para

Leia mais

Teoria de Redes e o papel dos bancos no mercado interbancário Brasileiro

Teoria de Redes e o papel dos bancos no mercado interbancário Brasileiro Teoria de Redes e o papel dos bancos no mercado interbancário Brasileiro Daniel Oliveira Cajueiro and Benjamin Miranda Tabak Universidade Católica de Brasília Banco Central do Brasil 7 de maio de 2007

Leia mais

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Introdução Processo cooperativo é aquele que pode afetar outros processos em execução no sistema Ou ser por eles afetado Processos

Leia mais

Classificação e Pesquisa de Dados

Classificação e Pesquisa de Dados Classificação e Pesquisa de Dados Aula 20 Árvores B e B+ B-Trees (Árvores B) [Bayer & McCreight 1970] UFRGS INF01124 B-Trees (Árvores B) Árvores de pesquisa balanceadas, projetadas para minimizar o tempo

Leia mais

Pesquisa em Memória Primária. Prof. Jonas Potros

Pesquisa em Memória Primária. Prof. Jonas Potros Pesquisa em Memória Primária Prof. Jonas Potros Pesquisa em Memoria Primária Estudo de como recuperar informação a partir de uma grande massa de informação previamente armazenada. A informação é dividida

Leia mais

ALGORITMOS DISTRIBUÍDOS Algoritmos de eleição

ALGORITMOS DISTRIBUÍDOS Algoritmos de eleição ALGORITMOS DISTRIBUÍDOS Algoritmos de eleição Sistemas Distribuídos 251 Em sistemas distribuídos, diversos algoritmos necessitam que um processo funcione como, inicializador, sequenciador, enfim, ter um

Leia mais

MC714 - Sistemas Distribuídos. Leandro Villas

MC714 - Sistemas Distribuídos. Leandro Villas MC714 - Sistemas Distribuídos Aula de Hoje Aula Passada Relógios Lógicos Relógios de Lamport Relógios Vetoriais Aula de Hoje Exclusão Mútua Algoritmos de Eleição Exclusão mútua Questão fundamental em SDs

Leia mais

Geometria Computacional: Fecho convexo

Geometria Computacional: Fecho convexo Geometria Computacional: INF2604 Geometria Computacional Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC O que é uma região convexa? Uma região é convexa se para qualquer par de pontos dessa região,

Leia mais

Pesquisa: operação elementar

Pesquisa: operação elementar Pesquisa: operação elementar uma das operações mais usadas em programação pesquisas em: vectores, matrizes, tabelas de registos, ficheiros, tipos de dados estruturados (hierarquicos),... necessidade de

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

DEMANDA GT METODOLOGIA PARA QUANTIFICAÇÃO DE RISCOS E DEFINIÇÃO DE CONTINGENCIAMENTOS EM CONTRATOS DE OBRAS

DEMANDA GT METODOLOGIA PARA QUANTIFICAÇÃO DE RISCOS E DEFINIÇÃO DE CONTINGENCIAMENTOS EM CONTRATOS DE OBRAS DEMANDA GT METODOLOGIA PARA QUANTIFICAÇÃO DE RISCOS E DEFINIÇÃO DE CONTINGENCIAMENTOS EM CONTRATOS DE OBRAS OBJETIVOS Reduzir as incertezas nas definição e quantificação de riscos associados a implantação

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Aula 3 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Processos Um processo

Leia mais

Elementos básicos das linguagens de programação

Elementos básicos das linguagens de programação Elementos básicos das linguagens de programação Objetivos: Apresentar os últimos elementos básicos das linguagens de programação Elementos básicos já estudados Entrada (read, readln) Saída (write, writeln)

Leia mais

INF Semântica formal N

INF Semântica formal N INF05516 - Semântica formal N Ciência da Computação - UFRGS 2006-2 Marcus Ritt mrpritt@inf.ufrgs.br 23/08/2006 Introdução 2 Agenda............................................................... 3 Semântica

Leia mais

Nelma Moreira. Departamento de Ciência de Computadores da FCUP. Aula 2. Nelma Moreira (DCC-FC) Fundamentos de Linguagens de Programação Aula 2 2 / 12

Nelma Moreira. Departamento de Ciência de Computadores da FCUP. Aula 2. Nelma Moreira (DCC-FC) Fundamentos de Linguagens de Programação Aula 2 2 / 12 Fundamentos de Linguagens de Programação Nelma Moreira Departamento de Ciência de Computadores da FCUP Fundamentos de Linguagens de Programação Aula 2 Nelma Moreira (DCC-FC) Fundamentos de Linguagens de

Leia mais

Expressões. Prof. Alberto Costa Neto alberto@ufs.br. Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

Expressões. Prof. Alberto Costa Neto alberto@ufs.br. Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe Linguagens de Programação Departamento de Computação Universidade Federal de Sergipe Expressão é uma frase de um programa que ao ser avaliada retorna um valor Tipos Literais Agregados Chamadas de Função

Leia mais

Computers do not solve problems, People do! E.R.Davidson

Computers do not solve problems, People do! E.R.Davidson 3. O Problema do Par Mais Próximo (closest pair problem) António Leslie Bajuelos Departamento de Matemática Universidade de Aveiro Mestrado em Matemática e Aplicações Computers do not solve problems, People

Leia mais

Mo:vação. Árvore AVL. Caracterís:cas. Origem. Exemplo. Exercício 1 Qual é a altura dos nodos 50 e 44?

Mo:vação. Árvore AVL. Caracterís:cas. Origem. Exemplo. Exercício 1 Qual é a altura dos nodos 50 e 44? Mo:vação Árvore AVL Árvores binárias de Pesquisa possuem uma tendência natural de desbalancear 1 2 Rohit Gheyi rohit@dsc.ufcg.edu.br 6 8 1 2 Origem Adelson Velskii, G.; E. M. Landis (1962). "An algorithm

Leia mais

ESTRUTURA DE DADOS PILHA

ESTRUTURA DE DADOS PILHA ESTRUTURA DE DADOS PILHA CONCEITO DE PILHAS - Pilhas são listas lineares onde a inserção de um novo item ou a remoção de um item já existente se dá em uma única extremidade, no topo. Pilha vazia Insere(A)

Leia mais

Matemática Discreta para Computação e Informática

Matemática Discreta para Computação e Informática Matemática Discreta para Computação e Informática P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Computação e Informática

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

Conjunto (set) O tipo estruturado set representa, em Pascal, um conjunto de objectos de um dado tipo;

Conjunto (set) O tipo estruturado set representa, em Pascal, um conjunto de objectos de um dado tipo; Conjunto (set) O tipo estruturado set representa, em Pascal, um conjunto de objectos de um dado tipo; O tipo de dados tem por base um tipo simples (enumerável); Na verdade, um set representa o conjunto

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

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

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

FUNDAÇÃO EDUCACIONAL DE ITUIUTABA

FUNDAÇÃO EDUCACIONAL DE ITUIUTABA FUNDAÇÃO EDUCACIONAL DE ITUIUTABA ASSOCIADA À UNIVERSIDADE DO ESTADO DE MINAS GERAIS CURSO DE SISTEMA DE INFORMAÇÃO PILHA E FILA Prof. Walteno Martins Parreira Júnior www.waltenomartins.com.br waltenomartins@yahoo.com

Leia mais

Variáveis Compostas Heterogêneas. Variável Composta Heterogênea. Variável Composta Heterogênea

Variáveis Compostas Heterogêneas. Variável Composta Heterogênea. Variável Composta Heterogênea Variáveis Compostas Heterogêneas Variável Composta Heterogênea Conjunto de dados logicamente relacionados, mas de tipos diferentes. Também chamada de registro. Variável Composta Heterogênea 1 Declaração

Leia mais

Comunicação de Dados

Comunicação de Dados Comunicação de Dados Roteamento Prof. André Bessa Faculade Lourenço Filho 22 de Novembro de 2012 Prof. André Bessa (FLF) Comunicação de Dados 22 de Novembro de 2012 1 / 26 1 Introdução 2 Roteamento na

Leia mais

26/08/2013. Árvore. Árvore. Árvore. Floresta :: Exemplo. Floresta ÁRVORES

26/08/2013. Árvore. Árvore. Árvore. Floresta :: Exemplo. Floresta ÁRVORES 2 ÁRVORES Dado um grafo G G é chamado de árvore caso seja não direcionado, conectado e não possua circuitos simples Matemática Discreta Prof. João Paulo Lima Universidade Federal Rural de Pernambuco Departamento

Leia mais

LaSiD/UFBA. Raimundo J. de A. Macêdo

LaSiD/UFBA. Raimundo J. de A. Macêdo Fundamentos de Sistemas Distribuídos Terminação Distribuída LaSiD/UFBA Raimundo J. de A. Macêdo 1 Todos os processos envolvidos numa computação distribuída encerraram suas atividades. Ou seja, estão num

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

Ciclos hamiltonianos e o problema do caixeiro viajante

Ciclos hamiltonianos e o problema do caixeiro viajante Ciclos hamiltonianos e o problema do caixeiro viajante Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional.

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

Visão geral sobre encaminhamento

Visão geral sobre encaminhamento Encaminhamento IP Resumo Algoritmos Escalabilidade 1 Visão geral sobre encaminhamento Forwarding vs Routing forwarding: processo de seleccionar uma porta de saída baseado no endereço de destino e na tabela

Leia mais

Sintaxe e Semântica. Fases da Compilação. programa fonte

Sintaxe e Semântica. Fases da Compilação. programa fonte Sintaxe e Semântica mleal@inf.puc-rio.br Fases da Compilação programa fonte tokens parse tree árvore anotada ou outra forma intermediária código intermediário código objeto código objeto otimizado scanner

Leia mais

Algoritmos Combinatórios: Sudoku via Backtracking e o Problema da Cobertura Exata

Algoritmos Combinatórios: Sudoku via Backtracking e o Problema da Cobertura Exata Algoritmos Combinatórios: Sudoku via Backtracking e o Problema da lucia@site.uottawa.ca UFSC, Fevereiro, 2010 Solução Sudoku O jogo/puzzle Sudoku consiste de uma matriz 9 9, dividida em 9 regiões, que

Leia mais

Árvore Binária de Busca

Árvore Binária de Busca Árvore Binária de Busca 319 Árvore Binária de Busca! construída de tal forma que, para cada nó:! nós com chaves menores estão na sub-árvore esquerda! nós com chaves maiores (ou iguais) estão na subárvore

Leia mais

Geração de código intermediário. Novembro 2006

Geração de código intermediário. Novembro 2006 Geração de código intermediário Novembro 2006 Introdução Vamos agora explorar as questões envolvidas na transformação do código fonte em uma possível representação intermediária Como vimos, nas ações semânticas

Leia mais

PNNI. Prof. José Marcos C. Brito

PNNI. Prof. José Marcos C. Brito PNNI Prof. José Marcos C. Brito 1 Introdução O PNNI compreende um protocolo de roteamento e um protocolo de sinalização. O PNNI se aplica na interface entre dois switches ou na interface entre duas redes.

Leia mais

Capítulo V : A Linguagem Pascal Um Tipo Estruturado de Dados: o array 18. Para limite de n até 2 (* passagens de 1 até (n-1) *)

Capítulo V : A Linguagem Pascal Um Tipo Estruturado de Dados: o array 18. Para limite de n até 2 (* passagens de 1 até (n-1) *) Capítulo V : A Linguagem Pascal Um Tipo Estruturado de Dados: o array 18 _ Métodos de Ordenamentos: Borbulhamento (BubbleSort) Estratégia: Os elementos de um vector a[1..n] estão dispostos por ordem não

Leia mais

Algoritmos de pesquisa

Algoritmos de pesquisa Define-se pesquisa como a operação que permite encontrar ou concluir que não existe, um dado elemento num dado conjunto. A pesquisa de um elemento pode ser feita num conjunto ordenado ou não. Quando o

Leia mais

7. ESTRUTURAS DE DADOS ESTÁTICAS E DINÂMICAS

7. ESTRUTURAS DE DADOS ESTÁTICAS E DINÂMICAS 7. ESTRUTURAS DE DADOS ESTÁTICAS E DINÂMICAS Até... 7.1 Alocação Estática Alocação de Espaço em Memória Como já foi visto anteriormente, a memória de um computador compõe-se de uma sequência de palavras,

Leia mais

Testes Baseados na Implementação. (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins

Testes Baseados na Implementação. (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins Testes Baseados na Implementação (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins 1 Tópicos O que é Grafo de fluxo de controle Critérios de cobertura 2 Referências B.Beizer R.Binder

Leia mais

Fluxo Máximo a Custo Mínimo

Fluxo Máximo a Custo Mínimo Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Departamento de Sistemas e Computação Programa de Educação Tutorial (PET) Demontiê Junior (demontie@dsc.ufcg.edu.br) Fluxo

Leia mais

Diagrama de Voronoi João Comba

Diagrama de Voronoi João Comba Diagrama de Voronoi João Comba Diagrama de Voronoi Voronoi (1907) Tesselagens de Dirichlet (1850) Descarte (1644) Brown (1954): Area Potentially available to a tree Mead (1966): plant polygons Sítios:

Leia mais

Revisão: Variáveis, Expressões, Matrizes, Comandos de Desvio

Revisão: Variáveis, Expressões, Matrizes, Comandos de Desvio Programação de Computadores I UFOP DECOM 2013 2 Aula prática 5 Revisão: Variáveis, Expressões, Matrizes, Comandos de Desvio Tarefa 1: Lei de Gravitação Universal A Lei de Gravitação Universal de Newton,

Leia mais

T(0) = 0 T(n) = 2*T((n-1)/2) + 1

T(0) = 0 T(n) = 2*T((n-1)/2) + 1 SIN5013 - Exemplo de Prova do Conteúdo Semestral 1. Encontre as equações de recorrência dos seguintes métodos (não é necessário resolver, mas é preciso identificar precisamente suas equações de recorrência

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

Árvore Binária de Busca. Algoritmos e Estrutura de Dados II. Operações Busca e Sucessor. Árvore Binária de Busca. Árvores Rubro-Negras

Árvore Binária de Busca. Algoritmos e Estrutura de Dados II. Operações Busca e Sucessor. Árvore Binária de Busca. Árvores Rubro-Negras Árvore Binária de Busca Algoritmos e Estrutura de Dados II Árvores Rubro-Negras Prof. Marco Aurélio Stefanes marco em dct.ufms.br Propriedades Se está na subárvore esquerda de então chave() chave() Se

Leia mais

09/06/2011. Profª: Luciana Balieiro Cosme

09/06/2011. Profª: Luciana Balieiro Cosme Profª: Luciana Balieiro Cosme Revisão dos conceitos gerais Classificação de redes de computadores Visão geral sobre topologias Topologias Barramento Anel Estrela Hibridas Árvore Introdução aos protocolos

Leia mais

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18 ÍNDICE MÓDULO 1 INTRODUÇÃO À ALGORITMIA 11 1.1 PROGRAMAS E ALGORITMOS 12 Fases da programação 12 Algoritmos e algoritmia 13 Algoritmos em linguagem informal, pseudocódigo e fluxogramas 14 Símbolos utilizados

Leia mais

Redes de Computadores II

Redes de Computadores II Redes de Computadores II Prof. Celio Trois portal.redes.ufsm.br/~trois/redes2 OSPF Open Shortest Path First - OSPF Protocolo aberto e padronizado pelo IETF (RFC 2328), o que permite que diversas plataformas

Leia mais

Nelma Moreira. Departamento de Ciência de Computadores da FCUP. Aula 12

Nelma Moreira. Departamento de Ciência de Computadores da FCUP. Aula 12 Fundamentos de Linguagens de Programação Nelma Moreira Departamento de Ciência de Computadores da FCUP Fundamentos de Linguagens de Programação Aula 12 Nelma Moreira (DCC-FC) Fundamentos de Linguagens

Leia mais

Busca em largura. Algoritmos em Grafos. Marco A L Barbosa

Busca em largura. Algoritmos em Grafos. Marco A L Barbosa Busca em largura Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução Exemplo de

Leia mais

Manual Técnico Arduino Supervisório MODBUS & Conversor RS485

Manual Técnico Arduino Supervisório MODBUS & Conversor RS485 Manual Técnico Arduino Supervisório MODBUS & Conversor RS485 2015 Todos os direitos reservados Página 1 de 27 Sumário Manual Técnico...1 Introdução...3 Arduino Supervisório MODBUS...3 Conversor RS485...3

Leia mais

Descrição de Arquitectura e Design. SyncMasters

Descrição de Arquitectura e Design. SyncMasters 1 Descrição de Arquitectura e Design SyncMasters ConfiKeeper Version 2.0, 16-11-2014 by SyncMasters: Carlos Paiva, 2009108909, cpaiva@student.dei.uc.pt Inês Parente, 2012152484, iparente@student.dei.uc.pt

Leia mais

PROTÓTIPO DE UM SISTEMA DE RASTREAMENTO VEICULAR BASEADO NO MÓDULO TELIT LEANDRO BESZCZYNSKI ORIENTADOR: MIGUEL ALEXANDRE WISINTAINER ROTEIRO DA APRESENTAÇÃO Introdução; Objetivos do trabalho; GPS; Módulo

Leia mais

OTIMIZAÇÃO DE FLUXO EM GRAFOS

OTIMIZAÇÃO DE FLUXO EM GRAFOS UNIVERSIDADE FEDERAL DO PARANÁ UFPR CIÊNCIA DA COMPUTAÇÃO LEONARDO TERNES SANTOS OTIMIZAÇÃO DE FLUXO EM GRAFOS CURITIBA, MARÇO 2013 LEONARDO TERNES SANTOS OTIMIZAÇÃO DE FLUXO EM GRAFOS Trabalho de graduação,

Leia mais

Fila de Prioridade. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC 5710 - Estruturas de Dados - 2008

Fila de Prioridade. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC 5710 - Estruturas de Dados - 2008 MAC 5710 - Estruturas de Dados - 2008 Fila de prioridade Fila de prioridade é uma estrutura de dado que mantém uma coleção de elementos, cada um com uma prioridade associada. Valem as operações seguintes.

Leia mais

Análise de algoritmos

Análise de algoritmos Análise de algoritmos Heapsort Conteúdo Introdução A estrutura de dados heap Definição Manutenção da propriedade de heap A construção de um heap O algoritmo heapsort Exercícios Referências Introdução Heapsort

Leia mais

Algoritmos de ordenação Heapsort

Algoritmos de ordenação Heapsort Algoritmos de ordenação Heapsort Sumário Introdução A estrutura de dados heap Definição Manutenção da propriedade de heap A construção de um heap O algoritmo heapsort Introdução Características do heapsort

Leia mais

Geometria Computacional VII: Diagramas de Voronoi

Geometria Computacional VII: Diagramas de Voronoi Geometria Computacional VII: Diagramas de Voronoi Programa de Pós-Graduação em Engenharia Elétrica - UFMG Professor Renato Cardoso Mesquita http://www.ead.eee.ufmg.br/~renato/geocomp/ Diagramas de Voronoi

Leia mais

Prof. Samuel Henrique Bucke Brito

Prof. Samuel Henrique Bucke Brito - Redes WAN de Circuitos Virtuais www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito Introdução Na aula de hoje serão apresentadas duas tecnologias de redes de longa distância

Leia mais

Laboratório - Visualização das tabelas de roteamento do host

Laboratório - Visualização das tabelas de roteamento do host Laboratório - Visualização das tabelas de roteamento do host Topologia Objetivos Parte 1: Acessar a tabela de roteamento de host Parte 2: Examinar as entradas da tabela de roteamento de host IPv4 Parte

Leia mais

GERENCIADOR DE CORREIO ELETRÔNICO (V. 2 26/04/2010)

GERENCIADOR DE CORREIO ELETRÔNICO (V. 2 26/04/2010) GERENCIADOR DE CORREIO ELETRÔNICO (V. 2 26/04/2010) OBJETIVO GERAL Este trabalho possui o objetivo de exercitar a lógica de programação dos alunos do Terceiro ano do Curso de BSI e também desenvolver aplicações

Leia mais

Como configurar o Outlook Express

Como configurar o Outlook Express EMPRESA CATARINENSE DE TECNOLOGIA Como configurar o Outlook Express Publicado em: 26 de agosto de 2003 Antes de usar o Outlook Express para enviar e receber mensagens de e-mail, você precisa configurar

Leia mais

Modelo - Hardware. Página - 1/18. PUC-Rio 2011.2. 02 Características da Distribuição. Sérgio Côrtes scortes@inf.puc-rio.br

Modelo - Hardware. Página - 1/18. PUC-Rio 2011.2. 02 Características da Distribuição. Sérgio Côrtes scortes@inf.puc-rio.br Programação Distribuída Concorrente (INF1406) 02 Características da Distribuição Sérgio Côrtes scortes@inf.puc-rio.br Modelo - Hardware Conjunto de máquinas autônomas, heterogêneas, com características

Leia mais

Identificação da maior elipse com excentricidade prescrita inscrita em um polígono não convexo através do Continuous Grasp

Identificação da maior elipse com excentricidade prescrita inscrita em um polígono não convexo através do Continuous Grasp Identificação da maior elipse com excentricidade prescrita inscrita em um polígono não convexo através do Continuous Grasp Victor Billy da Silva 1 Marcus Ritt 2 João Batista da Paz Carvalho 3 Marcos José

Leia mais

Interval Trees, Priority Search Trees, Segment Trees. João Comba. Pesquisas intervalares sobre segmentos de reta

Interval Trees, Priority Search Trees, Segment Trees. João Comba. Pesquisas intervalares sobre segmentos de reta Interval Trees, Priority Search Trees, Segment Trees João Comba Pesquisas intervalares sobre segmentos de reta Pesquisas intervalares sobre segmentos de reta Consultar uma coleção de segmentos de reta

Leia mais

Documentação SC501GER.DLL V2.2

Documentação SC501GER.DLL V2.2 Documentação SC501GER.DLL V2.2 1. INICIALIZAÇÕES DA DLL. 3 VINITIALIZE 3 TC_STARTSERVER 3 _TERMGERTECSERVER 3 2. CONVERSÃO DE TIPOS 3 TCINET_NTOA 3 TCINET_ADDR 3 3. ROTINAS DE CONTROLE DOS TERMINAIS CONECTADOS

Leia mais

Tutorial de Computação Robô Bípede Programa de Controle em Delphi v2010.10

Tutorial de Computação Robô Bípede Programa de Controle em Delphi v2010.10 Tutorial de Computação Robô Bípede Programa de Controle em Delphi v2010.10 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212 Londrina PR Brasil

Leia mais

Desenvolver um pequeno aplicativo que possa demonstrar a utilização de sockets como meio de comunicação em sistemas distribuídos.

Desenvolver um pequeno aplicativo que possa demonstrar a utilização de sockets como meio de comunicação em sistemas distribuídos. Objetivos Desenvolver um pequeno aplicativo que possa demonstrar a utilização de sockets como meio de comunicação em sistemas distribuídos. Método de Monte Carlo O método de Monte Carlo é uma forma de

Leia mais

XNA Game Studio 2.0. Novidades e rede. Aula 1. Alexandre Santos Lobão contato@alexandrelobao. AlexandreLobao.com

XNA Game Studio 2.0. Novidades e rede. Aula 1. Alexandre Santos Lobão contato@alexandrelobao. AlexandreLobao.com XNA Game Studio 2.0 Aula 1 Novidades e rede Alexandre Santos Lobão contato@alexandrelobao AlexandreLobao.com Pós em Desenvolvimento de Jogos Eletrônicos - IESB Agenda: Aulas 1 e 2 O que háh de novo no

Leia mais

Programação de Computadores II. Cap. 17 Busca

Programação de Computadores II. Cap. 17 Busca Programação de Computadores II Cap. 17 Busca Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:

Leia mais

Instituto Superior de Engenharia do Porto Programação (SEE)

Instituto Superior de Engenharia do Porto Programação (SEE) Instituto Superior de Engenharia do Porto Programação (SEE) Ficha nº 2 - Ciclos 1. Elabore um programa que leia um número e determine a soma e a média dos algarismos que o compõem. Private Sub cmdcalc_click()

Leia mais

Estrutura de Dados Polinómio

Estrutura de Dados Polinómio Estrutura de Dados Polinómio Estrutura de Dados: representação computacional + algorimos especializados Estrutura de Dados Polinómio P n (x) = nx a i x i i=0 Logo, Polinómio tem uma estrutura recorrente:

Leia mais

CAPITULO 5 COMANDO DE FLUXO IF

CAPITULO 5 COMANDO DE FLUXO IF CAPITULO 5 COMANDO DE FLUXO IF Sempre que for necessária a tomada de decisão dentro de um programa, você terá que utilizar um comando condicional, pois é por meio dele que o PHP decidirá que lógica deverá

Leia mais

INSTITUTO SUPERIOR DE CIÊNCIAS DO TRABALHO E DA EMPRESA. Filas de mensagem

INSTITUTO SUPERIOR DE CIÊNCIAS DO TRABALHO E DA EMPRESA. Filas de mensagem Página 1 de 5 INSTITUTO SUPERIOR DE CIÊNCIAS DO TRABALHO E DA EMPRESA Sistemas Operativos ETI - IGE Filas de mensagem 2º Semestre 2003/2004 Aula 04 1. Criar uma fila de mensagens. Mandar uma mensagem.

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Camada de Aplicação P2P Camada de Transporte Slide 1 P2P O compartilhamento de arquivos P2P é um paradigma de distribuição atraente porque todo o conteúdo é transferido diretamente

Leia mais

O que é uma sessão. maneira de preservar dados através de acessos subsequentes.

O que é uma sessão. maneira de preservar dados através de acessos subsequentes. Sessões em PHP O que é uma sessão Suporte a sessões no PHP: maneira de preservar dados através de acessos subsequentes. Características: permite a criação de aplicações mais personalizadas; permite que

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Arquiteturas Capítulo 2 Agenda Estilos Arquitetônicos Arquiteturas de Sistemas Arquiteturas Centralizadas Arquiteturas Descentralizadas Arquiteturas

Leia mais

A palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah,

A palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah, A palavra ALGORITMO teve origem com um Matemático Persa, al Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah, ou a ciência das Equações que, em última análise suscitaram o desenvolvimento

Leia mais

Programas simples em C

Programas simples em C Programas simples em C Problema 1. Escreve um programa em C que dados dois inteiros indique se são iguais ou qual o maior. Utilizar a construção em 5 etapas... quais? 1. Perceber o problema 2. Ideia da

Leia mais

double x; x = enigmab1(100);

double x; x = enigmab1(100); 8h Universidade Federal do ABC Avaliação: Prova 02 Disciplina: Processamento da Informação Turmas: A4, A5 (8hs) Professor: Jesús P. Mena-Chalco Data: 05/05/2016 Nome: RA: Instruções para a prova (leia

Leia mais

Estrutura de Dados. Introdução a Ponteiros. Prof. Gerson Borges Estrutura de Dados I 1

Estrutura de Dados. Introdução a Ponteiros. Prof. Gerson Borges Estrutura de Dados I 1 Estrutura de Dados Introdução a Ponteiros Prof. Gerson Borges Estrutura de Dados I 1 Sumário è Explicação da importância do planejamento de ensino; è Métodos e técnicas que iremos trabalhar durante o semestre;

Leia mais