Pilhas, Filas e Listas

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

Download "Pilhas, Filas e Listas"

Transcrição

1 Pilhas, Filas e Listas 1. Explique como implementar duas pillhas em um único vetor de tamanho n, de tal modo que nenhuma das pilhas sofra estouro positivo (rejeite uma nova inserção por estar lotada), a menos que o número total de elementos em ambas as pilhas juntas seja n. As operações PUSH e POP devem ser executadas no tempo O(1). 2. Enquanto uma pilha permite a inserção e a eliminação de elementos em apenas uma extremidade e um fila permite a inserção em uma extremidade e a eliminação na outra extremidade, uma deque (double-ended queue, ou fila de extremidade dupla) permite a inserção e a eliminação em ambas as extremidades. Escreva quatro procedimentos de tempo O(1) para inserir elementos e eliminar elementos de ambas as extremidades de uma deque construída a partir de um vetor. 3. Mostre como implementar uma fila usando duas pilhas. Analise o tempo de execução das operações sobre as filas. 4. Mostre como implementar uma pilha usando duas filas. Analise o tempo de execução das operações sobre pilhas. 5. Implemente uma pilha usando uma lista simplesmente encadeada. As operações PUSH e POP devem demorar o tempo O(1). 6. Implemente uma fila usando uma lista simplesmente encadeada. As operações ENQUEUE e DEQUEUE devem demorar o tempo O(1). 7. Forneça um procedimento não recursivo de tempo Θ( ) que inverta uma lista simplesmente encadeada de n elementos. Qualquer consumo de memória além do espaço de armazenamento necessário para a própria lista deve ter tamanho O(1). 8. Explique como implementar listas duplamente encadeadas usando apenas um valor de ponteiro np[x] por item, em lugar dos dois valores usuais (próximo e anterior). Suponha que todos os valores de ponteiros possam ser interpretados como inteiros de k bits e defina np[x] como np[x] = próximo[x] XOR anterior[x], o ou exclusivo de k bits de próximo [x] e anterior[x].(o valor NULL é representado por 0). Certifique-se de descrever as informações necessárias para obter acesso ao início da lista. Mostre como implementar operações para inserir, remover e recuperar elementos nesta lista. Mostre também como inverter a ordem dos elementos nesta lista em tempo O(1). 9. Considere uma lista seqüencial definida pelas estruturas de dados abaixo: typedef struct // registro de um aluno char nome[41]; // nome do aluno char matricula[11]; // matricula do aluno float cr; // C.R. do aluno } ALUNO; typedef struct // lista de alunos ALUNO aluno[200]; // registros dos alunos int numalunos; // numero de alunos na lista } LISTA_ALUNOS;

2 a. Calcule o tamanho (em bytes) dos tipos de dados ALUNO e LISTA_ALUNOS, considerando que o tipo char tem tamanho de 1 byte e os tipos int e float têm tamanho de 4 bytes. b. Construa uma função que retorne a quantidade de alunos com coeficiente de rendimento maior ou igual a 7. Protótipo: int numalunoscralto(lista_alunos *plista) c. Construa uma função que receba a matrícula de um aluno e exclua este aluno da lista. A função deve retornar o valor 0 caso a exclusão seja bemsucedida, ou o valor 1 caso o aluno não seja encontrado na lista. Protótipo: int excluiraluno(lista_alunos *plista, char *matricula) 10. Considere uma lista ordenada de itens disponíveis no almoxarifado de uma fábrica, sendo que cada item é identificado por um código numérico exclusivo: typedef struct // item do almoxarifado int coditem; // código de identificação do item char descricao[21]; // texto descritivo do item int qtdestoque; // quantidade disponível em estoque } ITEM; typedef struct // lista de itens ITEM item[5000]; // registros dos itens int numitens; // numero de itens na lista } LISTA_ITENS; a. Supondo que a lista não esteja ordenada, construa uma função que receba um código de identificação de item e retorne a quantidade disponível em estoque para o item correspondente (caso o item não exista na lista, deve ser retornado o valor 0). Protótipo: int pesquisar(lista_itens *plista, int cod) b. Supondo agora que a lista esteja ordenada, construa uma nova versão da mesma função construída no item (a) utilizando pesquisa binária. 11. Nesta questão, você implementará uma pilha de caracteres e a utilizará em uma aplicação. a) Defina um tipo de dado denominado PILHA que represente uma pilha capaz de armazenar até 200 elementos do tipo primitivo char e construa as funções empilhar e desempilhar para esta estrutura. Protótipos: int empilhar(pilha *ppilha, char c int desempilhar(pilha *ppilha, char *c) b) Construa uma função que verifique se uma palavra é palíndroma, ou seja, se a palavra se mantém igual quando lida de trás para frente (exemplos: "radar", "arara", etc.). A função deve declarar uma variável do tipo PILHA e utilizar as funções empilhar e desempilhar construídas no item (a). Deve ser retornado o valor inteiro 0 quando a palavra for palíndroma, 1 quando não for palíndroma e 2 quando ocorrer estouro de pilha. Protótipo: int palindroma(char *palavra)

3 12. Uma empresa de manutenção de equipamentos está implementando um sistema de controle de atendimento a chamados de clientes. O sistema deve ser capaz de cadastrar os chamados solicitados pelos clientes e deve garantir que os chamados sejam atendidos na mesma ordem em que tiverem sido cadastrados. Supondo que já exista um tipo de dados definido como CHAMADO que contém todas as informações necessárias para o cadastramento e atendimento de um chamado, implemente o que se pede abaixo: a. Defina um tipo de dados denominado FILA_CHAMADOS, que implemente uma fila circular de registros do tipo CHAMADO, com capacidade máxima de 500 chamados simultâneos. b. Construa uma função para cadastramento de chamados, cuja finalidade seja enfileirar um novo registro do tipo CHAMADO em uma fila circular do tipo FILA_CHAMADOS. Protótipo: int cadastrarchamado(fila_chamados *pfila, CHAMADO *pchamado) c. Construa uma função para atendimento de chamados, cuja finalidade seja desenfileirar um registro do tipo CHAMADO de uma fila circular do tipo FILA_CHAMADOS. Protótipo: int atenderchamado(fila_chamados *pfila, CHAMADO *pchamado) obs: as funções para cadastrar e atender chamados devem retornar o valor 0 quando a operação for bem-sucedida, ou um valor diferente de 0, quando ocorrer algum erro que impossibilite a operação. 13. Considere uma lista dos clientes de uma empresa, definida pelas seguintes estruturas de dados: typedef struct char nome[41]; int idade; float rendamensal; } CLIENTE; // dados do cliente // nome do cliente // idade do cliente // renda mensal do cliente typedef struct // lista de clientes CLIENTE cliente[5000]; // registros dos clientes int numclientes ; // número de clientes armazenados } LISTA_CLIENTES; Escreva funções em linguagem C para ordenar uma lista do tipo LISTA_CLIENTES, utilizando algoritmo de ordenação de sua livre escolha, conforme com os seguintes critérios: a. Pelo campo nome (ordem lexicográfica crescente) Protótipo: ordenarnome(lista_clientes *plista) b. Pelos campos idade (ordem crescente) + rendamensal (ordem decrescente) Protótipo: ordenaridaderenda(lista_clientes *plista)

