Estruturas de Dados I
|
|
|
- Thalita Canário de Barros
- 9 Há anos
- Visualizações:
Transcrição
1 Estruturas de Dados I Rodrigo Porfírio da Silva Sacchi [email protected] Aula 6: Listas Encadeadas e Alocação Dinâmica
2 Listas Encadeadas e Alocação Dinâmica
3 Alocação Seqüencial versus Alocação Dinâmica Seqüencial ou Estática: Operações em listas implementadas com alocação seqüencial são muito fracas; Na utilização de mais de duas listas, a gerência de memória é mais complexa usar alocação dinâmica (ou alocação encadeada); Na alocação encadeada, as posições de memória são alocadas (ou desalocadas) na medida em que são necessárias (ou dispensadas).
4 Alocação Seqüencial versus Alocação Dinâmica Seqüencial ou Estática: Todo espaço de memória a ser utilizado (para armazenar os elementos) é reservado (alocado) em tempo de compilação; Esse espaço de memória permanece alocado durante toda execução do programa, independente de estar efetivamente sendo usado ou não.
5 Alocação Seqüencial versus Alocação Dinâmica Encadeada ou Dinâmica: O espaço de memória a ser utilizado (para armazenar os elementos) pode ser alocado em tempo de execução, quando for efetivamente necessário (é possível alocar espaço para um elemento de cada vez); O espaço alocado pode ser liberado em tempo de execução, quando não for mais necessário.
6 Alocação Seqüencial versus Alocação Dinâmica Vantagens e Desvantagens: A alocação encadeada é mais conveniente quando o problema inclui o tratamento de mais de uma lista; O acesso ao k-ésimo elemento da lista é imediato na alocação seqüencial, mas na alocação encadeada obriga ao percurso na lista até o elemento desejado.
7 Alocação Seqüencial versus Alocação Dinâmica Seqüencial ou Estática: 5 C B A Topo
8 Alocação Seqüencial versus Alocação Dinâmica Encadeada ou Dinâmica: B 5 Depois de Depois de mim vem o... A 4 3 mim vem o... C 2 Topo 1
9 Listas Encadeadas Uma lista encadeada L, com n blocos de memória B 1, B 2,... B n é definida pelas seguintes características: Cada bloco de memória B i, 0 <= i < n, ou cada nó da lista tem pelo menos dois campos: Informação a ser armazenada; Indicação do próximo elemento na lista. Os blocos não estão necessariamente em seqüência na lista.
10 Listas Encadeadas Continuação (...) O acesso aos elementos da lista ocorre através de um ponteiro do início da lista (primeiro elemento); O acesso aos demais elementos ocorre através da indicação de quem é o próximo elemento na seqüência; O último nó da lista indica um endereço inválido, chamado NIL ou NULL.
11 Listas Encadeadas Representação: Ptr (ponteiro para início da lista L) A B C D B 1 B 2 B 3 B n Fim da lista NULL Se Ptr apontar para NULL (fim da lista), significa que a lista está vazia.
12 Listas Encadeadas Nas listas encadeadas os nós não estão, obrigatoriamente, em posições contíguas da memória; As operações de inserção ou remoção de elementos requerem encontrar novas posições de memória para armazenamento e liberar outras que possam ser reutilizadas posteriormente; É preciso, portanto, gerenciar a memória disponível;
13 Listas Encadeadas Linguagens de alto nível possuem um módulo de gerência de memória disponível ao usuário. Basta fazer referência às rotinas internas de ocupação e devolução de nós da lista de espaço disponível; Em C/C++, as rotinas new() e delete() executam essa tarefa. Outras: malloc(), free(); Em Java, a única rotina para acomodar a tarefa de alocação de memória é: new().
14 Listas Encadeadas Nos algoritmos, usamos uma notação especial: A indicação do endereço de um nó, feita por um ponteiro, será representada pelo símbolo. Cada ponteiro utilizado é associado a um único tipo de nó; Assim, pt info representa o campo info do nó apontado por pt; pt prox representa o endereço do campo prox apontado por pt.
15 Listas Encadeadas Considere uma lista L. ptr Chave Nó Registro Próximo Como declarar um nó: declare No registro (chave: inteiro, prox: ponteiro de No); declare ptr: ponteiro No;
16 Listas Encadeadas Tipo de listas: Listas simplesmente encadeadas; Listas circulares; Listas duplamente encadeadas. Estruturas de dados que podemos utilizar: Listas; Pilhas; Filas.
17 Listas Simplesmente Encadeadas Qualquer estrutura, inclusive listas, que seja armazenada em alocação encadeada requer o uso de um ponteiro que indique o endereço de seu primeiro nó; O percurso de uma lista é feito a partir desse ponteiro. A idéia consiste em seguir, consecutivamente, pelos endereços existentes no campo que indica o próximo nó (semelhante ao índice da alocação seqüencial).
18 Listas Simplesmente Encadeadas Qualquer estrutura que usa alocação encadeada requer o uso de um ponteiro que indique o endereço de seu primeiro nó (elemento); O percurso em uma lista é feito a partir desse ponteiro;
19 Listas Simplesmente Encadeadas A idéia consiste em seguir pelos endereços existentes no campo que indica o próximo nó (semelhante ao índice da alocação seqüencial); Exemplo: percorrer uma lista para imprimir o campo chave.
20 Listas Simplesmente Encadeadas Ptr
21 Listas Simplesmente Encadeadas Algoritmo para imprimir os valores dos campos chave de todos os elementos na lista: procedimento Imprimir(ptr: ponteiro No) início declare pont ptr: ponteiro No; enquanto pont!= null faça escreva pont chave; pont pont prox; fim_enquanto fim
22 Listas Simplesmente Encadeadas Busca: Buscar em lista ordenada e em lista não ordenada; Se a lista possui elementos, percorrer a lista até que o elemento seja encontrado. Caso contrário, ou a lista está vazia, ou já percorremos toda e o elemento não foi encontrado; Deve ser eficiente.
23 Listas Simplesmente Encadeadas O ponteiro pont retorna com valor nulo caso o elemento são seja encontrado, caso contrário, retorna com um valor do endereço do elemento na memória. Ptr
24 Listas Simplesmente Encadeadas Algoritmo de busca em listas encadeadas: função ponteiro No Busca(ptr: ponteiro No, x: inteiro) início declare pont: ponteiro No; pont ptr; enquanto( pont!= null e pont chave!= x ) faça pont pont prox; fim_enquanto se( pont!= null ) então retorne pont; fim_se retorne null; fim
25 Listas Simplesmente Encadeadas Inserção: Após a realização da busca, a operação de inserção em uma lista encadeada é trivial; Três operações devem ser cumpridas: Alocação de memória para o novo elemento (nó); Utilização do nó; Acerto da lista.
26 Listas Simplesmente Encadeadas Algoritmo de inserção: Inserção no início; Inserção no fim; Inserção em uma lista ordenada.
27 Listas Simplesmente Encadeadas Inserção no início: procedimento InsereInicio(ptr: ponteiro No, int novo) início declare pont Busca(ptr, novo): ponteiro No; se( pont!= null) então escreva Elemento já existe. ; senão Alocar( pont ); pont chave novo; pont prox ptr; ptr pont; fim_se fim
28 Listas Simplesmente Encadeadas Queremos inserir o elemento novo = 8. Ptr
29 Listas Simplesmente Encadeadas Remoção: Como ocorre na inserção, após a realização da busca, a operação de remoção em uma lista encadeada é trivial; Três fases devem ser cumpridas: Utilização do nó (se for o caso); Acerto da lista; Desalocação de memória.
30 Listas Simplesmente Encadeadas Algoritmo de Remoção: Remoção no início; Remoção no fim; Remoção de qualquer elemento; Remoção em uma lista ordenada.
31 Listas Simplesmente Encadeadas Remoção no início: procedimento RemoveInicio(ptr: ponteiro No) início declare pont ptr; se( ptr!= null ) então ptr ptr prox; Desalocar( pont ); fim_se fim
32 Listas Simplesmente Encadeadas Queremos remover o elemento = 3. Ptr
33 Listas Circulares A busca em uma lista ordenada, vista anteriormente, pode ser considerada pouco eficiente quando comparada às outras buscas anteriormente mencionadas. Uma pequena modificação na estrutura física da lista pode ser de grande auxílio: Obrigar o último nó da lista a apontar para o nócabeça, criando uma lista circular encadeada.
34 Listas Circulares A B C D B 1 B 2 B 3 B n O último sempre deve apontar para o primeiro.
35 Listas Circulares Problema: o teste de fim de lista nunca é satisfeito; Solução: colocar a chave procurada no nó cabeça, de forma que uma resposta positiva seja sempre encontrada. Como ficam a busca, inserção e remoção? A busca é semelhante à lista simplesmente encadeada: o ponteiro pont tem o valor de null se o elemento não é encontrado.
36 Listas Duplamente Encadeadas A lista duplamente encadeada incorpora um novo campo de ponteiro; Os campos de ponteiros tomam os nomes de prev e prox (nó anterior e nó seguinte, respectivamente); Como fica a inicialização do nó cabeça? Os algoritmos de busca, inserção e remoção em tabelas ordenadas são muito simples; Na busca, a função retorna indicando o nó procurado ou, se este não foi encontrado, o nó que seria seu consecutivo.
37 Listas Duplamente Encadeadas A B C D B 1 B 2 B 3 B n
38 Listas Duplamente Encadeadas Busca em uma lista duplamente encadeada: função ponteiro No Busca(ptr: ponteiro No, x inteiro) início declare aux: ponteiro No; aux = ptr; enquanto( aux && aux chave!= x) faça aux = aux prox; fim_enquanto se ( aux!= null ) então retorne aux; fim_se retorne null; fim
39 Listas Duplamente Encadeadas Inserção no início da lista: procedimento InsereInicio(ptr: ponteiro No, x: inteiro) início declare novo: ponteiro No; Aloca(novo, x); se ( novo!= null ) então se( ptr == null ) então ptr = novo; senão novo prox = ptr; ptr prev = novo; ptr = novo; fim_se numelementos numelementos + 1;; fim_se fim
40 Listas Duplamente Encadeadas Remoção no início da lista: procedimento removeinicio(ptr: ponteiro No) Início declare aux: ponteiro No; se( ptr!= null ) aux = ptr; ptr = ptr prox; ptr prev = 0; Desaloca( aux ); numelementos numelementos 1; fim_se fim
41 Listas Duplamente Encadeadas Idéias de implementação: Para qualquer lista, seja ela simplesmente ou duplamente encadeada, podemos implementá-la sendo circular ou não; Além disso, podemos também implementar qualquer lista usando dois ponteiros; Além de um ponteiro que sempre aponta para o início da lista, podemos também controlar um ponteiro que sempre aponta para o final da lista; Isto é interessante tanto em listas simplesmente encadeadas quanto em listas duplamente encadeadas. Por que?
Estruturas de Dados II
Estruturas de Dados II Rodrigo Porfírio da Silva Sacchi [email protected] 3410-2086 Aula 2: Árvores http://www.do.ufgd.edu.br/rodrigosacchi Árvores Definição: Árvores Uma árvore T é um conjunto
Aula 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
Estrutura de Dados Listas
Universidade Federal da Paraíba Centro de Informática Departamento de Informática Estrutura de Dados Listas 1 Tiago Maritan [email protected] Conteúdos Abordados O Conceito de Listas Listas com Representação
Listas Lineares. continuando...
Listas Lineares continuando... 1 Listas! relembrando: listas lineares agrupa informações referentes aum conjunto de elementos que, de alguma forma, se relacionam entre si! Uma lista linear ou está vazia,
Algoritmos e Estruturas de Dados. Prof. Marcelo Zorzan Profa. Melissa Zanatta
Algoritmos e Estruturas de Dados Prof. Marcelo Zorzan Profa. Melissa Zanatta Assuntos da Aula Alocação de Memória Alocação estática de memória Alocação dinâmica de memória Malloc, Calloc, Free, Realloc
Aula 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
Lista: conceito, representação e algoritmos
Lista: conceito, representação e algoritmos SCC0502 Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Problema Imaginem a situação da automação de uma biblioteca Todos os livros devem ser cadastrados
Algoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Aula 09 Revisão + Simulado Prof. Jesús P. Mena-Chalco [email protected] 1Q-2019 1 Vetores 2 Vetores 3 Vetores vetor 4 Vetores... vetor... 5 Ponteiros 6 Processo
Lista 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
Estrutura de Dados. Ricardo José Cabeça de Souza Parte 9
Estrutura de Dados Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Parte 9 VETOR Ao declararmos um vetor, reservamos um espaço contíguo de memória para armazenar seus elementos Vetor não é uma estrutura
Estruturas de Dados Estruturas de Dados Fundamentais
Estruturas de Dados Estruturas de Dados Fundamentais Prof. Eduardo Alchieri Estruturas de Dados Fundamentais Todos os tipos abstratos de dados (pilhas, filas, deques, etc.) podem ser implementados usando
PONTEIROS E LISTAS. Kalinka Regina Lucas Jaquie Castelo Branco
PONTEIROS E LISTAS Kalinka Regina Lucas Jaquie Castelo Branco [email protected] ALOCAÇÃO DINÂMICA DE MEMÓRIA Pode-se assumir que as variáveis declaradas na cláusula variável do pseudo-código do algoritmo
Aula 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
ESTRUTURA DE DADOS FILAS DINÂMICAS
ESTRUTURA DE DADOS FILAS DINÂMICAS Prof. Dr. Daniel Caetano 202-2 Objetivos Compreender o conceito de encadeada Usar s dinâmicas para aplicações Conhecer as vantagens e desvantagens das s encadeadas Atividade
Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB
Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB [email protected] Listas e Filas Estruturas de Dados 2 Estrututuras de dados lineares Pilhas (stack) Estrutura de dados onde a inserção
LINGUAGEM C: ALOCAÇÃO DINÂMICA
LINGUAGEM C: ALOCAÇÃO DINÂMICA Prof. André Backes DEFINIÇÃO Sempre que escrevemos um programa, é preciso reservar espaço para as informações que serão processadas. Para isso utilizamos as variáveis Uma
SCC 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
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
Estrutura 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. [email protected] 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
Introdução a Programação. Listas Encadeadas
Introdução a Programação Listas Encadeadas Tópicos da Aula Hoje aprenderemos que existem, além de vetores, estruturas de dados dinâmicas que podem armazenar coleções de dados Estruturas Dinâmicas e Vetores
Fila. 26 e 31/8/2008 Representação/Implementação: Seqüencial estática Encadeada dinâmica Exercícios/Aplicações
Fila 26 e 31/8/2008 Representação/Implementação: Seqüencial estática Encadeada dinâmica Exercícios/Aplicações Fila O que é? Para que serve? Modelos intuitivos de filas Linhas para comprar bilhetes de cinema
O que é um jogo digital?
O que é um jogo digital? Programa de Computador Dados Algoritmos Para que estudar Estrutura de Dados? Para manipular os dados dos programas usamos os ALGORITMOS e para organizar os dados da melhor forma
Á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
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
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)
Aula 13: Listas encadeadas (estruturas lineares)
Algoritmos e Estruturas de Dados I Aula 13: Listas encadeadas (estruturas lineares) Prof. Jesús P. Mena-Chalco [email protected] 1Q-2017 1 Estruturas (alguns autores usam o termo registro) 2 Linguagem
Algoritmos 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
Exercício. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal
Exercício Crie uma função que recebe o número de dias até um determinado evento e calcula e retorna o equivalente em meses, semanas e dias, sem usar vetor ou o conceito de vetor. Considerar que todos os
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
Computadores Digitais 2. Prof. Rodrigo de Souza Couto
Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Tópicos Listas Encadeadas Introdução às listas encadeadas Manipulação de elementos Implementações recursivas Listas
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
Alocaçã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
Listas 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
Pilha 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
Aula 07: Algoritmos de busca e Listas encadeadas
BC1424 Algoritmos e Estruturas de Dados I Aula 07: Algoritmos de busca e Listas encadeadas Prof. Jesús P. Mena-Chalco [email protected] 1Q-2016 1 Busca de um elemento 2 Exemplo: Busca de um elemento
Árvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral
SCC-214 Projeto de Algoritmos Thiago A. S. Pardo Listas e árvores Listas lineares Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral Diversas aplicações necessitam de estruturas
C com introdução a OO
... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro
A linguagem C permite dois tipos de alocação de memória: Alocação estática e alocação dinâmica.
Alocação de Memória Todo programa precisa utilizar memória para ser executado. Quando um programa inicia sua execução, ele começa a solicitar memória ao sistema operacional, ou seja, faz a alocação de
1. 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
L I C R P * * V O * * A * A F * * * * *
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA Bacharelado em Ciência da Computação e Engenharia da Computação INF 01203 Estruturas de Dados Profa. Renata Galante ([email protected]
Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP. Alocação Dinâmica de Memória
Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Alocação Dinâmica de Memória Alocação Estática x Dinâmica C: dois tipos de alocação de memória: Estática e Dinâmica Na alocação estática, o espaço
Estruturas de Dados Aula 10: Listas (parte 2) 19/04/2011
Estruturas de Dados Aula 10: Listas (parte 2) 19/04/2011 Fontes Bibliográficas Livros: Projeto de Algoritmos (Nivio Ziviani): Capítulo 3; Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo
Linguagem C: Listas Encadeadas
Prof. Paulo R. S. L. Coelho [email protected] 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
BCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 09: Listas (Parte 2) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes Email:
Gerência de Memória. Execução de um Programa (1) Introdução. Introdução
Introdução Gerência de Memória (Aula 18) Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos residentes na memória principal, melhor será
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
Pilhas 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
Á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
2. Listas 3. Listas ligadas simples 4. Operações dentro das listas 5. Listas Circulares 6. Listas Duplamente Ligadas 7. Pilhas 8.
Profa. Dra. Laura Rodríguez E-mail: [email protected] Universidade da Madeira 1. Introdução 2. Listas 3. Listas ligadas simples 4. Operações dentro das listas 5. Listas Circulares 6. Listas Duplamente Ligadas
Estruturas de Dados Aulas 3 e 4: Uso da. 14/03/2011 e 16/03/2011
Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores 14/03/2011 e 16/03/2011 Uso da memória Existem 3 maneiras de reservar o espaço da memória: Variáveis globais (estáticas) Espaço existe enquanto
Pilhas e Filas. Nádia Félix e Hebert Coelho
Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura de Dados Série de Livros Didáticos - Informática - UFRGS Pilhas e filas Listas lineares
22/08/2011. Fila. SCC0202 Algoritmos e Estruturas de Dados I. Prof. Thiago A. S. Pardo. Fila. O que é? Para que serve?
Fila SCC0202 Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Fila O que é? Para que serve? 2 1 Biblioteca Problema: automação de uma biblioteca Todos os livros devem ser cadastrados O sistema
Alocação Dinâmica de Memória
Alocação Dinâmica de Memória Luiz Chaimowicz, Raquel O. Prates, Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados II DCC UFMG Alocação Estática x Dinâmica C: dois tipos de alocação de memória: Estática
10.1. Aula 10: Pilhas. O conceito de pilha. Algoritmos de inserção e remoção. Exemplo: Notação Polonesa
10.1 Aula 10: Pilhas O conceito de pilha Algoritmos de inserção e remoção Exemplo: Notação Polonesa 10.2 Pilhas Uso eficiente de listas: inserções e remoções não devem acarretar movimentação de nós. A
Notas da Aula 7 - Fundamentos de Sistemas Operacionais
Notas da Aula 7 - Fundamentos de Sistemas Operacionais 1. Organização de um Processo em Memória Quando um processo é criado, o SO aloca uma porção da memória física da máquina para a criação do espaço
Lista 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ó
Estrutura de Dados. Aula 07 Alocação Dinâmica
Estrutura de Dados Aula 07 Alocação Dinâmica 2 ALOCAÇÃO DINÂMICA Existem três modos de reservar espaço de memória para o armazenamento de informações: 1ª - através do uso de variáveis globais (e estáticas).
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
Listas 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
Quarta Lista de Exercícios Implementação e uso de Listas Encadeadas
1 Objetivos Universidade Federal do Rio Grande do Norte epartamento de Informática e Matemática plicada IMp Prática de lgoritmos e Estrutura de ados I IM0426 Umberto Souza da osta - 25/09/2007 Quarta Lista
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.
Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas. SCC-502 Algoritmos e Estruturas de Dados I
Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas SCC-502 Algoritmos e Estruturas de Dados I Lista com nó de cabeçalho Nó de cabeçalho Header, sentinela, etc. Para que? Sentinela Beth
Modulo 12: alocação dinâmica de memória
PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 12: alocação dinâmica de memória Aura - Erick [email protected], [email protected] Roteiro porque e como utilizar a alocação dinâmica funções: malloc (
