Estruturas de Dados Filas
|
|
- Helena Lameira Bentes
- 6 Há anos
- Visualizações:
Transcrição
1 Estruturas de Dados Filas
2 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
3 Introdução Estamos acostumados com filas no nosso dia a dia, no mercado, banco entre outros. As filas determinam uma ordem de atendimento. Atendimento é realizado conforme posição na fila. Quando o primeiro é chamado para ser atendido a fila "anda", ou seja, o segundo passa a ser o primeiro, o terceiro passa a ser o segundo e assim por diante. Normalmente, para entrar em uma fila, a pessoa deve se colocar na última posição (no fim da fila) - quem chega primeiro tem prioridade. 3
4 Introdução Nessa aula vamos ver como desenvolver estruturas de dados do tipo Fila. As filas têm operações mais restritas do que listas. Então, podemos implementar uma fila colocando restrições nas operações de lista. Quais seriam estas restrições?? 4
5 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 elemento a ser retirado. A inserção dos elementos é dada por uma das extremidades da fila e a remoção por outra, ou seja, adiciona-se elementos no final e retira do início. 5
6 Representação de Fila (FIFO) 6
7 Aplicações Fila de arquivos para impressão; Atendimento de processos requisitados ao um sistema operacional; Buffer para gravação de dados em mídia; Processos de comunicação em redes de computadores (troca de mensagens).. Ordenação do encaminhamento de pacotes em um roteador. Controle de pousos e partidas de aeronaves. 7
8 Operações sobre Fila Todas as operações em uma fila podem ser imaginadas como as que ocorre numa fila de pessoas, exceto que o elementos não se movem na fila. Isto teria um processamento muito custoso. O que se faz na realidade é indicar quem é o primeiro. Criação da fila informar a capacidade no caso de fila por contiguidade (usando vetor); Verificar se a fila está cheia (no caso de fila por contiguidade - vetor) Enfileiramento (enqueue) consiste em inserir um valor no fim da fila. É preciso verificar previamente se a fila está cheia. Verificar se a fila está vazia Desenfileiramento (dequeue) consiste em retirar um valor do início da fila. É preciso verificarpreviamente se a fila está vazia. Mostrar a fila 8
9 Implementação de Fila A implementação de filas pode ser realizada através de: vetor (alocação do espaço de memória para os elementos é contígua); listas encadeadas. 9
10 Implementação de Fila com vetor Para isso devemos fixar o número máximo N de elementos na fila. O processo de inserção e remoção em extremidades opostas fará com que a fila "ande" no vetor. Exemplo: se inserirmos os elementos 10, 20, 30 e depois retirarmos um elemento, a fila não estará mais nas posições iniciais do vetor. 10
11 Implementação de Fila com vetor 11
12 Implementação de Fila com vetor Observamos que em dado instante, a parte ocupada do vetor pode chegar à última posição. Para evitar problemas de não ser capaz de inserir mais elementos na fila, mesmo ela não estando cheia, pode-se incrementar as posições do vetor de forma "circular": se o último elemento ocupa a última posição do vetor, inserimos os novos elementos a partir do início do vetor. Na implementação este ajuste acontece da seguinte forma: ultimo = (primeiro + qt) %tamanho 12
13 Estrutura Fila A estrutura do tipo Fila contém três componentes: Um vetor vet de tamanho N Um índice ini para o início da fila Um índice n para indicar a quantidade de elementos que estão na fila. Onde, ini marca a posição do próximo elemento a ser retirado da fila; 13
14 Estrutura Fila A estrutura da Fila pode ser dada por: #define N 10 typedef struct{ int ini, n; int vet[n]; } Fila; 14
15 A função de criação da Fila Aloca dinamicamente um vetor Inicializa a fila como sendo vazia (número de elementos =0) Fila * cria (void){ Fila *f = (Fila*) malloc (sizeof(fila)); f->n = 0; /*inicializa fila como vazia*/ f->ini = 0; /*escolhe uma posição inicial*/ return f; } 15
16 A função de inserção na Fila Insere um elemento no final da fila Usa a próxima posição livre do vetor, se houver void insere(fila *f, int v){ int fim; /*indica posição que será inserido*/ if (f->n!= N){ /*insere elemento na posição livre*/ fim = (f->ini + f->n)%n; f->vet[fim] = v; f->n++; }else{ printf("fila Cheia!"); exit (1); } } 16
17 A função de remoção da Fila Retira o elemento do início da fila, retornando o seu valor Verifica se a fila está ou não vazia int retira (Fila *f){ int v; if(f->n!= 0){/*fila não está vazia*/ v = f->vet[f->ini]; f->n--; f->ini = (f->ini + 1)%N; return v; }else{ printf("fila Vazia!"); exit(1); } 17
18 A função de impressão da Fila void imprime (Fila *f){ int i; for(i=0; i<f->n; i++){ printf("%d", f->vet[f->ini + i]%n); } } 18
19 Implementação de Fila com vetor - Exemplo main(){ Fila *f = cria(); insere (f, 10); insere (f, 20); insere (f, 30); imprime (f); printf("primeiro elemento: %d\n", retira(f)); printf("segundo elemento: %d\n", retira(f)); imprime(f); } 19
20 Implementação de Fila com lista simplesmente encadeada Os elementos da Fila são armazenados em uma lista. Utiliza dois ponteiros ini aponta para o primeiro elemento da fila fim aponta para o último elemento da fila 20
21 A estrutura da Fila A fila é representada por um ponteiro para o primeiro nó da lista. /*nó da lista para armazear valores reais*/ struct lista{ int info; struct lista *prox; }; typedef struct lista Lista; /*estrutura da fila*/ struct fila{ Lista *ini; Lista *fim; }; typedef struct fila Fila; 21
22 A função de criação da Fila Aloca a estrutura da fila Fila *f cria(){ Fila *f = (Fila*) malloc(sizeof(fila)); f->ini = f->fim = NULL; return f; } 22
23 A função de inserção na Fila Insere novo elemento no final da lista void insere (Fila *f, int v){ Lista *novo = (Lista*)malloc(sizeof(Lista)); novo->info = v; novo->prox = NULL; if(f->fim ==NULL && f->ini == NULL){ f->ini = novo; f->fim = novo; }else{ f->fim->prox = novo; f->fim=novo; } 23
24 A função de remoção da Fila Retira um elemento do início da lista. int retira(fila *f){ Lista *t; int v; if(f->fim == NULL && f->ini == NULL){ printf("fila vazia!"); exit(1); } t = f->ini; v = t->info; f->ini = t->prox; if(f->ini == NULL) f->fim = NULL; free(t); return v; } 24
25 A função de liberação da Fila Caso esteja sendo realizada a implementação com vetores, deve ser liberado o vetor ao final do programa. Caso esteja utilizando a implementação com listas encadeadas, a lista deve ser liberada ao final do programa. 25
26 Exercícios Questão 1: Considere a estrutura de dados fila, do tipo FIFO. Entidades são inseridas nessa estrutura com a operação push( ) e removidas com a operação pop( ). A opção a seguir que mostra o conteúdo ordenado da fila após a seqüência de operações: push(8), push(7), push(5), push(2), pop( ), push(8),push(7),pop( ), push(5), push(2), pop( ), pop( ) é: (A) 8578 (B) 8758 (C) 8752 (D) 2875 (E)
27 Exercícios Questão 2: FCC MPE-RN - Analista de Tecnologia da Informação -Engenharia de Software Último dado armazenado é o primeiro a ser recuperado caracteriza a estrutura de dados do tipo: a) árvore. b) pilha. c) string. d) fila. e) boolean. 27
28 Exercícios Questão 3: FCC MPE-RS - Técnico em Informática - Área Sistemas Respeitando as ordens de inserção e de retirada dos dados, uma estrutura de: a) fila é também denominada LIFO ou LILO. b) fila é também denominada FIFO ou FILO. c) fila é também denominada FIFO ou LILO. d) pilha é também denominada FIFO ou FILO. e) pilha é também denominada LIFO ou FIFO. 28
29 Exercícios Questão 4: FCC MPE-RS - Técnico em Informática - Área Sistemas As estruturas do tipo LIFO (Last-In-First-Out) e FIFO (First-In-FirstOut) são classificadas, respectivamente, como: A) pilha e fila; B) grafo e lista; C) lista e pilha; D) pilha e grafo. E) fila e pilha; 29
30 Exercícios Questão 5: BNDS 2002 Analista de Sistemas (Desenvolvimento) Considere os processos de inserção e remoção de elementos de uma determinada estrutura de dados. Dois tipos especiais de estruturas de dados que, sob o ponto de vista da inserção e remoção de elementos,são classificadas como estruturas do tipo LIFO Last- In-First-Out efifo First-In-First-Out são, respectivamente, (A) B-Tree e lista. (B) pilha e fila. (C) lista e pilha. (D) grafo e B-Tree. (E) fila e grafo. 30
31 Exercícios Questão 6: TRE/MG Analista de Sistemas 2005 É uma lista linear em que todas as inserções de novos elementos são realizadas numa extremidade da lista e todas as remoções de elementos são feitas na outra extremidade da lista. Esta definição a) pilha que é uma estrutura de dados do tipo FILO (First In Last Out). b) fila que é uma estrutura de dados do tipo FIFO (First In First Out). c) fila circular que é uma estrutura de dados do tipo FILO (First In LastOut). d) pilha ordenada que é uma estrutura de dados do tipo FIGO (First InGoback Out). e) fila que é uma estrutura de dados do tipo LIFO (Last In First Out). 31
32 Exercícios Questão 7: As filas são estruturas com base no princípio LIFO (last in, first out), no qual os dados que foram inseridos primeiro na fila serão os últimos a serem removidos. Existem duas funções que se aplicam a todas as filas: PUSH, que insere um dado no topo da fila, e POP, que remove o item no topo da fila. Certo ou Errado? 32
33 Exercícios Questão 8: Insira os dados de entrada numa fila. Em seguida retire cada dado da fila e insira numa pilha. Mostre a pilha. Depois retire os dados da pilha e insira na fila. Mostre a fila. Dados de entrada: 11, 12, 23, 14, 25, 50, 8, 18, 29, 10 As estruturas mostradas ficam I. Pilha: (topo) II. Fila: (começo) (fim) III. Fila: (começo) (fim) IV. Pilha: (topo) V. A fila mostrada fica com os elementos em ordem invertida dos dados de entrada Está correto o que se afirma APENAS em A) III e IV. B) II e IV. C) I, II e III. D) I, III e V. E)I, IV e V. 33
34 Resumo Fila insere: insere novo elemento no final da fila remove: remove elemento do início da fila 34
35 Referências FARIAS, Professor Ricardo. Notas de Aula Disponível em: < Acesso em: 30 set Capítulo 12 do livro Introdução a Estrutura de Dados: CELES, Waldemar; CERQUEIRA, Renato; RANGEL, José Lucas. Introdução a Estruturas de Dados: com técnicas de programação em C. Elsevier,
36 Exercício Prático (Avaliação) Disponível no arquivo ExercícioPrático.pdf 36
37 Estruturas de Dados Filas
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 maisINF1007 Programação 2 9 Pilhas. (c) Dept. Informática - PUC-Rio 1
INF1007 Programação 2 9 Pilhas (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Introdução Interface do tipo pilha Exemplo de uso: verificação de expressões Implementação de pilha com lista encadeada
Leia maisEstruturas de Dados. Módulo 11 Pilhas. 9/8/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 11 Pilhas 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Leia maisINF 1007 Programação II
INF 1007 Programação II Aula 13 Pilhas Edirlei Soares de Lima Pilha Uma pilha é uma estrutura de dados dinâmica na qual novos elementos são sempre inseridos no topo da pilha e acessados
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 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 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 maisINF1007: Programação 2 8 Listas Encadeadas. (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 8 Listas Encadeadas (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Motivação Listas encadeadas Implementações recursivas Listas de tipos estruturados (c) Dept. Informática
Leia maisAlgoritmos e Estruturas de Dados II IEC013
Algoritmos e Estruturas de Dados II IEC013 TAD, Pilhas e Filas Prof. César Melo Todos os créditos ao Prof. Leandro Galvão TAD: Definição SE programa = definição de um tipo de dados + operação sobre dados
Leia maisUniversidade Estadual Paulista Júlio de Mesquita Filho UNESP
Introdução à Computação II AULA 16 BCC Noturno - EMA896115B Prof. Rafael Oliveira olivrap@gmail.com Universidade Estadual Paulista Júlio de Mesquita Filho UNESP Rio Claro 2014 (Sem 2) Estruturas de Dados
Leia maisAula 11 Pilha Dinâmica. prof Leticia Winkler
Aula 11 Pilha Dinâmica prof Leticia Winkler 1 Pilha Dinâmica (Dynamic Stack) Pilha implementada através de uma lista linear encadeada. É uma lista linear encadeada em que as operações de inserção e retirada
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 maisLinguagem C: Listas Encadeadas
Prof. Paulo R. S. L. Coelho paulo@facom.ufu.br Faculdade de Computação Universidade Federal de Uberlândia GEQ007 Organização 1 Introdução 2 3 Organização Introdução 1 Introdução 2 3 Introdução Introdução
Leia maisMódulo 10 Listas Encadeadas
Estruturas de Dados Módulo 10 Listas Encadeadas 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus
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 maisFilas Exemplo de Aplicação
Filas Exemplo de Aplicação Uma aplicação interessante para filas é a ordenação por distribuição, descrita a seguir. Seja uma lista l composta de n chaves, cada qual representada por um inteiro numa base
Leia maisMétodos Computacionais. Listas Encadeadas
Métodos Computacionais Listas Encadeadas Vetores Declaração de vetor implica na especificação de seu tamanho Não se pode aumentar ou diminuir tamanho Outra alternativa no uso de vetores é alocar dinamicamente
Leia mais1. Listas sequenciais versus listas ligadas. Lista sequencial
Alocação Dinâmica Listas Ligadas 1. Listas sequenciais versus listas ligadas Lista sequencial Uma lista sequencial é um conjunto de elementos contíguos na memória. Um vetor é o melhor exemplo de lista
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 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 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 maisEstruturas de Dados Aula 12: Outras Implementações de Listas 18/04/2011
Estruturas de Dados Aula 12: Outras Implementações de Listas 18/04/2011 Fontes Bibliográficas Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Leia maisEstruturas de Dados. Módulo 17 - Busca. 2/6/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 17 - Busca 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Leia maisConceitos. Pilhas e Filas. Conceitos e Implementação em linguagem C. Maria Adriana Vidigal de Lima. Março
Conceitos e Implementação em linguagem C Março - 2009 1 Conceitos 2 Organização dos dados Em determinadas aplicações, as pilhas e filas representam estruturas de dados importantes, nas quais seus elementos
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 maisProfessora Jeane Melo
Professora Jeane Melo Roteiro Lista Encadeada Alocação: Estática x Dinâmica O que são Ponteiros? Ponteiros Variáveis que Armazenam Endereços de Memória Mas, toda variável não é armazenada na memória? Ponteiros
Leia maisAlgoritmos e Estruturas de Dados Prof. Osório PIP/CA - Aula 03 Pag.: 1
lgoritmos e Estruturas de ados Prof Osório PIP/ - ula 03 Pag: 1 - UNIVERSIE O VLE O RIO OS SINOS ENTRO E IÊNIS EXTS E TENOLÓGIS (6/6) PIP/ - Programa Interdisciplinar de Pós-Graduação em omputação plicada
Leia maisAula 14 Listas Duplamente Encadeadas. prof Leticia Winkler
Aula 14 Listas Duplamente Encadeadas prof Leticia Winkler 1 Lista Duplamente Encadeada É um tipo de lista encadeada que pode ser vazia (NULL) ou que pode ter um ou mais nós, sendo que cada nó possui dois
Leia maisPilhas e Filas. Algoritmos e Estruturas de Dados Flavio Figueiredo (http://flaviovdf.github.io)
Pilhas e Filas Algoritmos e Estruturas de Dados 2 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Pilhas 2 Pilhas (Stack) Estrutura similar às listas lineares que vimos na última aula [Mais Simples]
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 II. Árvores Binárias (Binary Trees) Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Árvores Binárias (Binary Trees) Bruno Feijó Dept. de Informática, PUC-Rio Árvores Dados organizados de maneira hierárquica Exemplos: arquivos em diretórios, subdivisão de espaço 2D em um
Leia maisprogramas = estrutura de dados + algoritmos
Algoritmos e Estruturas de Dados I1 Prof. Eduardo 1 1. INTRODUÇÃO O mundo tem mudado rapidamente com ajuda dos computadores. Podemos citar as pesquisas espaciais, o projeto genoma, os simuladores de vôo,
Leia maisMódulo 5 Vetores e Alocação Dinâmica
Estruturas de Dados Módulo 5 Vetores e Alocação Dinâmica 1/9/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora
Leia maisListas Ligadas (Encadeadas) Listas Simplesmente Encadeadas
Listas Ligadas (Encadeadas) Matrizes são estruturas de dados muito úteis fornecidas nas linguagens de programação. No entanto, elas têm pelo menos duas limitações: 1- Seu tamanho tem que ser conhecido
Leia maisDAINF - 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 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 maisMétodos Computacionais. Fila
Métodos Computacionais Fila Definição de Fila Fila é uma estrutura de dados dinâmica onde: Inserção de elementos se dá no final e a remoção no início O primeiro elemento que entra é o primeiro que sai
Leia 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 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 maisEstrutura de Dados II. Prof. Sérgio Portari
Estrutura de Dados II Prof. Sérgio Portari - 2016 Plano de Ensino EMENTA: Filas, Árvores e suas generalizações: árvores binárias, árvores de busca, árvores balanceadas, árvores B e B+. Aplicações de árvores
Leia maisAlgoritmos e Estrutura de Dados. Aula 05 Estrutura de Dados: Listas (Parte II) Prof. Tiago A. E. Ferreira
Algoritmos e Estrutura de Dados Aula 05 Estrutura de Dados: Listas (Parte II) Prof. Tiago A. E. Ferreira Listas Seqüenciais Estática Seqüencial É implementada usando um vetor Deve-se determinar qual a
Leia maisLista Encadeada (Linked List)
Lista Encadeada (Linked List) As listas ou listas encadeadas são a estrutura de dados mais simples concebível excetuando-se naturalmente os arrays. Listas encadeadas nada mais são que uma seqüência de
Leia maisINF1007: Programação 2 6 Ordenação de Vetores. 01/10/2015 (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 6 Ordenação de Vetores 01/10/2015 (c) Dept. Informática - PUC-Rio 1 Tópicos Introdução Ordenação bolha (bubble sort) Ordenação por seleção (selection sort) 01/10/2015 (c) Dept. Informática
Leia maisINF1007: Programação 2. 2 Alocação Dinâmica. 17/02/2014 (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 2 Alocação Dinâmica 17/02/2014 (c) Dept. Informática - PUC-Rio 1 Tópicos Alocação dinâmica Vetores locais e funções 17/02/2014 (c) Dept. Informática - PUC-Rio 2 Alocação Dinâmica
Leia maisProgramação de Computadores II. Cap. 17 Busca
Programação de Computadores II Cap. 17 Busca Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:
Leia maisLISTAS ENCADEADAS OU NÃO- SEQÜENCIAIS. Estrutura de Dados
LISTAS ENCADEADAS OU NÃO- SEQÜENCIAIS Listas Lineares Como visto anteriormente, as operações básicas para o nosso TAD Lista Linear são: FLVazia Vazia Retira Insere Imprime A implementação através de arrays
Leia mais16/11/2015 Lista Tipo de dado Lista - Implementação Lista - Implementação Lista - Implementação 3
Listas, pilhas e filas Profa. Vânia de Oliveira Neves Slides baseados no material da Profa. Graça Nunes Listas Lista Lista Uma Lista Linear é uma coleção ordenada de componentes de um mesmo tipo. Ela é
Leia maisAVALIAÇÃO DE CONHECIMENTO ESPECÍFICO
AVALIAÇÃO DE CONHECIMENTO ESPECÍFICO PROGRAMA DE PÓS- GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO 01. Toda arvore binária possui as seguintes propriedades: I. Todos os nós de uma sub- árvore direita são maiores
Leia maisAula 2 Listas Lineares Sequenciais. prof Leticia Winkler
Aula 2 Listas Lineares Sequenciais prof Leticia Winkler 1 Conteúdo Revisão de Vetor Definição Declaração Acesso dos Elementos Inicialização dos Elementos Exemplo Vetor e Função Lista Linear Operações com
Leia maisAlgoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Prof. Daniel M. Martin (daniel.martin@ufabc.edu.br) Aula 6 Modularização Método que consiste em organizar programas grandes em pequenas partes (módulos) Cada módulo tem
Leia maisListas Encadeadas. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Listas Encadeadas David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Listas Encadeadas Características: Tamanho da lista não é pré-definido Cada elemento guarda quem é o próximo Elementos não
Leia maisEAD PILHA - DEFINIÇÃO
EAD PILHA - DEFINIÇÃO Os seus elementos são processados pela ordem inversa à ordem de chegada: - o último elemento a entrar na Pilha é o primeiro a sair (LIFO Last In First Out ). Qualquer operação que
Leia maisINF 1007 Programação II
INF 1007 Programação II Aula 14 Árvores Binárias Edirlei Soares de Lima Árvores Uma estrutura de dados do tipo árvore permite que dados sejam organizados de maneira hierárquica.
Leia maisAlgoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Prof. Daniel M. Martin (daniel.martin@ufabc.edu.br) Aula 8 Aplicação de Fila Calcular a distância entre pessoas no Facebook Aplicação de Fila Calcular a distância entre
Leia maisAula 10 Alocação Dinâmica de Memória Listas Encadeadas. prof Leticia Winkler
Aula 10 Alocação Dinâmica de Memória Listas Encadeadas prof Leticia Winkler 1 Prof. Leticia Winkler 2 Alocação de Memória Reservar na memória (principal), o espaço para guardar a informação através da
Leia maisEstruturas de Dados I
Estruturas de Dados I Rodrigo Porfírio da Silva Sacchi rodrigosacchi@ufgd.edu.br 3410-2075 Aula 6: Listas Encadeadas e Alocação Dinâmica Listas Encadeadas e Alocação Dinâmica Alocação Seqüencial versus
Leia maisAlocação de Memória. Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná (UFPR)
Alocação de Memória Linguagem de Programação Estruturada 1 Alocação dinâmica e ponteiros Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná (UFPR) Sumario Introdução Alocação Estática
Leia mais- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação
Programação 1I Prof. Osório Lista Linear Seqüencial (Alocação Estática) Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação
Leia maisCES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra
CES-11 Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Pilhas Filas Deques Pilhas,,f filas e deques Vimos que as listas lineares admitem inserção e eliminação
Leia maisRevisão: Tipo Abstrato de Dados Recursividade
Algoritmos e Estrutura de Dados II Revisão: Tipo Abstrato de Dados Recursividade Prof a Karina Oliveira kkco@dei.unicap.br Introdução Estudo das estruturas de dados envolve dois objetivos complementares:
Leia maisBCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 10: Pilhas Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes Email: reifortes@iceb.ufop.br
Leia maisListas Lineares Ordenadas
Listas Lineares Ordenadas Algoritmos e Estruturas de Dados I Nesta apresentação será apresentado o ADT lista linear ordenada Uma lista linear ordenada, ou simplesmente lista ordenada há uma ordem entre
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 maisPilhas e Filas. Prof. Walteno Martins Parreira Júnior.
Licenciatura em Computação Algoritmos e Estrutura de Dados Pilhas e Filas Prof. Walteno Martins Parreira Júnior www.waltenomartins.com.br waltenomartins@iftm.edu.br 2016 SUMÁRIO 1. PILHAS... 2 1.1. Introdução...
Leia maisI Alocação dinâmica de memória é utilizada para alocar espaço de memória para armazenar conteúdos de variáveis;
30/08/2016 V UNIVIRTUS POL 5 Nota: 100 isciplina(s): strutura de ados ata de início: 17/08/2016 22:12 Prazo máximo entrega: - ata de entrega: 17/08/2016 22:28 Questão 1/10 Sobre alocação dinâmica de memória,
Leia maisEstrutura de Dados. Estrutura de Dados Recursividade. Exemplo: 5! = 5 x 4! 4! = 4 x 3! 3! = 3 X 2! 2! = 2 x 1! 1! = 1 x 0!
Rafael D. Ribeiro, M.Sc. rafaeldiasribeiro@gmail.com http://www.rafaeldiasribeiro.com.br Exemplo: 5! = 5 x 4! 4! = 4 x 3! 3! = 3 X 2! 2! = 2 x 1! 1! = 1 x 0! Fatorial de 0 = 1 Recursividade 1 Recursividade
Leia maisAlgoritmos 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 maisFabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes
Árvores Fabrício J. Barth BandTec - Faculdade de Tecnologia Bandeirantes Setembro de 2011 Tópicos Introdução Árvores binárias Implementação em Java Ordens de percurso em árvores binárias Altura de uma
Leia maisÁrvores. Prof. César Melo DCC/ICE/UFAM
Árvores Prof. César Melo DCC/ICE/UFAM Introdução As estruturas anteriores são chamadas de unidimensionais (ou lineares) Exemplo são vetores e listas Não podem ser usadas como hierarquias. Exemplo: árvore
Leia maisIntroduçã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ÁRVORES E ÁRVORE BINÁRIA DE BUSCA
ÁRVORES E ÁRVORE BINÁRIA DE BUSCA Prof. André Backes Definição 2 Diversas aplicações necessitam que se represente um conjunto de objetos e as suas relações hierárquicas Uma árvore é uma abstração matemática
Leia maisINF1007: Programação 2 10 Árvores Binárias. (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 10 Árvores Binárias (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Introdução Árvores binárias Representação em C Ordens de percurso em árvores binárias Altura de uma árvore
Leia 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 maisMétodos Computacionais. Variações de Listas Encadeadas
Métodos Computacionais Variações de Listas Encadeadas Variações de Listas Encadeadas Listas podem variar quanto ao: Tipo de encadeamento Simples Circulares Duplas Circulares e Duplas Conteúdo Tipos Primitivos
Leia maisTECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 2 PERÍODO MÓDULO 3 AVALIAÇÃO MP2 DATA 2/10/2008 ESTRUTURAS DE DADOS 2008/2
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 2 PERÍODO MÓDULO 3 AVALIAÇÃO MP2 DATA 2/10/2008 ESTRUTURAS DE DADOS 2008/2 Dados de identificação do Acadêmico: Nome: Login: CA: Cidade:
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 maisESTRUTURA DE DADOS FILAS SEQUENCIAIS
ESTRUTURA DE DADOS FILAS SEQUENCIAIS Prof. Dr. Daniel Caetano 2012-2 Objetivos Compreender o que é uma estrutura em fila Compreender sua aplicação Capacitar para implementar filas Atividade Estruturada!
Leia maisPilhas. Prof. Túlio Toffolo BCC202 Aula 11 Algoritmos e Estruturas de Dados I
Pilhas Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 11 Algoritmos e Estruturas de Dados I O que é uma pilha? 4 Pilha 3 4 1 2 3 2 1 TAD Pilha Tipo Abstrato de dados com a seguinte característica:
Leia maisCriando seu próprio tipo de dado. Prof. Fabrício Olivetti de França
Criando seu próprio tipo de dado Prof. Fabrício Olivetti de França Fração Vamos criar uma biblioteca de funções para trabalhar com frações. Uma fração é composta por numerador e denominador. Fração int
Leia maisINF 1007 Programação II
INF 1007 Programação II Aula 04 Alocação Dinâmica Edirlei Soares de Lima Vetores - Declaração e Inicialização Declaração de um vetor: int meu_vetor[10]; Reserva um espaço de memória
Leia maisEstruturas de Dados Aula 16: Árvores com Número Variável 13/06/2011
Estruturas de Dados Aula 16: Árvores com Número Variável de Filhos 13/06/2011 1 Fontes Bibliográficas Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos
Leia maisPilha e Fila. Pilha em C. Definir o registro que representará cada elemento da pilha.
1 Estrutura de Dados II Pilha e Fila Pilha em C Definir o registro que representará cada elemento da pilha. No início a pilha estará vazia, logo o ponteiro topo tem o valor NULL. As operações de inserção
Leia maisDepartamento de Informática - PUC-Rio INF 1007 Programação 2 P3 26/11/2010
Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 26/11/2010 Aluno: Matrícula: Turma: Instruções: 1) Escreva seu nome completo, matrícula e turma em todas as folhas desta prova; 2) A prova
Leia maisLista com descritor (continuação)
Lista com descritor (continuação) Rotina para remover o eiro elemento de uma LLSECD: char removeiniciollsecd(tdescritor *l, TInfo val) { p = l->; l->=p->prox; if (l->==1) Rotina para remover o último nó
Leia maisPilhas. Algoritmos e Estruturas de Dados I. José Augusto Baranauskas Departamento de Física e Matemática FFCLRP-USP
Pilhas Algoritmos e Estruturas de Dados I Nesta aula veremos o ADT pilha Uma pilha é usada em muitas situações tais como avaliação de expressões aritméticas, chamada e retorno de procedimentos e funções
Leia maisINF1007: Programação 2 7 Busca em Vetores. 01/04/2014 (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 7 Busca em Vetores 01/04/2014 (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Busca em vetor Busca linear Busca binária 01/04/2014 (c) Dept. Informática - PUC-Rio 2 Busca em
Leia maisSCC122 - Estruturas de Dados. Lista Estática Seqüencial
SCC122 - Estruturas de Dados Lista Estática Seqüencial Lista Uma lista é uma estrutura que armazena elementos de forma alinhada, ou seja, com elementos dispostos um após o outro. Ex.: Listas de nomes,
Leia maisSUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca
ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização
Leia maisvoid push(int i){ if (num<max) vet[num++]=i; else { printf(">>> Erro: overflow na pilha!!!\n"); printf("%d nao foi empilhado!!!
Estruturas de Dados Lista 2: soluções J. L. Rangel 1. Suponha que uma pilha é representada através de um vetor vet e de um inteiro num. As declarações podem ser #define MAX 100 int vet[max], num; Escreva
Leia maisDocumento de uso exclusivo da unidade, não possui valor legal. 28/06/ :43:00. Matéria: Carga Horária Total. Prática: 44 Campo: 44
Disciplina: CCT0021 - ESTRUTURA DE DADOS Matéria: Carga Horária Total Teórica: 44 Prática: 44 Campo: 44 Tipo Curso: 4 - GRADUAÇÃO TECNOLÓGICA Curso(s): 35 - SISTEMAS DE INFORMAÇÃO 4091 - ANÁLISE E DESENVOLVIMENTO
Leia maisPesquisa 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 maisCES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra
CES- Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra Árvores CES- Operações sobre uma árvore Estruturas para armazenar árvores Contígua Contígua melhorada Encadeada
Leia maisLinguagem C: Árvores Binarias
Instituto de C Linguagem C: Árvores Binarias Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Tópicos Principais Introdução Árvores binárias Implementação
Leia maisPilhas e Filas Acesso
Listas lineares especiais Pilhas e Filas Acesso consulta inserção remoção Disciplina restrita de acesso Disciplina restrita acesso permitido somente em alguns nós Listas lineares especiais mais usuais
Leia maisÁrvores Binárias de Busca
0. Um breve comentário sobre os algoritmos de busca em tabelas De uma maneira geral, realizam-se operações de busca, inserção e remoção de elementos numa tabela. A busca sequencial tradicional é O(N).
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 mais