4 14. Considere agora uma versão encadeada da lista de clientes descrita na questão anterior, definida pelas seguintes estruturas de dados: typedef struct CLIENTE cliente; void * pproximo; } ELEMENTO; // Estrutura de um elemento da lista // dados do cliente // ponteiro para o próximo elemento typedef struct // Estrutura da lista encadeada CLIENTE * pprimeiro; // ponteiro para o primeiro elemento } LISTA_ENCADEADA; Escreva funções em linguagem C para efetuar as operações solicitadas em cada item a seguir: a. Retornar o número de clientes com renda mensal igual ou superior a Protótipo: int numclientesrendaalta(lista_encadeada *plista) b. Retornar ponteiro para o cliente mais velho da lista (retornar NULL em caso de lista vazia). Protótipo: CLIENTE *clientemaisvelho(lista_encadeada *plista) 15. Escreva funções em linguagem C para enfileirar e desenfileirar pacientes de uma fila circular do tipo FILA_PACIENTES, conforme os protótipos abaixo: int enfileirar(fila_pacientes *pfila, PACIENTE *ppaciente) int desenfileirar(fila_pacientes*pfila,paciente *ppaciente) O valor de retorno deve ser igual a 0 quando a operação for bem sucedida, ou igual a 1 quando ocorrer alguma situação em que a operação não possa ser efetuada. 16. Nesta questão, você implementará uma pilha de caracteres e a utilizará em uma aplicação. a. Defina um tipo de dado que represente uma pilha capaz de armazenar até 200 elementos do tipo primitivo char e construa as funções empilhar e desempilhar para esta estrutura. b. Construa uma função que receba como parâmetro uma string contendo uma instrução em linguagem C e verifique se os parênteses e colchetes estão consistentes, utilizando a pilha que você definiu (exemplo: "x=2*(a[5*(2+b[i])]-c[j]);" é uma expressão consistente, mas "x=2*(a[5*(2+b[i])-c[j]);" e "x=2*a[5*(2+b[i])]-c[j]);" não são). 17. Considere uma lista simplesmente encadeada cujos elementos possuam a estrutura abaixo, onde o tipo ALUNO foi definido na questão 1: typedef struct ALUNO aluno; // dados do aluno void * pproximoaluno; // ponteiro para próximo aluno } ELEMENTO;

5 A lista deve ser representada por um ponteiro do tipo ELEMENTO * apontando para um "nó-cabeça" cujo campo pproximoaluno aponta para o primeiro aluno da lista. Escreva os algoritmos necessários para efetuar cada as operações especificadas abaixo: a. Retornar a quantidade de alunos com coeficiente de rendimento maior ou igual a 7. int numalunoscralto(elemento *plista) b. Excluir da lista todos os alunos com coeficiente de rendimento menor que 5. void excluiralunoscrbaixo(elemento *plista) c. Retornar o nome do aluno com o maior coeficiente de rendimento da lista. char * nomealunomaiorcr(elemento *plista) 18. Nesta questão, você trabalhará com filas circulares e construirá um sistema de gerenciamento de filas de impressão (spooler). Um spooler é utilizado quando uma impressora de rede é compartilhada por diversos usuários. Ao se inserir um arquivo no spooler, especifica-se um nível de prioridade para aquele arquivo. Arquivos com mesmo nível de prioridade são processados em ordem de chegada, mas arquivos com nível de prioridade mais alto são sempre processados antes dos arquivos com prioridade mais baixa (mesmo tendo chegado depois). Considere um spooler composto por 3 filas, conforme a estrutura abaixo, onde o tipo de dado FILA é uma implementação padrão de fila circular: typedef FILA FilaAlta; // Fila de prioridade alta FILA FilaMedia; // Fila de prioridade média FILA FilaBaixa; // Fila de prioridade baixa } SPOOLER; a. Defina o tipo de dado FILA para uma fila circular capaz de armazenar até 50 elementos do tipo FILE * e construa as funções enfileirar e desenfileirar para esta estrutura. Estas funções devem retornar um código indicando se foi possível realizar a operação. b. Construa a função inserirspooler(spooler *,FILE *,char), que enfileira o ponteiro de arquivo recebido na fila com a prioridade especificada ('A'=alta; 'M'=média; 'B'=baixa), e a função retirarspooler(spooler *,FILE *), que desenfileira o ponteiro de arquivo que estiver no início da fila de mais alta prioridade que não esteja vazia. 19. Considere uma versão duplamente encadeada (com "nó-cabeça") da lista descrita na questão anterior, cujos elementos possuam a estrutura typedef struct DADOS_CLIENTE dados; // dados do cliente void * pproximocliente; // ponteiro para próximo cliente void * pclienteanterior; // ponteiro para cliente anterior } ELEMENTO; Escreva os algoritmos necessários para efetuar cada as operações definidas abaixo:

