Tópicos Avançados em Estrutura de Dados 6º Período Ciência da Computação Prof. Jean Carlos Hennrichs. Revisão. 2. Lista Estática Duplamente Encadeada

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

Download "Tópicos Avançados em Estrutura de Dados 6º Período Ciência da Computação Prof. Jean Carlos Hennrichs. Revisão. 2. Lista Estática Duplamente Encadeada"

Transcrição

1 Tópicos Avançados em Estrutura de Dados 6º Período Ciência da Computação Prof. Jean Carlos Hennrichs Revisão 2. Lista Estática Duplamente Encadeada 2.1 Introdução Uma vez conhecido o conceito de listas simplesmente encadeadas, percebemos que para ter acesso ao nó (nodo) anterior ao que estamos posicionados temos que usar um ponteiro rastreador. E se quisermos ter acesso a todos os nós anteriores? (Pimentel, 2004). Para solucionarmos esse problema colocaremos mais uma ligação no nó de tal forma que, além de o nó apontar para o seu sucessor, também aponta para o seu antecessor. A uma lista com essa característica chamamos de duplamente encadeada. A lista alocada dessa forma nos permite a pesquisa nos seus dois sentidos, como também a inserção e retirada conhecendo-se o endereço de apenas um nó. Características Listas foram percorridas do início ao final. Ponteiro "anterior" necessário para muitas operações. Em alguns casos pode-se desejar percorrer uma lista nas duas direções indiferentemente. Nestes casos, o gasto de memória imposta por um novo campo de ponteiro pode ser justificado pela economia em não reprocessar a lista toda. Como conseqüência, podemos realizar as operações de inserção e eliminação à esquerda ou à direita de um campo no interior de uma lista sem a necessidade de ponteiros "anteriores". Inserção (à direita ou à esquerda de um nó de endereço k) A C D B Lista inicial 0-1 A 1 Prim: C D -1 3 Dispo: 3

2 Lista após inclusão da informação B 0-1 A 3 Prim: C D B 1 Dispo: -1 Inserção à direita do registro de endereço k escreva("informe endereco de seu predecessor e valor a ser inserido: "); leia(k,info); l.eloe[j] = k; l.elod[j] = l.elod[k]; l.elod[k] = j; l.eloe[l.elod[j]] = j; se; Inserção à esquerda do registro de endereço k escreva("informe endereco de seu sucessor e valor a ser inserido: "); leia (k,info); l.eloe[j] = l.eloe[k]; l.elod[j] = k; l.elod[l.eloe[k]] = j; l.eloe[k] = j; se; Remoção de um nó A C D Por exemplo, retirar o nó cujo endereço é 1. Lista inicial 0-1 A 1 Prim: C D -1 3 Dispo: 3

3 Lista após remoção do nó cuja informação possui D no endereço A 2 Prim: C D -1 3 Dispo: 1 Eliminação do registro de endereço j escreva("informe endereco do elemento a ser excluido:"); leia(j); l.elod[l.eloe[j]] = l.elod[j]; l.eloe[l.elod[j]] = l.eloe[j]; l.elod[j]=l.dispo; l.dispo = j; escreva("valor eliminado da lista: ",l.info[j]); se; Mostrar todos os elementos da lista - ordem lógica escreva("eloe Info EloD"); para (i=l.prim;i<>-1;i=l.elod[i]) faça escreva(l.eloe[i],l.info[i],l.elod[i]); se; IMPLEMENTAÇÃO DE ALGUMAS OPERAÇÕES DE LISTA DUPLAMENTE ENCADEADA COM ALOCAÇÃO ESTÁTICA Algoritmo lista_dupla_encad; constante MAX 4 tipo lista = registro inteiro info[max]; inteiro eloe[max]; inteiro elod[max]; inteiro prim,dispo; lista l; inteiro info,lig,opcao,primeiro,ultimo,p,nrelem,j,k,dado,i,acessa_iesimo,pos; inteiro acabou, achou, pa;

