4. Listas, Pilhas, e Filas
|
|
- Aline Lacerda Coelho
- 7 Há anos
- Visualizações:
Transcrição
1 4. Listas, Pilhas, e Filas Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 1 / 49 Definição de Lista (1) Uma lista é uma sequência finita de elementos ligados entre si Em que, cada elemento (ou nó) da lista tem a seguinte estrutura: um atributo com o valor do elemento, e um atributo com uma referência para o próximo elemento da lista (será nula se for o último elemento). a ordem dos elementos na lista é relevante. os elementos de uma lista são todos do mesmo tipo. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 2 / 49
2 Definição Recursiva de Lista (2) Uma lista L é uma sequência finita de elementos em que: L ou é uma lista vazia (0 elementos), ou L é uma lista composta por um elemento H (cabeça da lista) seguido de um resto de lista RL com os restantes elementos. Escrito de outra forma (notação do Prolog): L= [] (lista vazia) L= [H RL] (cabeça H, seguida do resto de lista RL) Verificar se X é membro de uma lista L: member(x,[x _]). % X ou está na cabeça da lista member(x,[_ RL]):- member(x,rl).% ou está no resto da lista Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 3 / 49 Definição TAD-Lista (3) Um TAD-lista define-se como uma sequência de elementos: onde cada elemento é caracterizado por uma estrutura com dois atributos: um valor do elemento corrente (e.g. inteiro, objecto, etc), e uma referência para elemento seguinte. e um conjunto de operações a realizar sobre a sequência: addfirst(val) inserir val no início da lista addlast(val) inserir val no fim da lista add(val, index) inserir val na posição index removefirst() remover o primeiro elemento remove(index) remover o elemento na posição index removelast() remover o último elemento get(index) retornar o elemento na posição index indexof(val) retorna a posição da 1a ocorrência de val empty() verificar se a lista está vazia Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 4 / 49
3 Definição de Lista Ligada (class ListNode) Comecemos por definir uma classe Java ListNode que represente um elemento (nó) de uma lista (e.g. de inteiros): Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 5 / 49 Percorrer Listas Ligadas Como escrever os elementos da lista? começar num elemento da lista (o primeiro) enquanto não chegar ao fim da lista escrever o elemento corrente e avançar para o elemento seguinte Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 6 / 49
4 Listas Ligadas (class LinkedIntList) Na definição de lista é determinante saber qual é o primeiro elemento da lista. Uma lista fica caracterizada por uma classe LinkedIntList com first - referencia 1 o elemento (um ListNode). size - mantém o n o de elementos na lista. e os métodos que manipulam os elementos da lista. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 7 / 49 Listas Ligadas (class LinkedIntList) Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 8 / 49
5 Métodos que percorrem a lista (print()) Escrever os elementos da lista: Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 9 / 49 Métodos que percorrem a lista: size() e indexof() Comprimento da lista: calcular o número de elementos na lista. Procurar a posição na lista da 1a. ocorrência de v; retornar -1 se v não existir na lista (podia gerar uma excepção). Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 10 / 49
6 Inserir um elemento numa lista Inserir numa lista vazia: Inserir à cabeça da lista: Implementação: Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 11 / 49 Inserir um elemento numa lista Inserir na posição dada por index (e.g. l.add(5, 2);): A posição index tem de obdecer a 0 <= index <= size-1, em que size é o número de elementos na lista. Se index==0 então corresponde a inserir no início da lista. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 12 / 49
7 Implementação do método add() Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 13 / 49 Remover o primeiro elemento da lista Remover o primeiro elemento da lista: Implementação: Notas: Não estamos a tratar o caso de a lista poder estar vazia. Não retornamos o elemento devolvido! Deve usar-se o método get() antes de remover. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 14 / 49
8 Remover um elemento da lista remove() Remover da lista o elemento da posição index: Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 15 / 49 Obter o valor de um elemento da lista get() Retornar o valor do elemento na posição index da lista: Notas: Nos vários métodos, por simplicidade, não verificamos situações de excepção! Os métodos get() e remove() têm de satisfazer 0 index size 1 (o que garante que a lista não está vazia)! Os métodos getfirst() e removefirst() têm de satisfazer que a lista não está vazia. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 16 / 49
9 Exemplo com a classe LinkedIntList Programa que manipula objectos da classe LinkedIntList: Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 17 / 49 Listas de objectos genéricos Em vez de definirmos listas de inteiros podemos ter listas de objectos genéricos, usando Object: Veremos mais adiante uma definição mais completa, usando tipos genéricos. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 18 / 49
10 TAD Pilha (Stack) Uma pilha é um caso especial de uma lista. Podemos definir uma pilha restringindo as operações sobre o TAD-lista do seguinte modo: 1 apenas podemos adicionar na primeira posição da lista, 2 apenas podemos remover o primeiro elemento da lista. Estas restrições fazem com que uma pilha seja também designada por uma lista LIFO (last-in-first-out). Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 19 / 49 TAD Pilha (Stack) - definição Um TAD-pilha é uma sequência de elementos, S = [a 1, a 2,..., a n ], em que a n é o elemento mais recente da sequência (ou elemento do topo da pilha), juntamente com as operações: 1. x = pop(s) remove e retorna o elemento no topo de S 2. push(x, S) insere x no topo de S 3. top(s) retorna a n, o elemento no topo de S (mas não altera S) 4. isempty(s) retorna true se S estiver vazio, false caso contrário. 5. isfull(s) retorna true se S estiver cheio, false caso contrário. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 20 / 49
11 Uma interface Pilha (Stack) A interface define as assinaturas dos métodos públicos do TAD-Pilha (comentários em Javadoc). Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 21 / 49 Uma interface Pilha (Stack) (2) Duas implementações possíveis: com vectores com listas ligadas Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 22 / 49
12 Pilhas em Java usando vectores (1) Podemos implementar a classe Stack usando vectores e objectos genéricos. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 23 / 49 Pilhas em Java usando vectores (2) Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 24 / 49
13 Pilhas em Java usando listas Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 25 / 49 Exemplo com pilhas: inverter uma sequência de valores Problema: escrever um programa em que dado um valor inteiro, e por recurso a uma pilha, inverta uma lista com os seus divisores primos por ordem decrescente. Por exemplo, dado 2100 o resultado devia ser: Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 26 / 49
14 Exemplo com pilhas (cont.) Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 27 / 49 TAD-Fila (Queue) (1) Uma fila difere de uma pilha na medida em que opera na base de um FIFO (first-in-first-out). Assim, 1 adicionamos novos elementos ao fim da fila, e 2 removemos sempre do princípio da fila. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 28 / 49
15 TAD-Fila (Queue) (2) Um TAD-fila é uma sequência de elementos, F = [a 1, a 2,..., a n ], em que a 1 é o primeiro elemento da fila e a n é o último, juntamente com as seguintes operações (asseguram que funciona como um FIFO): 1. init() inicializa a fila em vazio; 2. isempty() verifica se a fila está vazia; 3. isfull() verifica se a fila está cheia; 4. add(x) adiciona x na última posição da fila; 5. peek() retorna o valor do 1o elemento da fila; 2. remove() remove o 1o. elemento da fila e retorna esse valor; Aplicações: simulação de filas (bancos, supermercados, atendimento público, etc.), implementação a baixo nível da leitura da linha de comando, pesquisa breadth-first de uma árvore, etc. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 29 / 49 Uma interface Fila (Queue) (1) Descreve os nomes dos métodos públicos do TAD-Fila, como são declarados e usados (comentários em Javadoc). Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 30 / 49
16 Uma interface Fila (Queue) (2) Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 31 / 49 Implementação de filas: vector circular (1) A ideia é representar a fila por um vector circular, em que first e last são cursores do vector que apontam para o início e fim da fila. Condições importantes a verificar: quando os cursores estiverem na última posição do vector, cap-1, e forem incrementados devem passar para a posição 0; verificar se a lista está vazia: verificar se size==0, em que size é o número de elementos na fila, ou, a lista está vazia se first==last. verificar se a lista está cheia: verificar se size==cap, em que size é o número de elementos na fila e cap a capacidade do vector., ou, a lista está cheia se ((last+1)%max)==first (obriga a deixar uma posição por usar no vector); Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 32 / 49
17 Implementação de filas: vector circular (2) Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 33 / 49 Implementação de filas: vector circular (3) Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 34 / 49
18 Implementação de filas: listas ligadas (1) A implementação dos métodos segue de perto a implementação de listas ligadas. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 35 / 49 Implementação de filas: listas ligadas (2) Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 36 / 49
19 Listas duplamente ligadas Uma lista duplamente ligada é uma sequência de elementos em que cada elemento, com excepção do primeiro e último, contém um valor e referências para o elemento anterior e elemento seguinte. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 37 / 49 Implementação de listas duplamente ligadas Um nó de uma lista duplamente ligada fica caracterizado pela classe DLNode: Nota: veremos mais tarde que podemos substituir o tipo Object por um tipo de dados genérico. Toda a restante definição será idêntica. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 38 / 49
20 Implementação de listas duplamente ligadas Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 39 / 49 Dequeues: Double-Ended Queues (deque ou dequeue) Uma Deque (pronuniciar Deck ) é uma fila com dupla terminação, sendo possível operações de inserção e remoção no início ou fim da fila. Um TAD-deque pode ser visto como uma sequência de elementos duplamente ligados sobre os quais é possível ter as seguintes operações (além das habituais sobre filas): insertfirst(x) insertlast(x) removefirst() removelast() insere x no início da deque. insere x no fim da deque. remove e retorna primeiro elemento. remove e retorna último elemento. A implementação de uma deque deve ser feita com listas duplamente ligadas. Usará a classe DLNode. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 40 / 49
21 Implementação de Dequeues: classe e addlast() Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 41 / 49 Implementação de Dequeues: método removelast() Exercício: Implemente os restantes métodos de uma dequeue: addfirst(), removefirst(), isdequeueempty(). Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 42 / 49
22 Implementação de Dequeues: classe exemplo de uso O programa coloca os números de 10 a 1 no início da fila, desse modo invertendo essa sequência, e coloca no fim da fila os números de 11 a 20. Ao retirarmos um elemento do início e outro do fim, obtem-se pares da forma: (1,20), (2,19),... Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 43 / 49 Vectores vs. Listas Ligadas vs. Duplamente Ligadas Muitos TADs podem ser implementados usando vectores ou listas ligadas. Qual será a melhor aproximação? os vectores são melhores para acesso aleatório; listas são melhores para operações de adição e remoção de elementos; listas duplamente ligadas para operações que requeiram movimentos nas duas direcções da lista; listas evitam as ineficientes operações de redimensionamento de capacidade. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 44 / 49
23 Listas, pilhas e filas pré-definidas em Java Existem classes pré-definidas no Java na package java.util que permitem usar estruturas como listas, dequeues, filas e pilhas. Stacks com objectos genéricos: java.util.stack<e> Métodos: push(obj), pop(), peek(), size(), e empty() Filas Queue<E> e Dequeues Deque<E> A classe Deque é mais geral. Listas ligadas (permitem implementar Filas/Pilhas/Dequeues): java.util.linkedlist<e> Para implementar filas, usar os métodos: addlast(obj) e removefirst(). Esta classe é muito flexível. Estas classes são novas na versão do Java, podendo ser parametrizadas por tipo de dados, por exemplo, posso ter uma stack de inteiros declarando um objecto do tipo Stack<Integer>. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 45 / 49 Problema de Josephus: listas circulares sem vectores Imagine que N pessoas decidem eleger um líder usando um método de eliminações sucessivas, ficando como líder o último a ser eliminado. As N pessoas dispõe-se num círculo e elimina-se a M-ésima pessoa, cerrando fileiras com os restantes. A pessoa a ser eleita depende do N e do M. Para o exemplo seguinte, a pessoa na posição inicial 4 seria a eleita. Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 46 / 49
24 Listas circulares em Java (sem vectores) (1) Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 47 / 49 Listas circulares em Java (sem vectores) (2) Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 48 / 49
25 Classe principal para o problema do Josephus Problemas semelhantes nas aulas: P06. Em Valladolid: Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 49 / 49
4. Listas, Pilhas, e Filas
4. Listas, Pilhas, e Filas Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 4. Listas, Pilhas, e Filas Estruturas de Dados 1 / 49 Definição de Lista (1) Uma lista é uma sequência finita
Leia maisCES-11. Pilhas Definição Operações Filas. Operações Deques. Definição. Operações
CES-11 Pilhas Definição Operações Filas Definição Operações Deques Definição Operações PILHAS, FILAS E DEQUES As listas lineares admitem inserção e eliminação em qualquer posição. Pilhas, filas e deques
Leia maisOrientação a Objetos AULA 09
Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este
Leia maisS 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 maisPedro Vasconcelos DCC/FCUP. Programação Funcional 17 a Aula Tipos abstratos
Programação Funcional 17 a Aula Tipos abstratos Pedro Vasconcelos DCC/FCUP 2014 Tipos concretos Até agora definimos um novo tipo de dados começando por listar os seus construtores. data Bool = False True
Leia maisProgramação Funcional 13 a Aula Tipos abstratos
Programação Funcional 13 a Aula Tipos abstratos Sandra Alves DCC/FCUP 2018/19 Tipos concretos Até agora definimos um novo tipo de dados começando por listar os seus construtores. data Bool = False True
Leia maisEstrutura 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 maisEstruturas de Dados Encadeadas
CURSO: Ciência da Computação DATA: / / 2016 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 14 APRESENTAÇÃO Na aula de hoje vamos apresentar e discutir conceitos
Leia maisGrupo 2 - Implementação de uma Classe Simples
Estruturas de Dados 2017/2018 Época Normal (15 de Junho de 2018) Versão A Duração: 2h30m + 30m Número mecanográco: Nome completo do estudante: Grupo 1 - Fundamentos de Java 1.1. Escreva pequenos excertos
Leia maisÁrvores e Mapas. Luís Lopes. Estruturas de Dados DCC-FCUP
Árvores e Mapas Luís Lopes DCC-FCUP Estruturas de Dados Estruturas não lineares Os arrays e as listas são exemplos de estruturas de dados lineares, cada elemento tem: um predecessor único (excepto o primeiro
Leia maisPilhas Filas e Listas
Pilhas Filas e Listas Sumário Pilha: interface, aplicações e implementação Fila: interface, aplicações e implementação Lista Ligada: interface, aplicações e implementação Pilha Estrutura LIFO (last in,
Leia maisFilas. Prof. Rui Jorge Tramontin Jr. UDESC - Rui J. Tramontin Jr. 1
Filas Prof. Rui Jorge Tramontin Jr. UDESC - Rui J. Tramontin Jr. 1 Índice Introdução Aplicações Implementação / Modelagem Operações de uma fila TAD da Fila em C UDESC - Rui J. Tramontin Jr. 2 Introdução
Leia maisProgramação Orientada a Objetos
Prof a. Edhelmira Lima Programação Orientada a Objetos Conteúdo: Exercícios Java Exercício 1 3 Exercício 1 Defina classes e/ou interfaces que modelem objetos geométricos. Os objetos geométricos são: retângulo,
Leia maisBit (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 maisDepartamento de Ciência de Computadores Estruturas de Dados (CC114)
1. Cotação de cada pergunta: 1. 32 / 2. 38 / 3. 30 (Total: 100 pontos) 2. Responda às questões de forma clara e concisa nas folhas de exame distribuídas. 1. (Valorização: 32%) Responda às seguintes questões:
Leia maisAlgoritmos e Estruturas de Dados 2005/2006
Pilhas e Filas Algoritmos e Estruturas de Dados 005/006 Pilhas Pilha estrutura de dados linear em que a inserção e a remoção de elementos de uma sequência se faz pela mesma extremidade, designada por topo
Leia maisFila e Deque. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.
Fila e Deque 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 Ciências
Leia maisParadigmas de Programação
Tipos Abstractos de Dados (ADT) Estruturas construídas para armazenar determinados tipos de dados e que especificam operações que permitem a manipulação desses dados. Estudaremos duas das mais simples
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
Java Collections Framework (JCF) Uma coleção (collection) é um objeto que agrupa vários elementos. A JCF consiste numa arquitetura para representação e manipulação de coleções. Contém: - Um conjunto de
Leia maisProgramação com genéricos
Programação com genéricos Laboratório de Programação Pedro Vasconcelos, DCC/FCUP Fevereiro 2015 Tipos genéricos tipos genéricos permitem definir classes ou interfaces que são parameterizadas por outras
Leia maisAlgoritmos e Estruturas de Dados 2007/2008
Pilhas e Filas Algoritmos e Estruturas de Dados 007/008 Pilhas Pilha estrutura de dados linear em que a inserção e a remoção de elementos de uma sequência se faz pela mesma extremidade, designada por topo
Leia maisPCC104 - Projeto e Análise de Algoritmos
PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 31 de outubro de 2017 Marco Antonio
Leia mais8. Árvores. Fernando Silva DCC-FCUP. Estruturas de Dados. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38
8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados
Leia mais8. Árvores. Fernando Silva. Estruturas de Dados DCC-FCUP. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38
8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados
Leia maisExame de Estruturas de Dados 2010.Junho.26
Exame de Estruturas de Dados 2010.Junho.26 Duração: 2:30 horas Valorização: 12 valores. 1. Responda às seguintes questões: a) Faça o estudo da complexidade do seguinte método: 1. void fun2(int n, int v[])
Leia maisAula 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 maisAlgoritmos e Estruturas de Dados
Pilhas e Filas Algoritmos e Estruturas de Dados 009/00 Obs: slides marcados com (*) não foram apresentados na aula teórica, mas são parte da bibliografia a estudar! Pilhas Pilha estrutura de dados linear
Leia mais08/08/2011. Pilha. SCC0202 Algoritmos e Estruturas de Dados I. Prof. Thiago A. S. Pardo. Pilha. O que é? Para que serve?
Pilha SCC0202 Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Pilha O que é? Para que serve? 2 1 Rotina A 1 print A 2 call C 3 call B 4 call D Rotina B 1 call C 2 print B 3 call D 4 call C
Leia maisListas Ligadas, Pilhas e Filas
Listas Ligadas, Pilhas e Filas Pedro Ribeiro DCC/FCUP 2017/2018 (baseado e/ou inspirado parcialmente nos slides de Luís Lopes e de Fernando Silva) Pedro Ribeiro (DCC/FCUP) Listas Ligadas, Pilhas e Filas
Leia maisFila e Deque. Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista
Fila e Deque 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 Ciências
Leia maisRecursividade UFOP 1/48
BCC 201 - Introdução à Programação I Recursividade Guillermo Cámara-Chávez UFOP 1/48 Introdução I Recursividade: é um método de programação no qual uma função pode chamar a si mesma Muitas estruturas têm
Leia maisGrupo 2 - Implementação de uma classe simples
Exame Modelo Estruturas de Dados 2018/2019 Junho de 2019 Duração: 2h30m + 30m Número mecanográco: Nome completo do estudante: Grupo 1 - Fundamentos de Java 1.1. Escreva pequenos excertos de código para
Leia maisInstituto Luterano de Ensino Superior de Ji-Paraná Curso Bacharelado em Informática Estrutura de Dados I Prof.: José Luiz A.
1 Instituto Luterano de Ensino Superior de Ji-Paraná Curso Bacharelado em Informática Prof.: José Luiz A. Duizith Procedimento Insere_Esquerda (Lista,Valor) Aloque(Aux) Se (Aux = Nil) Senao Aux.Dado Valor
Leia maisProgramação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 20 Jan/2017.
Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 20 Jan/2017 4.9. Delegates Exercício 217 4.9. Delegates Repare nas diferenças destes dois casos com e sem Delegates:
Leia maisPilhas. 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 maisEstrutura de dados - Listas Encadeadas
Estrutura de dados - Listas Encadeadas Prof. Leonardo Cabral da Rocha Soares leonardo.soares@newtonpaiva.br Centro Universitário Newton Paiva 25 de abril de 2019 Estrutura de dados - Listas Encadeadas
Leia maisEstruturas Compostas Parte II
Estruturas Compostas Parte II Filas e Pilhas Leonardo Tórtoro Pereira Slides fortemente baseados no material do professor Ricardo Farias: http://www.cos.ufrj.br/~rfarias/cos121/ Pilhas Pilhas Também conhecida
Leia maisExame de Admissão. Instituto Nacional de Pesquisas Espaciais 18 de setembro de 2018 A: GABARITO
Exame de Admissão Programa de Pós-Graduação em Computação Aplicada Instituto Nacional de Pesquisas Espaciais 18 de setembro de 2018 A:2018-03 GABARITO Nome: Instruções: Preencha seu nome de forma legível,
Leia maisESTRUTURAS DE DADOS E ALGORITMOS LISTA LIGADA
ESTRUTURAS DE DADOS E ALGORITMOS 1 LISTA LIGADA Adalberto Cajueiro Departamento de Sistemas e Computação Universidade Federal de Campina Grande LISTA LIGADA (LINKED LIST) É uma estrutura de dados em que
Leia maisUniversidade 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 maisESTRUTURAS DE DADOS E ALGORITMOS LISTA LIGADA (ABORDAGEM RECURSIVA)
ESTRUTURAS DE DADOS E ALGORITMOS 1 LISTA LIGADA (ABORDAGEM RECURSIVA) Adalberto Cajueiro Departamento de Sistemas e Computação Universidade Federal de Campina Grande QUESTÕES DE IMPLEMENTAÇÃO Implementacao
Leia maisEstruturas de dados para listas arrays e listas ligadas
Estruturas de dados para listas arrays e listas ligadas Fernando Lobo Algoritmos e Estrutura de Dados Algumas figuras retiradas do livro Introduction to Algorithms, 3rd Edition. 1 / 29 Listas Uma lista
Leia maisAlgoritmos e Estruturas de Dados II IEC013. TAD, Pilhas e Filas. Prof. César Melo
Algoritmos e Estruturas de Dados II IEC013 TAD, Pilhas e Filas Prof. César Melo TAD: Definição SE programa = definição de um tipo de dados + operação sobre dados desse tipo + restrições sobre dados e operações
Leia maisAplicaçõ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 maisColeções. João Paulo Q. dos Santos
Coleções João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre coleções; Tipos de coleções; Como são classificadas; Exemplos. 04/02/14 2 Coleções Classes e interfaces do pacote java.util
Leia maisColeção de Dados. Coleções de Dados Classificação 4/1/2011
Coleção de Dados Um conjunto de dados(objetos), organizados(estruturados) de alguma forma. As coleções possuem operações padrão como: adicionar; apagar; atualizar As coleções são divididas em dois grandes
Leia maisDepartamento de Ciência de Computadores Estruturas de Dados (CC114)
1. Cotação de cada pergunta: 1. 30 / 2. 40 / 3. 30 (Total: 100 pontos) 2. Responda às questões de forma clara e concisa nas folhas de exame distribuídas. 1. (Valorização: 30%) Responda às seguintes questões:
Leia maisPilha. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira
Pilha SCC-202 Algoritmos e Estruturas de Dados I Lucas Antiqueira Pilha O que é? Para que serve? 2 Problema: chamada de sub-rotinas Rotina A 1 print A 2 call C 3 call B 4 call D 5 return Rotina B 1 call
Leia maisRevisão de TDA, Pilhas e Filas
Revisão de TDA, Pilhas e Filas Professor: Santiago Viertel dcc2sv@joinville.udesc.br Sumário Tipos de Dados Abstratos Pilhas Conceito Pilha Estática Filas Conceito Filas Estáticas (FEMR, FEMI e FEC) Tipos
Leia maisESTRUTURA DE DADOS (TCC )
ESTRUTURA DE DADOS (TCC-00.319) Listas lineares Pilhas e Filas Cristina Boeres 2 Manipulando listas lineares! Dependendo do problema a ser resolvidos, existem duas formas especiais (que veremos aqui no
Leia maisFICHA 8 PILHAS E FILAS
ESTRUTURAS DE DADOS E ALGORITMOS Departamento de Engenharia Eletrotécnica e de Computadores Faculdade de Ciências e Tecnologia da Universidade de Coimbra FICHA 8 PILHAS E FILAS 8.1. Objetivos Objetivos
Leia maisFCUP 2010/11. Departamento de Ciência de Computadores Estruturas de Dados (CC114) 1 o Teste: 27/Abril/2011
1 1 Departamento de Ciência de Computadores Estruturas de Dados (CC114) 1 o Teste: 27/Abril/2011 FCUP 2010/11 duração: 2 horas 1. Teste A (indicar o teste que estão a fazer na folha de resposta) 2. Cotação
Leia maisLista Ligada. Nó de Lista Ligada
Lista Ligada Estrutura com nós que armazenam elementos manter referências para elementos do início e fim da lista Operações Inserir: a seguir à posição corrente Remover: na posição corrente Pesquisar:
Leia maisUNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra
Leia maisEstruturas de Dados Pilhas, Filas, Listas
PMR2300 Escola Politécnica da Universidade de São Paulo Introdução Estruturas de dados são objetos que armazenam dados de forma eficiente, oferecendo certos serviços para o usuário (ordenação eficiente
Leia maisAlgoritmos e estrutura de dados
Algoritmos e estrutura de dados Listas Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Listas Listas encadeadas
Leia maisFila. Algoritmos e Estruturas de Dados I
Fila Algoritmos e Estruturas de Dados I Fila O que é? Para que serve? 2 Biblioteca Problema: automação de uma biblioteca Todos os livros devem ser cadastrados O sistema deve informar se um livro está disponível
Leia maisEstruturas de Dados Pilhas, Filas, Listas
Estruturas de Dados Pilhas, Filas, Listas Fabio Gagliardi Cozman Thiago Martins PMR3201 Escola Politécnica da Universidade de São Paulo Estruturas de Dados Pilhas, Filas, Listas Introdução Estruturas de
Leia maisAplicaçõ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 maisDesafios de Programação TCC-00.254 Turma A-1
Desafios de Programação TCC-00.254 Turma A-1 Conteúdo Estruturas de Dados Elementares Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2015.1/tcc-00.254
Leia maisEstruturas 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 maisFila. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira
Fila SCC-202 Algoritmos e Estruturas de Dados I Lucas Antiqueira Fila O que é? Para que serve? 2 Biblioteca Quais são as operações possíveis? Entrar na fila Quem entra, entra onde? Sair da fila Quem sai,
Leia maisAula 5 e 6 Pilhas e suas Aplicações. prof Leticia Winkler
Aula 5 e 6 Pilhas e suas Aplicações prof Leticia Winkler 1 Definição de Pilha (Stack) São estruturas de dados do tipo LIFO (last-in first-out) - o último elemento a ser inserido, será o primeiro a ser
Leia maisFilas Implementação Sequencial
SCE 202 182 Algoritmos e Estruturas de Dados I Filas Implementação Sequencial Conceito Coleção ordenada de itens (lista ordenada) em que a inserção de um novo item se dá em um dos lados no fim e a remoção
Leia maisAplicaçõ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 maisListas Ligadas, Pilhas e Filas
Listas Ligadas, Pilhas e Filas Pedro Ribeiro DCC/FCUP 2017/2018 (baseado e/ou inspirado parcialmente nos slides de Luís Lopes e de Fernando Silva) Pedro Ribeiro (DCC/FCUP) Listas Ligadas, Pilhas e Filas
Leia maisProva 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 maisProgramação Orientada a Objetos
Programação Orientada a Objetos Aula 11 Collections Professores: Elaine Araújo/ Rhavy Maia Baseado no material de aula do professor Frederico Costa Guedes Pereira Introdução Arrays podem dar trabalho...
Leia maisProgramação Orientada a Objetos II JAVA Décima Aula. Prof. Rogério Albuquerque de Almeida
Programação Orientada a Objetos II JAVA Décima Aula Prof. Rogério Albuquerque de Almeida 1 Programação Orientada a Objeto II Introdução à Estruturas de Dados Alocação Dinâmica Listas, pilhas e filas Construção
Leia maisEstrutura de Dados. Aleardo Manacero Jr.
Estrutura de Dados Aleardo Manacero Jr. Programa Tipos abstratos de Dados (semana 1) Listas, pilhas e filas (semana 1) Árvores (semanas 2, 3 e 4) Tabelas Hash (espalhamento) (semana 5) Gerenciamento de
Leia maisProgramação Orientada a Objetos para Redes de Computadores
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Template Templates Funções templates Especificam
Leia mais3.2.2 Pilha (LIFO - last in, first out) - Inserção e remoção apenas no final da lista.
3. Estruturas Lineares (Listas Lineares) 3.1 Definição Uma lista linear é uma estrutura dinâmica caracterizada por uma seqüência ordenada, no sentido de sua posição relativa, de elementos (nós) L[1], L[2],,
Leia maisSCC Algoritmos e Estruturas de Dados I
SCC 202 - Algoritmos e Estruturas de Dados I TAD Pilha Lembrem...TADs são tipos definidos em termos de seu comportamento e não de sua representação (que pode variar na busca de eficiência) 12/8/2010 Pilha
Leia maisListas 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 maisUniversidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação. Estruturas de Dados
Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Estruturas de Dados Tópicos Especiais em Programação Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com
Leia maisTCC Prof.: Leandro A. F. Fernandes Conteúdo: Listas Lineares
Programação de Computadores II TCC 00.174 Prof.: Leandro A. F. Fernandes www.ic.uff.br/~laffernandes Conteúdo: Material elaborado pelos profs. Anselmo Montenegro e Marcos Lage com contribuições do prof.
Leia maisExercí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 maisProgramaçã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 maisA classe ArrayList. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli
A classe ArrayList Java oferece uma classe chamada ArrayList, que permite a criação e manipulação de objetos; Um objeto ArrayList é semelhante a um vetor de objetos, mas oferece inúmeras vantagens em relação
Leia maisPilhas e Filas Encadeadas. Algoritmos e Estruturas de Dados I
Pilhas e Filas Encadeadas Algoritmos e Estruturas de Dados I Pilha Lista linear: pilha Represente graficamente o funcionamento da pilha, representando a pilha vazia, a entrada e a saída de elementos Quais
Leia maisFilas de Prioridade. Uma fila de prioridade pode ser vista como uma generalização das filas com as seguintes duas operações:
Filas de Prioridade e Heaps 9.1 Filas de Prioridade Uma fila de prioridade pode ser vista como uma generalização das filas com as seguintes duas operações: inserir um elemento na fila; remover o elemento
Leia maisEstruturas de Dados - Filas
Estruturas de Dados - Filas Leandro Tonietto ltonietto@unisinos.br Algoritmos e Estruturas de Dados em C++ Unisinos http://www.inf.unisinos.br/~ltonietto/jed/aed/filas.pdf Abr-8 Uma fila (queue) é uma
Leia maisFilas. Nesta aula veremos o ADT fila Em um computador existem muitas filas esperando pela impressora, acesso ao disco ou, num sistema timesharing,
Filas Nesta aula veremos o ADT fila Em um computador existem muitas filas esperando pela impressora, acesso ao disco ou, num sistema timesharing, pelo uso da CPU Algoritmos e Estruturas de Dados I José
Leia maisUniversidade Federal do Ma Curso de Ciência da Computação
Universidade Federal do Ma Curso de Ciência da Computação Estrutura de Dados Prof. Anselmo C. de Paiva Depto de Informática Limitações dos vetores Vetores Simples, Rápidos Mas, é necessário especificar
Leia maisProva de Recuperação PMR3201 1o. semestre 2017 Prof. Thiago Martins
Prova de Recuperação PMR3201 1o. semestre 2017 Prof. Thiago Martins Instruções: Escreva o nome e o número USP na folha de papel almaço. Numere cada página. Indique o total de páginas na primeira página.
Leia maisProva 2 PMR3201 1o. semestre 2015 Prof. Thiago Martins
Prova PMR0 o semestre 0 Prof Thiago Martins Instruções: Escreva o nome e o número USP na folha de papel almaço ( pontos) Uma árvore binária de busca é uma árvore binária na qual para qualquer sub-árvore
Leia maisAlgoritmos e Tipos Abstractos de Informação
Curso de Engenharia Informática Algoritmos e Tipos Abstractos de Informação Relatório do Projecto Final: Processador de Texto: WordEST Ano Lectivo: 2003/04 Elaborado por: Gustavo Graça Patrício Nº 4757
Leia maisEstruturas 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 maisEstrutura 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# 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 maisNome: Número: Primeira Parte (7 valores) Segunda Parte (3 valores)
Nome: Número: Programação com Objectos 10 de Novembro de 2015, 08:00 (90 minutos) Primeira Parte (7 valores) Segunda Parte (3 valores) PERGUNTA NOTA PERGUNTA RESPOSTA 1.1 2.1 1.2 2.2 1.3 1.4 2.3 2.4 2.5
Leia maisPCC104 - 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 maisESTRUTURAS DE DADOS (LEI, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018
ESTRUTURAS DE DADOS (LEI, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018 Listas de Salto Suponha que lhe é pedida a construção de uma lista de salto determinística,
Leia maisESTRUTURAS DE DADOS (LEI, LM, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2018/2019
ESTRUTURAS DE DADOS (LEI, LM, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2018/2019 Pilhas e Filas Dois dos tipos de objectos mais comummente usados em algoritmos
Leia maisUniversidade 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 maisAlgoritmos e Programação II. Coleções. Coleções. Baseado no material do Prof. Julio
Algoritmos e Programação II Baseado no material do Prof. Julio Coleções Java disponibiliza classes que facilitam o agrupamento e processamento de objetos em conjuntos: Coleções (Java Collections Framework).
Leia maisDepartamento de Ciência de Computadores Estruturas de Dados (CC114)
1. Cotação de cada pergunta: 1. 32 / 2. 36 / 3. 32 (Total: 100 pontos) 2. Responda às questões de forma clara e concisa nas folhas de exame distribuídas. 1. (Valorização: 32%) Responda às seguintes questões:
Leia mais