6 a. Trocar um elemento de posição com o seu sucessor void trocarposicao(elemento *pelemento) b. Ordenar os elementos da lista em ordem crescente de idade, utilizando bubblesort. void ordenarbolha(elemento *plista) 20. Considere uma lista encadeada que armazena os clientes de uma empresa, definida pelas seguintes estruturas de dados: typedef struct char nome[41]; char telefone[15]; int idade; } DADOS_CLIENTE; // Dados de um cliente da empresa // nome do cliente // telefone do cliente // idade do cliente typedef struct // Nó da lista encadeada DADOS_CLIENTE dados; // dados do cliente void * pproximocliente; // ponteiro para próximo cliente } CLIENTE; typedef struct // Lista encadeada de clientes CLIENTE * pprimeirocliente; // ponteiro p/ primeiro cliente } LISTA_CLIENTES; Escreva funções em linguagem C para efetuar as operações solicitadas em cada item a seguir: a. Retornar o número total de clientes armazenados na lista. int numelementos(lista_clientes *plista) b. Retornar os dados do cliente mais velho da lista. DADOS_CLIENTE *dadosclientemaisvelho(lista_clientes *plista) c. Excluir da lista todos os clientes com idade maior ou igual a 65 anos. void excluiridosos(lista_clientes *plista)

7 Árvores 1. Forneça um algoritmo não recursivo que execute um percurso de árvore em ordem. (Sugestão: Existe uma solução fácil que usa uma pilha como uma estrutura de dados auxiliar e uma solução mais complicada, embora elegante, que não emprega nenhuma pilha mas pressupõe que é possível testar a igualdade entre dois ponteiros.) 2. Forneça algoritmos recursivos que executem caminhos de árvores de pré-ordem e pós-ordem no tempo Θ( ) em uma árvore de n nós. 3. Mostre que, se um nó em uma árvore de pesquisa binária tem dois filhos, então seu sucessor não tem nenhum filho da esquerda e seu predecessor não tem nenhum filho da direita. 4. Um percurso de árvore em ordem de uma árvore de pesquisa binária de n nós pode ser implementado encontrando-se o elemento mínimo na árvore com TREE- MINIMUM e, em seguida, fazendo-se n-1 chamadas a TREE-SUCESSOR. Prove que este algoritmo é executado em tempo Θ( ). 5. Podemos classificar um dado conjunto de n números construindo primeiro uma árvore de pesquisa binária contendo esses números ( usando TREE-INSERT repetidamente para inserir os números um a um), e depois imprimindo os números por meio de um percurso de árvore em ordem. Quais são os tempos de execução no pior caso e no melhor caso para esse algoritmo de ordenação? 6. Dadas duas cadeias = = onde cada e cada pertencem a algum conjunto ordenado de caracteres, dizemos que a cadeia a é lexicograficamente menor que a cadeia b se

8 1- Existe um inteiro j, onde 0 min (, ), tal que = para todo =0,1, 1 <, ou 2- < = para todo =0,1,,. Por exemplo, se a e b são cadeias de bits, então < pela regra 1 (fazendo-se j = 3) e < pela regra 2. Isso é semelhante à ordenação utilizada nos dicionários de idiomas. A estrutura de dados raiz de árvore mostrada na figura abaixo armazena as cadeias de bits 1011, 10, 011, 100 e 0. Quando procuramos por uma chave =, vamos para a esquerda em um nó de profundidade i se =0 e para a direita se =1. Seja S um conjunto de cadeias binárias distintas cujos comprimentos produzem a soma n. Mostre como usar uma raiz de árvore para ordenar lexicograficamente o conjunto S no tempo Θ( ). No caso do exemplo da Figura, a saída da ordenação deve ser a sequência 0, 011, 10, 100, Considere a árvore binária de busca representada no diagrama abaixo, no qual são exibidos os valores das chaves de ordenação numéricas correspondentes a cada nó: a. Indique a ordem em que os nós da árvore acima seriam visitados em um percurso pré-ordem e em um percurso pós-ordem. b. Mostre que é árvore acima é AVL, indicando, para cada nó, as alturas das subárvores esquerda e direita e o fator de balanço correspondente. c. Redesenhe a árvore após a inserção de um novo elemento cuja chave de ordenação tenha valor 60 e demonstre que a árvore deixará de ser AVL, indicando os nós que ficarão desregulados e seus respectivos balanços. d. Indique qual o tipo de rotação que deve ser aplicada para que a árvore volte a ser AVL após a inclusão do novo elemento e redesenhe a árvore após a aplicação dessa rotação.

9 8. Considere uma lista telefônica armazenada na forma de uma árvore binária de busca, representada pelas estruturas de dados definidas abaixo: typedef struct char nome[41]; char telefone[11];} ASSINANTE; typedef struct ASSINANTE a; void *pdir; void *pesq;} NO; a. Construa uma função recursiva que receba o nome de um assinante e retorne o seu telefone (a função deve retornar NULL caso o assinante não seja encontrado na lista). Protótipo: char * pesquisartelefone(no * pnoraiz, char *nomeassinante) b. Construa uma função recursiva que exiba a lista de assinantes em ordem alfabética (dica: faça um percurso em ordem simétrica, imprimindo nome e telefone para cada nó visitado). Protótipo: void exibirlista(no *pnoraiz) c. Construa uma função recursiva que retorne a altura da árvore. Protótipo: int determinaraltura(no *pnoraiz) 9. Considere um cadastro de alunos armazenado em uma árvore binária de busca representada pelas estruturas de dados abaixo, utilizando o campo nome como chave de ordenação: typedef struct char nome[51]; int idade; } ALUNO; typedef struct ALUNO raiz; void *psubarvdir; void *psubarvesq; } ARVORE; a. Construa uma função recursiva que receba o nome de um aluno e retorne a sua idade (a função deve retornar NULL caso o aluno não seja encontrado na árvore). Protótipo: int pesquisaridadealuno(arvore *parvore, char *nomealuno) b. Construa uma função recursiva que imprima os nomes de todos os alunos cadastrados na árvore em ordem alfabética (dica: implemente um percurso em ordem simétrica). Protótipo: void imprimirnomes(arvore *parvore) c. Construa uma função recursiva que receba um ponteiro para uma estrutura do tipo ARVORE e execute uma rotação dupla à direita na raiz da árvore AVL representada nesta estrutura. Protótipo: void rotacaodupladireita(arvore *parvore)

10 10. Considere um cadastro de funcionários armazenado na forma de uma árvore binária de busca representada pelas estruturas de dados definidas abaixo: typedef struct // DADOS DO FUNCIONARIO int matricula; // matricula do funcionario char nome[41]; // nome do funcionario float salario; // salario do funcionario } FUNCIONARIO; typedef struct // ARVORE BINARIA DE BUSCA FUNCIONARIO raiz; // dados do funcionario void *psubarvoreesq; // ponteiro para subarvore esquerda void *psubarvoredir; // ponteiro para subarvore direita } ARVORE; Construa uma função recursiva que receba a matrícula de um funcionário e retorne o seu salário. Protótipo: float salariofuncionario(arvore *parvore, int matricula)