4 repita escreva("lista DUPLAMENTE ENCADEADA"); escreva(" (1) Inicializar Lista Vazia"); escreva(" (2) Insercao em Lista vazia"); escreva(" (3) Insercao antes do 1o. elemento ); escreva(" (4) Insercao apos o registro de endereco k"); escreva(" (5) Insercao antes do registro de endereco k"); escreva(" (6) Eliminacao do 1o elemento"); escreva(" (7) Eliminacao do registro de endereco j"); escreva(" (8) Eliminacao do registro informando o valor"); escreva(" (9) Qual o 1o. elemento da Lista?"); escreva("(10) Qual o ultimo elemento da Lista?"); escreva("(11) Quantos elementos tem na Lista?"); escreva("(12) Acesso ao i-esimo elemento"); escreva("(13) Mostrar todos os elementos na ordem logica"); escreva("(14) Mostrar todos os elementos na ordem fisica\n"); escreva("(15) Sair do programa\n"); escreva("opcao: "); leia (opção); escolha (opcao) case 1: // Inicializar Lista Vazia l.dispo = 0; // primeiro elemento l.prim = -1; // lista principal está vazia para (i=0;i<max-1;i++) faça l.elod[i] = i+1; para; l.elod[max-1] = -1; // recebe -1 correspondente a nulo escreva("inicializou a Lista Vazia"); case 2: // Insercao em Lista vazia escreva("\ndigite uma informacao a ser inserida: "); leia(info); j = obterno(); // chamada a uma função l.eloe[j] = -1; // valor nulo l.elod[j] = -1; l.prim = j; se; case 3: // Inserir antes do primeiro elemento escreva("digite uma informacao a ser inserida: "); leia(info); l.elod[j] = l.prim; // valor nulo l.eloe[l.prim] = j; l.eloe[j] = -1; l.prim = j; se; case 4: // Insercao apos o registro de endereco k (à direita de pont) escreva("informe endereco de seu predecessor e valor a ser inserido: "); leia(k,info);

5 l.eloe[j] = k; l.elod[j] = l.elod[k]; l.elod[k] = j; se (l.elod[j] <> -1) l.eloe[l.elod[j]] = j; se; case 5: // Insercao antes do registro de endereco k (à esquerda de pont) escreva("informe endereco de seu sucessor e valor a ser inserido: "); leia (k,info); l.eloe[j] = l.eloe[k]; l.elod[j] = k; l.elod[l.eloe[k]] = j; l.eloe[k] = j; se; case 6: // eliminação do primeiro elemento da lista j = l.prim; escreva("valor eliminado da lista: ",l.info[j]); l.prim = l.elod[l.prim]; l.eloe[l.prim] = -1; l.elod[j] = l.dispo; l.dispo = j; se; case 7: // Eliminacao do registro de endereco j escreva("informe endereco do elemento a ser excluido:"); leia(j); l.elod[l.eloe[j]] = l.elod[j]; l.eloe[l.elod[j]] = l.eloe[j]; l.elod[j]=l.dispo; l.dispo = j; escreva("valor eliminado da lista: ",l.info[j]); se; case 8: // Eliminacao do registro informando o valor escreva("\ninforme valor a ser excluido:"); leia(info); pa = -1; // ponteiro anterior p = l.prim; // busca a partir do primeiro acabou = (p=-1); // termina quando da lista enquanto (.não.acabou) faça se (l.info[p] <> info) então pa = p; p = l.elod[p]; acabou = (p=-1); senão acabou = 1; // acabou = true

6 se; enquanto; se (p = -1) então escreva("nao existe o conteudo,info, na lista"); se (pa = -1) então l.prim = l.elod[l.prim]; l.elod[pa] = l.elod[p]; l.eloe[l.elod[p]] = pa; se; l.elod[p] = l.dispo; l.dispo = p; escreva("o conteudo,l.info[p], foi excluido da lista"); se; se; case 9: // mostrar o primeiro elemento da lista se (l.prim == -1) primeiro = l.info[l.prim]; escreva("primeiro elemento da lista = ",primeiro); se; case 10: // mostrar o último elemento da lista se (l.prim == -1) p = l.prim; enquanto (l.elod[p] <> -1) faça p = l.elod[p]; enquanto; ultimo = l.info[p]; escreva("ultimo elemento da lista = ",ultimo); se; case 11: // mostrar a quantidade de elementos existentes na lista se (l.prim == -1) p = l.prim; nrelem = 1; enquanto (l.elod[p] <> -1) faça nrelem++; p = l.elod[p]; enquanto; escreva("numero de elementos na lista = ",nrelem); se; case 12: // Acesso ao i-esimo elemento senão escreva("digite o dado procurado e sua posicao: "); leia(dado,pos); achou = 0;

7 para (i=l.prim;i<>-1;i=l.elod[i]) faça se ((l.info[i] = dado).e. (pos = i)) então achou = 1; se; para; se (achou) então escreva("o elemento procurado existe"); senão escreva("o elemento procurado nao existe"); se; case 13: // mostrar todos os elementos da lista - ordem logica senão escreva("eloe Info EloD"); para (i=l.prim;i<>-1;i=l.elod[i]) faça escreva(l.eloe[i],l.info[i],l.elod[i]); para se; case 14: // mostrar todos os elementos da lista - ordem fisica senão escreva("endereco EloE Info EloD"); para (i=0;i<max;i++) faça escreva(i,l.eloe[i],l.info[i],l.elod[i]); para; se; até opcao = 15;. inteiro obterno ( ) inteiro m; se (l.dispo <> -1) então m = l.dispo; l.dispo = l.elod[l.dispo]; senão m = l.dispo; se; retorna m;.

3.4 Representação física: alocação encadeada (dinâmica) Ptlista - variável ponteiro externa que indica o início da lista.

3.4 Representação física: alocação encadeada (dinâmica) Ptlista - variável ponteiro externa que indica o início da lista. 3.4 Representação física: alocação encadeada (dinâmica) As posições de memória são alocadas (ou desalocadas) na medida em que são necessárias (ou dispensadas). Os nós de uma lista encontram-se aleatoriamente

Leia mais

Filas: conceitos e implementações

Filas: conceitos e implementações Estrutura de Dados I Filas: conceitos e implementações Cesar Rocha cesar@pontoweb.com.br 1 Objetivos Explorar os conceitos fundamentais acerca do uso de filas utilizando a linguagem C Organização e implementação,

Leia mais

EAD Fila. - algumas operações realizam-se na frente/cabeça e outras na cauda da Fila

EAD Fila. - algumas operações realizam-se na frente/cabeça e outras na cauda da Fila EAD Fila - os seus elementos são processados por ordem de chegada: - o primeiro elemento a entrar na Fila é o primeiro a sair - FIFO ( First In First Out ). - algumas operações realizam-se na frente/cabeça

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

PROGRAMAÇÃO II 3. FILA DINÂMICA

PROGRAMAÇÃO II 3. FILA DINÂMICA 3. FILA DINÂMICA PROGRAMAÇÃO II Prof. Jean Eduardo Glazar Uma fila é um tipo especial de lista na qual todas as inserções são feitas sempre depois do fim e as deleções no início. Por isso também recebe

Leia mais

----------------------------------------------------------------------------------------------------- Prof. Marcelo Nogueira

----------------------------------------------------------------------------------------------------- Prof. Marcelo Nogueira LISTAS Uma lista é uma coleção de elementos do mesmo tipo dispostos linearmente que podem ou não seguir determinada organização, por exemplo: [E, E2, E, E4, E,...En], onde n deve ser >=0. Como exemplos

Leia mais

Trabalho 3: Agenda de Tarefas

Trabalho 3: Agenda de Tarefas INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma

Leia mais

EAD Árvore - representação usando listas ligadas

EAD Árvore - representação usando listas ligadas 4.1. Definição É uma árvore binária em que os seus nodos têm associado uma chave, que - determina a sua posição de colocação na árvore e - obedece às seguintes regras: a chave de um nodo é - maior do que

Leia mais

Algoritmos e Estrutura de Dados. Prof. Tiago A. E. Ferreira

Algoritmos e Estrutura de Dados. Prof. Tiago A. E. Ferreira Algoritmos e Estrutura de Dados Aula 7 Estrutura de Dados: Listas Prof. Tiago A. E. Ferreira Introdução Um das formas mais usadas para se manter dados agrupados é a lista Lista de compras, itens de estoque,

Leia mais

Implementando uma Classe e Criando Objetos a partir dela

Implementando uma Classe e Criando Objetos a partir dela Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe

Leia mais

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES ALGORITMOS DE BUSCA EM LISTAS COM ALOCAÇÃO SEQÜENCIAL Busca em Listas Lineares A operação de busca é

Leia mais

/*(Atenção: Em se tratando de uma lista estaticamente alocada, temos utilizado a estratégia de passa o tamanho máximo do vetor.)*/

/*(Atenção: Em se tratando de uma lista estaticamente alocada, temos utilizado a estratégia de passa o tamanho máximo do vetor.)*/ ========================TDA.H #include "info.h" #define TRUE 1 #define FALSE 0 #define INI_LISTA 1 #define OK 1; #define NOK -1; typedef struct nolista{ info dados; struct nolista *prox; struct nolista

Leia mais

Na resolução de um problema por meio de um programa, a primeira providência é conceber um algoritmo adequado.

Na resolução de um problema por meio de um programa, a primeira providência é conceber um algoritmo adequado. Estrutura de Dados Introdução Extraído de : Estruturas de Dados Homero L. Pícollo Na resolução de um problema por meio de um programa, a primeira providência é conceber um algoritmo adequado. A eficiência

Leia mais

Complexidade de Algoritmos

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

Leia mais

Algoritmos e Estrutura de Dados. Aula 13 Estrutura de Dados: Árvores de Pesquisa Binária Prof. Tiago A. E. Ferreira

Algoritmos e Estrutura de Dados. Aula 13 Estrutura de Dados: Árvores de Pesquisa Binária Prof. Tiago A. E. Ferreira Algoritmos e Estrutura de Dados Aula 13 Estrutura de Dados: Árvores de Pesquisa Binária Prof. Tiago A. E. Ferreira Introdução Uma árvore de pesquisa binária são estruturas de dados que admitem operações

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 Procedimento para Inserir na Árvore Binária Critérios: Atingir um ponteiro nulo em um processo de pesquisa significa uma pesquisa sem sucesso. O ponteiro

Leia mais

Capítulo 8. CICLOS. Tabela 8.1 Programa8a.f90.

Capítulo 8. CICLOS. Tabela 8.1 Programa8a.f90. Capítulo 8. CICLOS OBJETIVOS DO CAPÍTULO Conceito de ciclo Comandos do FORTRAN: DO END DO, EXIT 8.1 programa8a.f90 Para inicializar as atividades deste capítulo, deve-se executar: 1) Para acessar o programa