INF 1620 P4-13/12/01 Questão 1 Nome:

INF 1620 P4-13/12/01 Questão 1 Nome: INF 1620 P4-13/12/01 Questão 1 (a) Escreva uma função em C, chamada somaprod, para calcular a soma e o produto de dois valores inteiros. Esta função deve ter o seguinte efeito: se tivermos duas variáveis

Leia mais

INF1010 Lista de Exercícios 2

INF1010 Lista de Exercícios 2 INF00 Lista de Exercícios 2 Árvores. Construir algoritmo para dada uma árvore n-ária, transformá-la em uma árvore binária. 2. Qual a maior e menor quantidade de nós que podem existir em uma árvore binária

Leia mais

1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó.

1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó. 1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó. b. Achar o maior elemento (campo numérico) de uma árvore binária dada. c. Trocar

Leia mais

INF 1620 P2-23/10/04 Questão 1 Nome:

INF 1620 P2-23/10/04 Questão 1 Nome: INF 1620 P2-23/10/04 Questão 1 Considere um tipo abstrato de dados para representar uma disciplina da PUC-Rio, com as seguintes informações: Nome da disciplina: com até 50 caracteres Código da disciplina:

Leia mais

INF 1620 P4-27/06/02 Questão 1 Nome:

INF 1620 P4-27/06/02 Questão 1 Nome: INF 1620 P4-27/06/02 Questão 1 Considere o tipo que representa uma grandeza vetorial (com três componentes) dado por: struct vetor { float x; float y; float z; }; typedef vetor Vetor; Pede-se: (a) Escreva

Leia mais

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P4 07/12/2010

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P4 07/12/2010 Departamento de Informática - PUC-Rio INF 1007 Programação 2 P4 07/12/2010 Aluno: Matrícula: Turma: Instruções: 1) Escreva seu nome completo, matrícula e turma; 2) A prova deve ser completamente resolvida

Leia mais

INF P4-12/12/09 Questão 1 Nome:

INF P4-12/12/09 Questão 1 Nome: INF 1007 - P4-12/12/09 Questão 1 QUESTÃO OBRIGATÓRIA [Valor: 2,5 pontos] Escreva um programa completo em C que leia do teclado um caractere e uma cadeia de caracteres e escreva quantas vezes aquele caractere

Leia mais

INF 1620 P4-09/07/03 Questão 1 Nome:

INF 1620 P4-09/07/03 Questão 1 Nome: INF 1620 P4-09/07/03 Questão 1 Um ponto geométrico no espaço 2D é representado pelas coordenadas reais x e y. Considere uma aplicação que precisa manipular pontos, através da implementação de duas funções.

Leia mais

INF 1620 P4-06/12/02 Questão 1 Nome:

INF 1620 P4-06/12/02 Questão 1 Nome: INF 1620 P4-06/12/02 Questão 1 (a) Escreva uma função em C que receba como parâmetro um número inteiro não negativo e retorne, como resultado da função, o valor do seu fatorial. O cabeçalho desta função

Leia mais

1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó.

1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó. 1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó. b. Achar o maior elemento (campo numérico) de uma árvore binária dada. c. Trocar

Leia mais

INF 1620 P4 11/12/06 Questão 1 Nome:

INF 1620 P4 11/12/06 Questão 1 Nome: INF 1620 P4 11/12/06 Questão 1 Considere que o cálculo da multa para o pagamento de um determinado imposto varia de acordo com a tabela a seguir: Valor do Imposto Original Multa por mês de atraso até R$

Leia mais

Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas)

Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas) Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 Lista Obrigatória 02 - Prof. Rafael Oliveira (Deve ser entregue em PDF via Moodle: Escolha apenas 5 exercícios para entrega) Exercício 01

Leia mais

INF 1620 P2-14/10/05 Questão 1 Nome:

INF 1620 P2-14/10/05 Questão 1 Nome: INF 1620 P2-14/10/05 Questão 1 Considere um cadastro de produtos de um estoque, com as seguintes informações para cada produto: Código de identificação do produto: representado por um valor inteiro Nome

Leia mais

Tipos e Estruturas de Dados Profa. Graça Nunes Lista de Exercícios (Listas Encadeadas, Duplamente Encadeadas e Circulares)