Leia mais

Pilhas. Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes

Pilhas. Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes Pilhas Fabrício J. Barth BandTec - Faculdade de Tecnologia Bandeirantes Fevereiro de 2011 Tópicos Principais Introdução Interface do tipo pilha Exemplo de uso: verificação de expressões Implementação de

Leia mais

DAS5102 Fundamentos da Estrutura da Informação

DAS5102 Fundamentos da Estrutura da Informação Fila de Prioridade A fila de prioridade nada mais é que uma fila comum que permite que elementos sejam adicionados associados com uma prioridade. Cada elemento na fila deve possuir um dado adicional que

Leia mais

Árvores Binárias de Busca

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

Leia mais

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções 1 - Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções Um programa pode possuir determinados processos realizados repetidas vezes ao longo da execução do programa. Estes processos podem se agrupar

Leia mais

Listas Duplamente Encadeadas

Listas Duplamente Encadeadas Listas Duplamente Encadeadas! quando for preciso seguir a seqüência de elementos em ambos os sentidos! cada nó possui dois ponteiros: ant e prox ant prox a b c d Início Fim 1 Listas Duplamente Encadeadas

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 CES-11 Pilhas Filas Deques Pilhas,,f filas e deques Vimos que as listas lineares admitem inserção e eliminação

Leia mais

PROGRAMAÇÃO II 4. ÁRVORE

PROGRAMAÇÃO II 4. ÁRVORE 4. ÁRVORE PROGRAMAÇÃO II Prof. Jean Eduardo Glazar Uma árvore impõe uma estrutura hierárquica em uma coleção de itens. Um exemplo familiar é a árvore genealógica. Árvores despontam de forma natural em

Leia mais

PROGRAMAÇÃO II 3. PILHA DINÂMICA

PROGRAMAÇÃO II 3. PILHA DINÂMICA 3. PILHA DINÂMICA PROGRAMAÇÃO II Prof. Jean Eduardo Glazar Uma pilha é um tipo especial de Pilha na quais todas as inserções e remoções são feitas na primeira posição, que é chamada de topo. Outro nome

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

Prof. Yandre Maldonado - 1 PONTEIROS. Prof. Yandre Maldonado e Gomes da Costa

Prof. Yandre Maldonado - 1 PONTEIROS. Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1 PONTEIROS Prof. Yandre Maldonado e Gomes da Costa PONTEIROS Prof. Yandre Maldonado - 2 Ponteiro é uma variável que possui o endereço de outra variável; É um poderoso recurso

Leia mais

Neste artigo estudaremos os conceitos relacionados às matrizes unidimensionais (vetores) e multidimensionais.

Neste artigo estudaremos os conceitos relacionados às matrizes unidimensionais (vetores) e multidimensionais. Linguagem C Matrizes Objetivos Neste artigo estudaremos os conceitos relacionados às matrizes unidimensionais (vetores) e multidimensionais. Definição de Matrizes em Linguagem C As matrizes em geral são

Leia mais

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto lasf.bel@gmail.com

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto lasf.bel@gmail.com Sumário Condições para Ocorrência de Modelagem de Evitando deadlock Algoritmo do banqueiro M. Sc. Luiz Alberto lasf.bel@gmail.com Aula - SO 1 Definição Um conjunto de N processos está em deadlock quando

Leia mais

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento Trabalho 7 Fila de prioridade usando heap para simulação de atendimento Data: 21/10/2013 até meia-noite Dúvidas até: 09/10/2013 Faq disponível em: http://www2.icmc.usp.br/~mello/trabalho07.html A estrutura

Leia mais

Estruturas de Dados I