Tipos e Estruturas de Dados Profa. Graça Nunes Lista de Exercícios (Listas Encadeadas, Duplamente Encadeadas e Circulares) Tipos e Estruturas de Dados Profa. Graça Nunes Lista de Exercícios (Listas Encadeadas, Duplamente Encadeadas e Circulares) 1. Refaça todos os itens do exercício 1 da Lista de Exercícios anterior (Listas

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR

UNIVERSIDADE DA BEIRA INTERIOR UNIVERSIDADE DA BEIRA INTERIOR Algoritmos e Estruturas de Dados - Bioengenharia 2º Semestre Exame Época Normal Resolução 13/junho/2015 A. [3.5 val] Algoritmos de ordenação e de pesquisa Considere-se as

Leia mais

1. Faça um programa que leia uma string digitada pelo usuário e salve em um arquivo em branco.

1. Faça um programa que leia uma string digitada pelo usuário e salve em um arquivo em branco. Segunda lista de exercícios v100 Engenharia Elétrica - Eletrônica 2º Semestre de 2015 Prof: Daniel Rodrigo Ferraz Bonetti SSC0300 Linguagem de Programação e Aplicações 1 Faça um programa que leia uma string

Leia mais

Departamento de Informática PUC-Rio INF Estruturas de Dados Lista 2 Completa (Gerada em 8 de maio de 2006)

Departamento de Informática PUC-Rio INF Estruturas de Dados Lista 2 Completa (Gerada em 8 de maio de 2006) Departamento de Informática PUC-Rio INF1620 - Estruturas de Dados Lista 2 Completa 2006.1 (Gerada em 8 de maio de 2006) 1. Considerando a estrutura struct Ponto { int x; int y; para representar um ponto

Leia mais

ASSOCIAÇÃO PARAIBANA DE ENSINO RENOVADO FACULDADE PARAIBANA DE PROCESSAMENTO DE DADOS ESTRUTURA DE DADOS

ASSOCIAÇÃO PARAIBANA DE ENSINO RENOVADO FACULDADE PARAIBANA DE PROCESSAMENTO DE DADOS ESTRUTURA DE DADOS ASSOCIAÇÃO PARAIBANA DE ENSINO RENOVADO FACULDADE PARAIBANA DE PROCESSAMENTO DE DADOS ESTRUTURA DE DADOS INTRODUÇÃO O que é uma Estrutura de Dados (ED)?? Tipos de Dados? Estruturas de Dados e? Tipos Abstratos

Leia mais

INF 1620 P3-29/06/04 Questão 1 Nome:

INF 1620 P3-29/06/04 Questão 1 Nome: INF 1620 P3-29/06/04 Questão 1 Considere um arquivo texto que descreve um conjunto de retângulos e círculos. Cada linha do arquivo contém a descrição de uma figura. O primeiro caractere da linha indica

Leia mais

INF 1620 P3-27/11/04 Questão 1 Nome:

INF 1620 P3-27/11/04 Questão 1 Nome: INF 1620 P3-27/11/04 Questão 1 Considere um arquivo texto com as notas dos alunos de uma disciplina. Os dados de cada aluno são armazenados em duas linhas do arquivo: uma com o seu nome (cadeia com até

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

Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões Edital de Seleção 024/2017 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: «Nome» INSCRIÇÃO: «Inscrição» Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome

Leia mais

Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB

Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Listas e Filas Estruturas de Dados 2 Estrututuras de dados lineares Pilhas (stack) Estrutura de dados onde a inserção

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

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 23/06/2010

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 23/06/2010 Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 23/06/2010 Aluno: Instruções: 1) Escreva seu nome completo, matrícula e turma em todas as folhas desta prova; 2) A prova deve ser completamente

Leia mais

PCC104 - Projeto e Análise de Algoritmos

PCC104 - Projeto e Análise de Algoritmos PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho (baseado nas notas de aula do prof. Túlio A. M. Toffolo) Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade

Leia mais

Pilhas. ser acessada somente por uma de suas extremidades. pelo topo. S Uma pilha é uma estrutura linear de dados que pode

Pilhas. ser acessada somente por uma de suas extremidades. pelo topo. S Uma pilha é uma estrutura linear de dados que pode Pilhas e Filas Pilhas Uma pilha é uma estrutura linear de dados que pode ser acessada somente por uma de suas extremidades. Uma pilha é uma lista LIFO (do inglês last-in-first out) o último a entrar é

Leia mais

2. Considerando as seguintes declarações de uma lista encadeada

2. Considerando as seguintes declarações de uma lista encadeada Departamento de Informática PUC-Rio INF1620 - Estruturas de Dados Terceira Lista de Exercícios 2005.1 1. Considerando as seguintes declarações de uma lista encadeada char matricula[8]; char turma; float

Leia mais

INF 1620 P3-25/11/05 Questão 1 Nome:

INF 1620 P3-25/11/05 Questão 1 Nome: INF 1620 P3-25/11/05 Questão 1 Dizemos que uma matriz quadrada é um quadrado mágico se a soma dos elementos de cada linha, a soma dos elementos de cada coluna e a soma dos elementos de sua diagonal principal

Leia mais

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo PMR2300 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó (exceto a

Leia mais

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C Exercícios: Árvores 1. Utilizando os conceitos de grafos, defina uma árvore.

Leia mais

Aula 7 e 8 Filas e suas Aplicações. Prof. Leticia Winkler

Aula 7 e 8 Filas e suas Aplicações. Prof. Leticia Winkler Aula 7 e 8 Filas e suas Aplicações Prof. Leticia Winkler 1 Definição de Fila (Queue) São estruturas de dados do tipo FIFO (first-in first-out) - o primeiro elemento a ser inserido, será o primeiro a ser

Leia mais

INF 1620 P2-01/11/03 Questão 1 Nome:

INF 1620 P2-01/11/03 Questão 1 Nome: INF 1620 P2-01/11/03 Questão 1 Considere a implementação de uma lista encadeada para armazenar as notas dos alunos de uma turma dada pelo tipo abaixo: struct lista { char nome[81]; int mat; float p1, p2,

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

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó

Leia mais

Pilhas, Filas e Listas

Pilhas, Filas e Listas Gabarito Lista 2 Algoritmos e Estruturas de Dados DEL-UFRJ Pilhas, Filas e Listas 1.Basta criar uma estrutura de dados contendo um vetor com as informações de tamanho de todo o vetor, do tamanho n1 da

Leia mais

Lista de Exercícios 04

Lista de Exercícios 04 Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Disciplina: BCC202 - Estruturas de Dados I Professor: Túlio Toffolo (www.decom.ufop.br/toffolo)

Leia mais

Aluno: Valor Nota Q1 3.0 Q2 2.5 Q3 2.5 Q4 2.0 Total 10.0

Aluno: Valor Nota Q1 3.0 Q2 2.5 Q3 2.5 Q4 2.0 Total 10.0 P4 Programação II 2012.2 Departamento de Informática/PUC- Rio Aluno: Matrícula: Turma: 1. A prova é sem consulta e sem perguntas. A interpretação do enunciado faz parte da prova. 2. A prova deve ser completamente

Leia mais

Universidade de São Paulo

Universidade de São Paulo Universidade de São Paulo Instituto de Ciências Matemáticas e Computação SCE5763 - Tipos e Estrutura de Dados - Luis Gustavo Nonato 2 a Lista de Exercícios 1. Seja A um array de inteiros. Escreva algoritmos

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR

UNIVERSIDADE DA BEIRA INTERIOR UNIVERSIDADE DA BEIRA INTERIOR Algoritmos e Estruturas de Dados - Bioengenharia 2º Semestre Exame Especial Resolução 19/07/2013 A. [4.75 val] Algoritmos de ordenação e de pesquisa (usando memória estática

Leia mais

Capítulo 8: Abstrações de dados

Capítulo 8: Abstrações de dados Capítulo 8: Abstrações de dados Ciência da computação: Uma visão abrangente 11a Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Estruturas de dados básicas Matriz homogênea Matriz

Leia mais

Algoritmos e Estruturas de Dados II IEC013

Algoritmos e Estruturas de Dados II IEC013 Algoritmos e Estruturas de Dados II IEC013 Revisão: Listas Encadeadas Prof. César Melo Todos os créditos reservados ao professor Leandro Galvão Listas Encadeadas Listas encadeadas ou listas ligadas representam

Leia mais

Filas. Prof. Túlio Toffolo BCC202 Aula 12 Algoritmos e Estruturas de Dados I

Filas. Prof. Túlio Toffolo  BCC202 Aula 12 Algoritmos e Estruturas de Dados I Filas Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 12 Algoritmos e Estruturas de Dados I O que é uma fila? 1 4 2 3 Fila 1 2 3 4 TAD Fila Tipo Abstrato de dados com a seguinte característica:

Leia mais

S U M Á R I O. Definição de Estrutura de Dados. Vetores. Listas Ligadas. Pilhas. Filas

S U M Á R I O. Definição de Estrutura de Dados. Vetores. Listas Ligadas. Pilhas. Filas ESTRUTURA DE DADOS DEBORAH FERREIRA S U M Á R I O Definição de Estrutura de Dados 1 Vetores 2 Listas Ligadas 4 Pilhas 6 Filas 8 D E F I N I Ç Ã O D E E S T R U T U R A D E D A D O S Estruturas de dados

Leia mais

Alocação dinâmica. PUC-Rio, , INF H: Programação 2 Lista 1: Alocação dinâmica, recursão e estruturas

Alocação dinâmica. PUC-Rio, , INF H: Programação 2 Lista 1: Alocação dinâmica, recursão e estruturas PUC-Rio, 2017.1, INF1007.33H: Programação 2 Lista 1: Alocação dinâmica, recursão e estruturas Alocação dinâmica Exercício 1 Escreva a função obtem_maiores que recebe um vetor de inteiros v, o tamanho n

Leia mais

Árvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira

Árvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira Árvores SCC-202 Algoritmos e Estruturas de Dados I Lucas Antiqueira Listas e árvores Listas lineares Um nó após o outro, adjacentes Nó sucessor e antecessor Diversas aplicações necessitam de estruturas

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR

UNIVERSIDADE DA BEIRA INTERIOR UNIVERSIDADE DA BEIRA INTERIOR Algoritmos e Estruturas de Dados - Bioengenharia 2º Semestre Frequência Resolução 19/maio/2015 A. [3.5 val] Algoritmos de ordenação e de pesquisa Considere-se as seguintes

Leia mais

char* prefixo (char* str, int n);

char* prefixo (char* str, int n); Departamento de Informática PUC-Rio INF1620 - Estruturas de Dados Segunda Lista de Exercícios 2005.1 1. Implemente uma função que receba uma string e um número inteiro n como parâmetros, e retorne uma

Leia mais

Bit (Binary Digit) é a menor unidade de armazenamento de informação dentro do computador; Byte é a união de 8 bits capaz de representar 256

Bit (Binary Digit) é a menor unidade de armazenamento de informação dentro do computador; Byte é a união de 8 bits capaz de representar 256 Bit (Binary Digit) é a menor unidade de armazenamento de informação dentro do computador; Byte é a união de 8 bits capaz de representar 256 informações diferentes; Tipos Primitivos são implementados nas

Leia mais

Estrutura de Dados: Aula 3 - Linguagem C

Estrutura de Dados: Aula 3 - Linguagem C Estrutura de Dados: Aula 3 - Linguagem C Uso de Memória Alocação de memória Estática Ocorre em tempo de compilação no momento em que se define uma variável ou estrutura é necessário que se definam seu

Leia mais

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

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Tópicos Introdução Alocação sequencial Listas lineares,

Leia mais

INF 1620 P2-17/05/08 Questão 1 Nome:

INF 1620 P2-17/05/08 Questão 1 Nome: INF 620 P2-7/05/08 Questão Considere um cadastro de produtos de um estoque, com as seguintes informações: Código de Identificação do produto: representado por um número inteiro Nome do produto: com até

Leia mais

ICET CURSO: Ciência da Computação e Sistemas de Informação (Estrutura de Dados) Estudos Disciplinares Campus: Data: / / Nome:

ICET CURSO: Ciência da Computação e Sistemas de Informação (Estrutura de Dados) Estudos Disciplinares Campus: Data: / / Nome: ICET CURSO: Ciência da Computação e Sistemas de Informação (Estrutura de Dados) Estudos Disciplinares Campus: Data: / / Nome: RA: Turma: Questão 1 (ENADE Computação 2005) No famoso jogo da Torre de Hanói,

Leia mais

Ensino Médio Integrado Técnico em Informática

Ensino Médio Integrado Técnico em Informática Ensino Médio Integrado Técnico em Informática AVALIAÇÃO BIMESTRAL 3.º Bimestre LINGUAGEM DE PROGRMAÇÃO Paranaguá, 29 de Setembro de 2016 Gil Eduardo de Andrade Avaliação Prática Tempo Total: 200 minutos

Leia mais

Edital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Edital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões Edital de Seleção 023/2018 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua

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

INF 1620 P4 30/06/07 Questão 1 Nome:

INF 1620 P4 30/06/07 Questão 1 Nome: INF 1620 P4 30/06/07 Questão 1 O maior divisor comum (MDC) de dois números inteiros é o maior número inteiro que faz uma divisão exata (com resto zero) desses dois números. Por exemplo, o MDC de 32 e 40

Leia mais

PAA-DCC-UFAM. Árvores. Universidade Federal do Amazonas Departamento de Eletrônica e Computação

PAA-DCC-UFAM. Árvores. Universidade Federal do Amazonas Departamento de Eletrônica e Computação Árvores Universidade Federal do Amazonas Departamento de Eletrônica e Computação Árvores Árvores são conjuntos cujos elementos guardam uma relação hierarquica entre eles Terminologia (1) A é o nodo raiz.

Leia mais

DAINF - Departamento de Informática

DAINF - Departamento de Informática DAINF - Departamento de Informática Algoritmos 2 - Árvore binária de busca Prof. Alex Kutzke ( http://alex.kutzke.com.br/courses ) 30 de Novembro de 2015 Slides adaptados do material produzido pelo Prof.

Leia mais

# Estrutura de Dados # Aula 06 Pilhas Estáticas. Prof. Leinylson Fontinele Pereira

# Estrutura de Dados # Aula 06 Pilhas Estáticas. Prof. Leinylson Fontinele Pereira # Estrutura de Dados # Aula 06 Pilhas Estáticas Prof. Leinylson Fontinele Pereira Na aula anterior... Filas Estáticas Sequencial # Propriedades # Operações fundamentais Introdução 3 O que vamos aprender?

Leia mais

INF 1620 P4-01/07/08 Questão 1 Nome:

INF 1620 P4-01/07/08 Questão 1 Nome: INF 1620 P4-01/07/08 Questão 1 Escreva uma função em C que receba duas strings, cujos caracteres estão ordenados em ordem crescente, e retorne uma nova string alocada dinamicamente, que contém todos os

Leia mais

Lista de Exercícios de CES-11 CTA - ITA - IEC

Lista de Exercícios de CES-11 CTA - ITA - IEC Lista de Exercícios de CES11 CTA ITA IEC Importante: Não vale nota, ou seja, não é preciso entregar! A. Passagem de parâmetros, escopo de variáveis, recursão 1. Analise o código abaixo. Qual é a sua saída?

Leia mais

INF 1620 P3-06/12/03 Questão 1 Nome:

INF 1620 P3-06/12/03 Questão 1 Nome: INF 1620 P3-06/12/03 Questão 1 Considere um cadastro com as médias por disciplina dos alunos de uma universidade. Esse cadastro é originalmente armazenado em um arquivo texto que contém, para cada disciplina,

Leia mais

Árvores Binárias. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich

Árvores Binárias. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich Árvores Binárias SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista. Figuras editadas por Isadora Maria Mendes http://www.icmc.usp.br/~paulovic

Leia mais

Algoritmos e Estruturas de Dados I

Algoritmos e Estruturas de Dados I Algoritmos e Estruturas de Dados I Aula 09 Revisão + Simulado Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2019 1 Vetores 2 Vetores 3 Vetores vetor 4 Vetores... vetor... 5 Ponteiros 6 Processo

Leia mais

1. Selecione a Estrutura de Dados que melhor representa os diretórios ou pastas de arquivos do computador.

1. Selecione a Estrutura de Dados que melhor representa os diretórios ou pastas de arquivos do computador. 1. Selecione a Estrutura de Dados que melhor representa os diretórios ou pastas de arquivos do computador. 1) Fila 2) Pilha 3) Árvore 4) Lista 5) Grafo 2. Selecione a Estrutura de Dados que melhor representa

Leia mais

Fontes Bibliográficas. Estruturas de Dados Aula 15: Árvores. Livros:

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

Leia mais

Árvores. Estruturas de Dados. Prof. Vilson Heck Junior

Árvores. Estruturas de Dados. Prof. Vilson Heck Junior Árvores Estruturas de Dados Prof. Vilson Heck Junior Árvores INTRODUÇÃO Introdução Árvores são estruturas de dados utilizadas para armazenar e recuperar dados de forma rápida e eficiente; Árvores não são

Leia mais

Estruturas de Dados Filas

Estruturas de Dados Filas Estruturas de Dados Filas Roteiro Introdução Definição de Fila (Queue) Aplicações Operações sobre Fila Implementação de Fila Com vetores Com listas encadeadas Exercícios Introdução Estamos acostumados

Leia mais

Edital de Seleção 032/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Edital de Seleção 032/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões Edital de Seleção 032/2016 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua

Leia mais

ÁRVORES BINÁRIAS DE BUSCA. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

ÁRVORES BINÁRIAS DE BUSCA. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos ÁRVORES BINÁRIAS DE BUSCA Vanessa Braganholo Estruturas de Dados e Seus Algoritmos REFERÊNCIA Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Cap. 4 INSTITUTO DE COMPUTAÇÃO