Estruturas de Dados I UFES - Curso de verão 2011 Estruturas de Dados I Profa. Juliana Pinheiro Campos jupcampos@gmail.com Árvores binárias de busca (ou São árvores projetadas para dar suporte a operações de busca de forma eficiente.

Leia mais

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada

Leia mais

Estruturas de Dados. Parte dos slides a seguir são adaptações, extensões e traduções para C dos originais:

Estruturas de Dados. Parte dos slides a seguir são adaptações, extensões e traduções para C dos originais: Estruturas de Dados Pilhas Prof. Ricardo J. G. B. Campello Créditos Parte dos slides a seguir são adaptações, extensões e traduções para C dos originais: disponíveis em http://ww3.datastructures.net/ cedidos

Leia mais

Métodos Computacionais. Fila

Métodos Computacionais. Fila Métodos Computacionais Fila Definição de Fila Fila é uma estrutura de dados dinâmica onde: Inserção de elementos se dá no final e a remoção no início O primeiro elemento que entra é o primeiro que sai

Leia mais

INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15

INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15 INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15 1. Um número racional é expresso por dois inteiros: um numerador e um denominador (este último diferente de zero!). Implemente um TAD para representar números

Leia mais

ÍNDICE. Tela de Configuração...03. Dados de Etiqueta...04. Configuração da Impressora...05. Configuração do Papel...06. Itens para Inserção...

ÍNDICE. Tela de Configuração...03. Dados de Etiqueta...04. Configuração da Impressora...05. Configuração do Papel...06. Itens para Inserção... Layout de Etiquetas ÍNDICE Tela de Configuração...03 Dados de Etiqueta...04 Configuração da Impressora...05 Configuração do Papel...06 Itens para Inserção...07 Recursos...08 Configurações dos Itens Selecionados...09

Leia mais

Grafos Ordenação Topológica. Graça Nunes 1º. Semestre 2012

Grafos Ordenação Topológica. Graça Nunes 1º. Semestre 2012 Grafos Ordenação Topológica Graça Nunes 1º. Semestre 2012 Ordenação topológica de um grafo direcionado acíclico Ordenação linear dos vértices do grafo tal que u aparece antes de v se há uma aresta (u,v)

Leia mais

Busca. Pesquisa sequencial

Busca. Pesquisa sequencial Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um

Leia mais

Algoritmos e Estruturas de Dados 2

Algoritmos e Estruturas de Dados 2 Algoritmos e Estruturas de Dados 2 Unidade 1: Árvores binárias Rafael Beserra Gomes Universidade Federal do Rio Grande do Norte Material compilado em 21 de fevereiro de 201. Licença desta apresentação:

Leia mais

Busca em Memória. Secundária

Busca em Memória. Secundária UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Busca em Memória Secundária e Gomes da Costa yandre@din.uem.br 1 Busca de um item em uma massa de dados que não cabe na memória principal; Procura-se

Leia mais

Como produzir um texto no computador.

Como produzir um texto no computador. Como produzir um texto no computador. Antes de aprender como produzir um texto no computador e algumas das funcionalidades básicas que o processador de texto oferece, deve ler os seguintes tutoriais: Conhecer

Leia mais

Árvores B + Prof Márcio Bueno. ed2tarde@marciobueno.com / ed2noite@marciobueno.com. Material da Prof a Ana Eliza Lopes Moura

Árvores B + Prof Márcio Bueno. ed2tarde@marciobueno.com / ed2noite@marciobueno.com. Material da Prof a Ana Eliza Lopes Moura Árvores B + Prof Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material da Prof a Ana Eliza Lopes Moura Árvore B + A árvore B + é uma variação da estrutura básica da árvore B. Características:

Leia mais

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII A ocorrência tamanho ASCII codificação de Huffman é um A Codificação método de compactação de Huffman caracteres (American e a variável codificação dos usado símbolos Standard para por cada muitas no Code

Leia mais

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear.

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear. CAPÍTULO 7 7 ANÁLISE DE REDES 7.1 Conceitos Básicos em Teoria dos Grafos Diversos problemas de programação linear, inclusive os problemas de transporte, podem ser modelados como problemas de fluxo de redes.

Leia mais

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

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

Leia mais

COS767 - Modelagem e Análise Aula 2 - Simulação. Algoritmo para simular uma fila Medidas de interesse

COS767 - Modelagem e Análise Aula 2 - Simulação. Algoritmo para simular uma fila Medidas de interesse COS767 - Modelagem e Análise Aula 2 - Simulação Algoritmo para simular uma fila Medidas de interesse Simulação O que é uma simulação? realização da evolução de um sistema estocástico no tempo Como caracterizar

Leia mais

AULA 16 - Sistema de Arquivos

AULA 16 - Sistema de Arquivos AULA 16 - Sistema de Arquivos Arquivos podem ser vistos como recipientes que contêm dados ou como um grupo de registros correlatos. Os arquivos armazenam informações que serão utilizadas, em geral, por

Leia mais

Filas. A ordem de saída corresponde diretamente à ordem de entrada dos elementos. Fila de caixa bancário

Filas. A ordem de saída corresponde diretamente à ordem de entrada dos elementos. Fila de caixa bancário Filas Fila é um tipo de lista linear onde as inserções são realizadas num extremo (final da Fila) e as remoções restritas ao outro (começo da Fila). O primeiro a entrar é o primeiro a sair e último a entrar

Leia mais

Algoritmos e Estrutura de Dados III. Árvores

Algoritmos e Estrutura de Dados III. Árvores Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas

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

Á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

1. A corrida de vetores numa folha de papel.

1. A corrida de vetores numa folha de papel. 1. A corrida de vetores numa folha de papel. desenhando a pista. o movimento dos carros. o início da corrida. as regras do jogo. 2. A corrida no computador. o número de jogadores. o teclado numérico. escolhendo

Leia mais

EAD Árvore árvore binária

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

Leia mais

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio http://lmarti.com

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio http://lmarti.com Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio http://lmarti.com Python e AI (Re)-introdução ao Python. Problemas de busca e principais abordagens. Exemplos em Python Por que

Leia mais

3 Estratégia para o enriquecimento de informações

3 Estratégia para o enriquecimento de informações 34 3 Estratégia para o enriquecimento de informações Podemos resumir o processo de enriquecimento de informações em duas grandes etapas, a saber, busca e incorporação de dados, como ilustrado na Figura

Leia mais

Hashing (Tabela de Dispersão)

Hashing (Tabela de Dispersão) Hashing (Tabela de Dispersão) Motivação! Os métodos de pesquisa vistos até agora buscam informações armazenadas com base na comparação de suas chaves.! Para obtermos algoritmos eficientes, armazenamos

Leia mais

CAPITAL DE GIRO: ESSÊNCIA DA VIDA EMPRESARIAL

CAPITAL DE GIRO: ESSÊNCIA DA VIDA EMPRESARIAL CAPITAL DE GIRO: ESSÊNCIA DA VIDA EMPRESARIAL Renara Tavares da Silva* RESUMO: Trata-se de maneira ampla da vitalidade da empresa fazer referência ao Capital de Giro, pois é através deste que a mesma pode

Leia mais

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO UNIVERSITÁRIO NORTE DO ESPÍRITO SANTO

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO UNIVERSITÁRIO NORTE DO ESPÍRITO SANTO Curso: Engenharia de Computação e Ciência da Computação Data: 10/09/2013 Disciplina: Programação Estruturada Valor: 3,0 pontos Professor: Henrique Monteiro Cristovão Nota: Aluno: Prova resolvida 4ª Prova

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

Estatística II Antonio Roque Aula 9. Testes de Hipóteses

Estatística II Antonio Roque Aula 9. Testes de Hipóteses Testes de Hipóteses Os problemas de inferência estatística tratados nas aulas anteriores podem ser enfocados de um ponto de vista um pouco diferente: ao invés de se construir intervalos de confiança para

Leia mais

Inteligência Artificial. Metodologias de Busca

Inteligência Artificial. Metodologias de Busca Inteligência Artificial Metodologias de Busca 1 Solução de problemas como Busca Um problema pode ser considerado como um objetivo Um conjunto de ações podem ser praticadas para alcançar esse objetivo Ao

Leia mais

Este trabalho tem como objetivo praticar o uso de tipos abstratos de dados e estruturas do tipo Lista.

Este trabalho tem como objetivo praticar o uso de tipos abstratos de dados e estruturas do tipo Lista. Universidade Federal do Espírito Santo Departamento de Informática Estruturas de Dados (INF09292) 1 o Trabalho Prático Período: 2011/1 Prof a Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br Data de

Leia mais

Estruturas de Dados Pilhas, Filas e Deques

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

Leia mais

Estrutura de Dados Básica

Estrutura de Dados Básica Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 9: Filas com Alocação de Memória Estática O objetivo desta aula é apresentar estrutura de dados Fila e suas aplicações. Motivação A estrutura

Leia mais

Astra LX Frases Codificadas Guia para o processo de Configuração de Frases Codificadas no Programa AstraLX.

Astra LX Frases Codificadas Guia para o processo de Configuração de Frases Codificadas no Programa AstraLX. 2011 www.astralab.com.br Astra LX Frases Codificadas Guia para o processo de Configuração de Frases Codificadas no Programa AstraLX. Equipe Documentação Astra AstraLab 24/08/2011 1 Sumário Frases Codificadas...

Leia mais

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01 Q-Acadêmico Módulo CIEE - Estágio Revisão 01 SUMÁRIO 1. VISÃO GERAL DO MÓDULO... 2 1.1 PRÉ-REQUISITOS... 2 2. ORDEM DE CADASTROS PARA UTILIZAÇÃO DO MÓDULO CIEE... 3 2.1 CADASTRANDO EMPRESAS... 3 2.1.1

Leia mais

Árvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza

Árvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza Árvores B Hashing Estrutura de Dados II Jairo Francisco de Souza Hashing para arquivos extensíveis Todos os métodos anteriores previam tamanho fixo para alocação das chaves. Existem várias técnicas propostas

Leia mais

Coleta de Tempo de Serviço. A coleta deve ser efetuada com períodos que não constam do PAEF e anteriores ao ano de 1991.

Coleta de Tempo de Serviço. A coleta deve ser efetuada com períodos que não constam do PAEF e anteriores ao ano de 1991. Coleta de Tempo de Serviço A coleta deve ser efetuada com períodos que não constam do PAEF e anteriores ao ano de 1991. Período posterior ao ano de 1991, que não consta do PAEF, deve ser inserido no PAEF,

Leia mais

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação 1I Prof. Osório Árvores Binárias Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação II Disciplina: Linguagem

Leia mais

Disciplina Técnicas de Modelagem

Disciplina Técnicas de Modelagem T É C N I C A 3 MODELAGEM CONCEITUAL GENERALIZAÇÃO/ESPECIALIZAÇÃO, AGREGAÇÃO E COMPOSIÇÃO Generalização/Especialização Herança é o termo em orientação a objetos que se refere à criação de novas classes

Leia mais

ferramentas de produtividade

ferramentas de produtividade ferramentas de produtividade modelização de dados normalização de dados as bases de dados 3 2002 Luis Borges Gouveia (http://www.ufp.pt/~lmbg) 1 modelização de dados 3 abordagens mínimo comum utilizar

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados

Leia mais

1. REGISTRO DE PROJETOS

1. REGISTRO DE PROJETOS 1. REGISTRO DE PROJETOS Nesta aplicação será feito o registro dos projetos/ ações de extensão, informando os dados iniciais do projeto, as classificações cabíveis, os participantes, a definição da região

Leia mais

VERSÃO 5.12.0 VERSÃO 5.0.0 FINANCEIRO NEFRODATA ESTOQUE FINALIZAÇÃO: 10 JUN.

VERSÃO 5.12.0 VERSÃO 5.0.0 FINANCEIRO NEFRODATA ESTOQUE FINALIZAÇÃO: 10 JUN. VERSÃO 5.12.0 VERSÃO 5.0.0 FINANCEIRO NEFRODATA ESTOQUE ACD2016 FINALIZAÇÃO: 10 JUN. 13 04 NOV.2014 FEV. 201313 JUN. 2016 PUBLICAÇÃO: Prezado Cliente, Neste documento estão descritas todas as novidades

Leia mais

Aula prática Como utilizar um multímetro

Aula prática Como utilizar um multímetro Aula prática Como utilizar um multímetro Definição Como o próprio nome sugere, é um equipamento que pode ser utilizado para a realização de diversas medidas, dentre as principais temos: Tensão (alternada

Leia mais

Lista 1 para a P2. Operações com subespaços

Lista 1 para a P2. Operações com subespaços Lista 1 para a P2 Observação 1: Estes exercícios são um complemento àqueles apresentados no livro. Eles foram elaborados com o objetivo de oferecer aos alunos exercícios de cunho mais teórico. Nós sugerimos

Leia mais

PROGRAMAÇÃO BÁSICA DE CLP

PROGRAMAÇÃO BÁSICA DE CLP PROGRAMAÇÃO BÁSICA DE CLP Partindo de um conhecimento de comandos elétricos e lógica de diagramas, faremos abaixo uma revisão para introdução à CLP. Como saber se devemos usar contatos abertos ou fechados

Leia mais

01. Considere as seguintes proposições:

01. Considere as seguintes proposições: 01. Considere as seguintes proposições: p: O restaurante está fechado. q: O computador está ligado. A sentença O restaurante não está fechado e o computador não está ligado assume valor lógico verdadeiro

Leia mais

Medição tridimensional

Medição tridimensional A U A UL LA Medição tridimensional Um problema O controle de qualidade dimensional é tão antigo quanto a própria indústria, mas somente nas últimas décadas vem ocupando a importante posição que lhe cabe.

Leia mais

INF 1007 Programação II

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

Leia mais

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL PROGRAMA DE PÓS-GRADUAÇÃO EM EDUCAÇÃO MATEMÁTICA. Seleção 2009. Prova Escrita 06/02/2009

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL PROGRAMA DE PÓS-GRADUAÇÃO EM EDUCAÇÃO MATEMÁTICA. Seleção 2009. Prova Escrita 06/02/2009 UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL PROGRAMA DE PÓS-GRADUAÇÃO EM EDUCAÇÃO MATEMÁTICA Seleção 2009 Prova Escrita 06/02/2009 Número de inscrição: Esta prova é composta de três partes: Parte A: conteúdos

Leia mais

Unidade 5: Sistemas de Representação

Unidade 5: Sistemas de Representação Arquitetura e Organização de Computadores Atualização: 9/8/ Unidade 5: Sistemas de Representação Números de Ponto Flutuante IEEE 754/8 e Caracteres ASCII Prof. Daniel Caetano Objetivo: Compreender a representação

Leia mais

Reaproveitando algoritmos

Reaproveitando algoritmos Reaproveitando algoritmos Alguns exercícios pedem que se modifique um algoritmo feito anteriormente, para que ele resolva um novo problema. Isto procura demonstrar uma prática corriqueira, chamada de reaproveitamento

Leia mais

ADMINISTRADOR LEIA ATENTAMENTE AS INSTRUÇÕES

ADMINISTRADOR LEIA ATENTAMENTE AS INSTRUÇÕES MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE GOIÁS PRÓ-REITORIA DE DESENVOLVIMENTO INSTITUCIONAL E RECURSOS HUMANOS CONCURSO PÚBLICO PARA PROVIMENTO DOS CARGOS DO QUADRO DE PESSOAL TÉCNICO-ADMINISTRATIVO

Leia mais

PRINCÍPIOS DE INFORMÁTICA PRÁTICA 06 1. OBJETIVO 2. BASE TEÓRICA 3. SEQÜÊNCIA DA AULA. 3.1 Iniciando o PowerPoint

PRINCÍPIOS DE INFORMÁTICA PRÁTICA 06 1. OBJETIVO 2. BASE TEÓRICA 3. SEQÜÊNCIA DA AULA. 3.1 Iniciando o PowerPoint PRINCÍPIOS DE INFORMÁTICA PRÁTICA 06 1. OBJETIVO Apresentar o PowerPoint, que é o software para montar apresentações na forma de slides da Microsoft. Isso será feito seguindo-se uma seqüência mostrando

Leia mais

8. Perguntas e Respostas

8. Perguntas e Respostas Arquimedes Manual do Utilizador 185 8. Perguntas e Respostas 8.1. Aparência Para conservar a disposição na qual estão expostas as B.D. no ecrã e para que em posteriores sessões de trabalho tenham a mesma

Leia mais

INF1007: Programação 2 10 Árvores Binárias. (c) Dept. Informática - PUC-Rio 1

INF1007: Programação 2 10 Árvores Binárias. (c) Dept. Informática - PUC-Rio 1 INF1007: Programação 2 10 Árvores Binárias (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Introdução Árvores binárias Representação em C Ordens de percurso em árvores binárias Altura de uma árvore

Leia mais

ATENA CURSOS EMÍLIA GRANDO COMPREENDENDO O FUNCIONAMENTO DO AEE NAS ESCOLAS. Passo Fundo

ATENA CURSOS EMÍLIA GRANDO COMPREENDENDO O FUNCIONAMENTO DO AEE NAS ESCOLAS. Passo Fundo ATENA CURSOS EMÍLIA GRANDO COMPREENDENDO O FUNCIONAMENTO DO AEE NAS ESCOLAS. Passo Fundo 2014 1 1. TEMA Funcionamento do Atendimento Educacional Especializado. 2. PROBLEMA O contexto do funcionamento do

Leia mais

Apostila 1. (Make Directory AMY - Fazer pasta AMY) C:>CD AMY

Apostila 1. (Make Directory AMY - Fazer pasta AMY) C:>CD AMY Pré-Escola Apostila 1 1º encontro software:.shareware AMY (contido no CD-ROM que acompanha este material) objetivo:.exploração do teclado: uso das flechas.trabalhar noções espaciais, quantidades e sequência

Leia mais

SECRETARIA DE ESTADO DA EDUCAÇÃO DE SANTA CATARINA PONTO SECULLUM 4 SISTEMA DE CONTROLE DE PONTO MANUAL PARA A GERÊNCIA DE GESTÃO DE PESSOAS

SECRETARIA DE ESTADO DA EDUCAÇÃO DE SANTA CATARINA PONTO SECULLUM 4 SISTEMA DE CONTROLE DE PONTO MANUAL PARA A GERÊNCIA DE GESTÃO DE PESSOAS SECRETARIA DE ESTADO DA EDUCAÇÃO DE SANTA CATARINA PONTO SECULLUM 4 SISTEMA DE CONTROLE DE PONTO MANUAL PARA A GERÊNCIA DE GESTÃO DE PESSOAS SUMÁRIO 1 ABRINDO O SISTEMA... 3 1.1 ÍCONE DO PROGRAMA NA VERSÃO

Leia mais

Gerenciamento de memória

Gerenciamento de memória Na memória principal ficam todos os programas e os dados que serão executados pelo processador. Possui menor capacidade e custo maior. S.O buscam minimizar a ocupação da memória e otimizar sua utilização.

Leia mais

PROCESSOS. Prof. Maicon A. Sartin mapsartin@gmail.com

PROCESSOS. Prof. Maicon A. Sartin mapsartin@gmail.com PROCESSOS Prof. Maicon A. Sartin mapsartin@gmail.com Cenários em Sistemas Multitarefas Um usuário pode executar diversas atividades simultâneas Música Editoração de texto Navegar na Internet Servidor pode

Leia mais

INSTITUTO TECNOLÓGICO

INSTITUTO TECNOLÓGICO PAC - PROGRAMA DE APRIMORAMENTO DE CONTEÚDOS. ATIVIDADES DE NIVELAMENTO BÁSICO. DISCIPLINAS: MATEMÁTICA & ESTATÍSTICA. PROFº.: PROF. DR. AUSTER RUZANTE 1ª SEMANA DE ATIVIDADES DOS CURSOS DE TECNOLOGIA

Leia mais

Sistema de Memórias de Computadores

Sistema de Memórias de Computadores Sistema de Memórias de Computadores Uma memória é um dispositivo que permite um computador armazenar dados temporariamente ou permanentemente. Sabemos que todos os computadores possuem memória. Mas quando

Leia mais

Curvas em coordenadas polares

Curvas em coordenadas polares 1 Curvas em coordenadas polares As coordenadas polares nos dão uma maneira alternativa de localizar pontos no plano e são especialmente adequadas para expressar certas situações, como veremos a seguir.

Leia mais

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona. Aula 14 Redes de Computadores 24/10/07 Universidade do Contestado UnC/Mafra Sistemas de Informação Prof. Carlos Guerber ROTEAMENTO EM UMA REDE DE COMPUTADORES A máscara de sub-rede é utilizada para determinar

Leia mais

Listas (Parte 2) Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br. BCC202 Aula 10 Algoritmos e Estruturas de Dados I

Listas (Parte 2) Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br. BCC202 Aula 10 Algoritmos e Estruturas de Dados I Listas (Parte 2) Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br BCC202 Aula 10 Algoritmos e Estruturas de Dados I Listas Encadeadas Características: Tamanho da lista não é pré-definido Cada elemento

Leia mais