Leia mais

(a) Indique, em português, o que realiza a seguinte função. [4 pontos]

(a) Indique, em português, o que realiza a seguinte função. [4 pontos] Universidade Federal do ABC Avaliação: Prova 02 Disciplina: MCTA028 - Programação Estruturada Turma: Noturno - A1 Professor: Jesús P. Mena-Chalco Data: 01/12/2016 Nome completo: RA: Instruções para a prova

Leia mais

Centro Federal de Educação Tecnológica de Minas Gerais Programa de Pós-Graduação em Modelagem Matemática e Computacional

Centro Federal de Educação Tecnológica de Minas Gerais Programa de Pós-Graduação em Modelagem Matemática e Computacional Centro Federal de Educação Tecnológica de Minas Gerais Programa de Pós-Graduação em Modelagem Matemática e Computacional Disciplina: Algoritmos e Estruturas de Dados Professor: Flávio Cardeal Lista de

Leia mais

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

Heaps. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Heaps Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Conteúdo Introdução Definição de Heap Heap Binária Implementação com vetor Fila de Prioridades

Leia mais

Arvores, Percursos não recursivos, Arvores heterogêneas. Aula 19

Arvores, Percursos não recursivos, Arvores heterogêneas. Aula 19 Arvores, Percursos não recursivos, Arvores heterogêneas Aula 19 Arvores binárias encadeadas Percorrer uma árvore é uma operação muito comum e seria útil encontrar um método mais eficiente para implementar

Leia mais

Árvores & Árvores Binárias

Árvores & Árvores Binárias SCE 182 SCC122 Algoritmos Estruturas e Estruturas de Dados de Dados I Árvores & Árvores Binárias Prof. Material Original: Walter Aoiama Nagai; Maria das Graças Volpe Nunes; Definições Árvore T é um conjunto

Leia mais

AED1 - Árvores. Hebert Coelho. Instituto de Informática Universidade Federal de Goiás. HC AED1-Árvores 1/49

AED1 - Árvores. Hebert Coelho. Instituto de Informática Universidade Federal de Goiás. HC AED1-Árvores 1/49 AED1 - Árvores Hebert Coelho Instituto de Informática Universidade Federal de Goiás HC AED1-Árvores 1/49 Roteiro Árvore; Árvores - Representações; Árvores - Conceitos; Árvores Binárias; Árvores Binárias

Leia mais

Variáveis Compostas Homogêneas Vetores

Variáveis Compostas Homogêneas Vetores Variáveis Compostas Homogêneas Vetores Lógica de Programação Prof. Kleber Rezende Considerações Iniciais Os vetores são variáveis estruturadas homogêneas capazes de armazenar uma série de informações de

Leia mais

Estruturas de dados e algoritmos fundamentais

Estruturas de dados e algoritmos fundamentais Ministério da Ciência, Tecnologia e Ensino Superior U.C. 21046 Estruturas de dados e algoritmos fundamentais 21 de Junho de 2013 INSTRUÇÕES PARA A RESOLUÇÃO DO EXAME, ACONSELHA-SE QUE LEIA ATENTAMENTE

Leia mais

Variáveis, Tipos de Dados e Operadores

Variáveis, Tipos de Dados e Operadores ! Variáveis, Tipos de Dados e Operadores Engenharias Informática Aplicada 2.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) VARIÁVEL VARIÁVEL É um local lógico, ligado a um endereço físico da memória

Leia mais

Algoritmos e Estruturas de Dados

Algoritmos e Estruturas de Dados Introdução aos Algoritmos e Estruturas de Dados Repescagem 2 o Teste - B Ano lectivo: 2010/2011 2 o Semestre RESOLUÇÃO DA REPESCAGEM DO 2 o TESTE I. (2.5 + 2.5 + 3.0 = 8.0 val.) I.a) Considere o tipo Voo

Leia mais

INF 1620 P3-02/07/02 Questão 1 Nome:

INF 1620 P3-02/07/02 Questão 1 Nome: INF 1620 P3-02/07/02 Questão 1 Considere um arquivo texto que contém os nomes e as notas dos alunos de uma disciplina. As informações de cada aluno ocupam duas linhas do arquivo: a primeira linha contém

Leia mais

Universidade Federal de Mato Grosso Estrutura de Dados II

Universidade Federal de Mato Grosso Estrutura de Dados II Universidade Federal de Mato Grosso Estrutura de Dados II Curso de Ciência da Computação Prof. Thiago P. da Silva thiagosilva@ufmt.br Agenda Definições Fator de Balanceamento Estrutura de um Nó Operações

Leia mais

Árvores & Árvores Binárias

Árvores & Árvores Binárias Árvores & Árvores Binárias Problema Implementações do TAD Lista Linear Lista encadeada eficiente para inserção e remoção dinâmica de elementos, mas ineficiente para busca Lista seqüencial (ordenada) Eficiente

Leia mais

Prova 2 PMR2300 1o. semestre 2015 Prof. Thiago Martins

Prova 2 PMR2300 1o. semestre 2015 Prof. Thiago Martins Prova PMR00 o. semestre 0 Prof. Thiago Martins Instruções: Escreva o nome e o número USP na folha de papel almaço.. ( pontos) Um heap binário é uma árvore binária completa (todos os níveis exceto o último

Leia mais

Edital de Seleção 055/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Edital de Seleção 055/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões Edital de Seleção 055/2017 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua

Leia mais

Árvores de Pesquisa (Parte II)

Árvores de Pesquisa (Parte II) 2013-02 Aula 21 Adaptado por Reinaldo Fortes para o curso de 2013-02 Arquivo original: 22._arvores_(parte_2) Árvores de Pesquisa (Parte II) Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 24

Leia mais

Pesquisa Linear. Adriano J. Holanda 15/3/2016

Pesquisa Linear. Adriano J. Holanda 15/3/2016 Pesquisa Linear Adriano J. Holanda 15/3/2016 Busca Linear em memória principal Introdução O dados estarão sempre armazenados na memória principal (DRAM 1 ): não há necessidade de acesso à memória secundária

Leia mais

Lista 02: Pilhas & Filas

Lista 02: Pilhas & Filas MAC122 Princípios de Desenvolvimento de Algoritmos DCC IME USP 2º Semestre de 2018 Prof.: Dr. Paulo Miranda pmiranda@vision.ime.usp.br Lista 02: Pilhas & Filas Para as questões envolvendo pilhas, assuma

Leia mais

Pesquisa em Memória Primária Árvores de Busca. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Pesquisa em Memória Primária Árvores de Busca. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Pesquisa em Memória Primária Árvores de Busca David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Árvores de Pesquisa A árvore de pesquisa é uma estrutura de dados muito eficiente para armazenar

Leia mais

Funcional V: estruturas de dados puramente funcionais

Funcional V: estruturas de dados puramente funcionais Funcional V: estruturas de dados puramente funcionais Profs. Diogo S. Mar ns e Emilio Francesquini {santana.mar ns,e.francesquini}@ufabc.edu.br MCTA016 - Paradigmas de Programação (Prá ca) 10 de julho

Leia mais

Algoritmos e Estruturas de dados

Algoritmos e Estruturas de dados Algoritmos e Estruturas de dados Listas Encadeadas Prof. Dr. Fábio Rodrigues de la Rocha (Listas Encadeadas) 1 / 21 Definição: Anteriormente estudamos listas encadeadas que foram implementadas como vetores

Leia mais

Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas

Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas SCC-502 Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Lista com nó de cabeçalho Nó de cabeçalho Header, sentinela, etc.

Leia mais

Listas: a última das 3 estruturas lineares (Pilhas, Filas e Listas)... árvores e grafos são não lineares!

Listas: a última das 3 estruturas lineares (Pilhas, Filas e Listas)... árvores e grafos são não lineares! Listas: a última das 3 estruturas lineares (Pilhas, Filas e Listas)... árvores e grafos são não lineares! 28/9/, 30/9/ e 5/10/2010 Representação/Implementação: Encadeada dinâmica Exercícios Lista Simplesmente

Leia mais

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó

Leia mais

Programação II. Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio Programação II Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio Vetores vs Estruturas Dinâmicas Vetores (arrays): Ocupa um espaço contíguo de memória Permite acesso randômico

Leia mais

Listas ordenadas. Listas ordenadas. Listas ordenadas. Listas ordenadas. Listas ordenadas. Listas ordenadas. Definição

Listas ordenadas. Listas ordenadas. Listas ordenadas. Listas ordenadas. Listas ordenadas. Listas ordenadas. Definição Baseado no material de Thiago A. S. ardo Defção Listas em que os elementos estão ordenados por algum critério Em geral, por ordem alfabética Algoritmos e Estruturas de Dados I Ana Beth Bia Elen Debora

Leia mais

Listas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.

Listas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof. Listas Estáticas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de

Leia mais