Estruturas de Dados I Listas Estáticas
|
|
|
- Silvana Domingues Corte-Real
- 8 Há anos
- Visualizações:
Transcrição
1 Estruturas de Dados I Listas Estáticas
2 Estrutura de Dados Lista - Definição Seqüência de um ou mais itens x 1,x 2,,x n, na qual x i é de um determinado tipo e n representa o tamanho da lista linear. Sua principal propriedade estrutural envolve as posições relativas dos itens em uma dimensão. Assumindo n 1, x1 é o primeiro item da lista e x n é o último item da lista. x i precede x i+1 para i = 1,2,,n 1 x i sucede x i-1 para i = 2,3,,n o elemento x i é dito estar na i-ésima posição da lista.
3 Estrutura de Dados Lista - Definição Uma Estrutura de Dados Lista é um conjunto de dados dispostos e/ou acessáveis em uma seqüência determinada. Este conjunto de dados pode possuir uma ordem intrínseca (Lista Ordenada) ou não. Este conjunto de dados pode ocupar espaços de memória fisicamente consecutivos, espelhando a sua ordem, ou não. Se os dados estiverem dispersos fisicamente, para que este conjunto seja uma lista, ele deve possuir operações e informações adicionais que permitam que seja tratado como tal (Lista Encadeada).
4 Listas A Lista é uma estrutura de dados cujo funcionamento é inspirado no de uma lista natural Uma lista pode ser Ordenada ou não. Quando for ordenada, pode o ser por alguma característica intrínseca dos dados (ex: ordem alfabética). Pode também refletir a ordem cronológica (ordem de inserção) dos dados).
5 Listas usando Vetores Listas estáticas Lista vazia Vetores possuem um espaço limitado para armazenamento de dados. Necessitamos definir um espaço grande o suficiente para a lista. Necessitamos de um indicador de qual elemento do vetor é o atual último elemento da lista. 20 Lista cheia
6 Modelagem de Listas Estáticas utilizando Algoritmo Estruturado Modelaremos a Estrutura de Dados Lista utilizando a técnica da Programação Estruturada e como forma de armazenamento um Vetor (Array). Veremos por enquanto somente os algoritmos.
7 Modelagem da Lista Aspecto Estrutural: Necessitamos de um vetor para armazenar as informações. Necessitamos de um indicador da posição atual do último elemento da lista. Necessitamos de uma constante que nos diga quando a lista está cheia e duas outras para codificar erros. Criaremos uma lista estática de inteiros para exemplo. Algoritmo para o TAD: constantes Maxlista = 100; tipo Lista { inteiro inteiro } nometipolista; dados[maxlista]; ultimo;
8 Modelagem da Lista Aspecto Funcional: Colocar e retirar dados da lista. Testar se a lista está vazia ou cheia e outros testes. Inicializa-la e garantir a ordem dos elementos.
9 Modelagem da Lista Exemplo de Operações: Colocar e retirar dados da lista: Adiciona(dado) AdicionaNoInício(dado) AdicionaNaPosição(dado,posição) AdicionaEmOrdem(dado) Retira() RetiraDoInício() RetiraDaPosição(posição) RetiraEspecífico(dado)
10 Modelagem da Lista Exemplo de Operações: Testar a lista e outros testes: ListaCheia ListaVazia Posicao(dado) Contem(dado) Igual(dado1,dado2) Maior(dado1,dado2) Menor(dado1,dado2) Exemplo de Operações: Inicializar ou limpar: InicializaLista DestroiLista
11 Algoritmo InicializaLista FUNÇÃO inicializalista() início alista.ultimo := -1; fim; Observação: Este e os próximos algoritmos pressupõem que foi definida uma variável global tipo Lista denominada alista. Ou seja, foi declarada no início: nometipolista alista;
12 Algoritmo DestroiLista FUNÇÃO destroilista() início alista.ultimo := -1; fim; Observação: Este algoritmo parece redundante. Colocar a sua semantica em separado da inicialização porém, é importante. Mais tarde veremos que, utilizando alocação deinâmica de memória, possuir um destrutor para alista é muito importante.
13 Algoritmo ListaCheia Booleano FUNÇÃO listacheia() início SE (alista.ultimo = Maxlista - 1) ENTÃO RETORNE(Verdade) SENÃO RETORNE(Falso); fim; Pergunta: Existe tipo booleano em C? Adote o padrão: 0 para falso, e diferente de 0 (-1 ou 1) para verdadeiro.
14 Algoritmo ListaVazia Booleano FUNÇÃO listavazia() início SE (alista.ultimo = -1) ENTÃO RETORNE(Verdade) SENÃO RETORNE(Falso); fim;
15 Algoritmo Adiciona Procedimento: Testamos se há espaço. Incrementamos o último. Adicionamos o novo dado. Parâmetros: O dado a ser inserido. Lista (global).
16 Algoritmo Adiciona Constantes ErroListaCheia = -1; ErroListaVazia = -2; ErroPosição = -3; Inteiro FUNÇÃO adiciona(inteiro dado) início SE (listacheia) ENTÃO SENÃO FIM SE fim; RETORNE(ErroListaCheia); alista.ultimo := alista.ultimo + 1. alista.dados[alista.ultimo] := dado; RETORNE(aLista.ultimo);
17 Algoritmo Retira Procedimento: Testamos se há elementos. Decrementamos o último. Devolvemos o último elemento. Parâmetros: Lista (global).
18 Algoritmo Retira Inteiro FUNÇÃO retira() início SE (listavazia) ENTÃO RETORNE(ErroListaVazia); SENÃO alista.ultimo := alista.ultimo - 1. RETORNE(aLista.dados[aLista.ultimo + 1]); FIM SE fim;
19 Algoritmo AdicionaNoInício Procedimento: Testamos se há espaço. Incrementamos o último. Empuramos tudo para trás. Adicionamos o novo dado na primeira posição. Parâmetros: O dado a ser inserido. Lista (global).
20 Algoritmo AdicionaNoInício Inteiro FUNÇÃO adicionanoinício(inteiro dado) variáveis inteiro posição; // Variável auxiliar para percorrer início SE (listacheia) ENTÃO RETORNE(ErroListaCheia); SENÃO alista.ultimo := alista.ultimo + 1; posição := alista.ultimo; ENQUANTO (posição > 0) FAÇA // Empurrar tudo para tras alista.dados[posicao] := alista.dados[posicao - 1]; posição := posição - 1; FIM ENQUANTO alista.dados[0] := dado; RETORNE(0); FIM SE fim;
21 Algoritmo RetiraDoInício Procedimento: Testamos se há elementos. Decrementamos o último. Salvamos e primeiro elemento. Empuramos tudo para a frente. Parâmetros: Lista (global).
22 Algoritmo RetiraDoInício Inteiro FUNÇÃO retiradoinício() variáveis inteiro posição, valor; início SE (listavazia) ENTÃO RETORNE(ErroListaVazia); SENÃO alista.ultimo := alista.ultimo - 1; valor := alista.dados[0]; posição := 0; ENQUANTO (posição <= alista.ultimo) FAÇA // Empurrar tudo para traz alista.dados[posicao] := alista.dados[posicao + 1]; posição := posição + 1; FIM ENQUANTO RETORNE(valor); FIM SE fim;
23 Algoritmo AdicionaNaPosição Procedimento: Testamos se há espaço e se a posição existe. Incrementamos o último. Empuramos tudo para trás a partir da posição. Adicionamos o novo dado na posição dada. Parâmetros: O dado a ser inserido. A posição onde inserir. Lista (global).
24 Algoritmo AdicionaNaPosição Inteiro FUNÇÃO adicionanaposição(inteiro dado, destino) variáveis inteiro posição; início SE (listacheia) ENTÃO RETORNE(ErroListaCheia); SENÃO SE (destino > alista.ultimo + 1) ENTÃO RETORNE(ErroPosição); FIM SE alista.ultimo := alista.ultimo + 1; posição := alista.ultimo; ENQUANTO (posição > destino) FAÇA // Empurrar tudo para tras alista.dados[posicao] := alista.dados[posicao - 1]; posição := posição - 1; FIM ENQUANTO alista.dados[destino] := dado; RETORNE(destino); FIM SE fim;
25 Algoritmo RetiraDaPosição Procedimento: Testamos se há elementos e se a posição existe. Decrementamos o último. Salvamos elemento na posição. Empuramos tudo para frente até posição. Parâmetros: O dado a ser inserido. A posição onde inserir. Lista (global).
26 Algoritmo RetiraDaPosição Inteiro FUNÇÃO retiradaposição(inteiro fonte) variáveis inteiro posição, valor; início SE (fonte > alista.ultimo) ENTÃO RETORNE(ErroPosição); SENÃO SE (listavazia) ENTÃO RETORNE(ErroListaVazia); SENÃO alista.ultimo := alista.ultimo - 1; valor := alista.dados[fonte]; posição := fonte; ENQUANTO (posição <= alista.ultimo) FAÇA // Empurrar tudo para frente alista.dados[posicao] := alista.dados[posicao + 1]; posição := posição + 1; FIM ENQUANTO RETORNE(valor); FIM SE FIM SE fim;
27 Algoritmo RetiraEspecífico Retira um dado específico da lista. Procedimento: Testamos se há elementos. Testamos se o dado existe e qual sua posição. Necessitamos de uma função Posição(dado) Chamamos RetiraDaPosição. Parâmetros: O dado a ser retirado. Lista (global).
28 Algoritmo Posição Inteiro FUNÇÃO posição(inteiro dado) variáveis início fim; inteiro posição; posição := 0; ENQUANTO (posição <= alista.ultimo E NÃO(IGUAL(dado,aLista.dados[posição]))) FAÇA posição := posição + 1; FIM ENQUANTO SE (posição > alista.ultimo) ENTÃO RETORNE(ErroPosição); SENÃO RETORNE(posição); FIM SE
29 Algoritmo RetiraEspecífico Inteiro FUNÇÃO retiraespecífico(inteiro dado) variáveis inteiro posição; início SE (listavazia) ENTÃO RETORNE(ErroListaVazia); SENÃO posição := posição(dado); SE (posição < 0) ENTÃO RETORNE(ErroPosição); SENÃO RETORNE(retiraDaPosição(posição)); FIM SE FIM SE fim;
30 Algoritmos Contem(dado) Procedimento: Testamos se um dado específico existe na lista. Parâmetros: O dado a ser procurado. Lista (global).
31 Algoritmo Contém Booleano FUNÇÃO Contém(inteiro dado) variáveis início fim; inteiro posição; posição := 0; ENQUANTO (posição <= alista.ultimo E NÃO(IGUAL(dado,aLista.dados[posição]))) FAÇA posição := posição + 1; FIM ENQUANTO SE (posição > alista.ultimo) ENTÃO RETORNE(Falso); SENÃO RETORNE(Verdadeiro); FIM SE
32 Trabalho 1 Lista Estática Converter todos os algoritmos apresentados nesta aula em programação C. Inicialize a lista e monte um MENU para acessar as opções com o seguinte formato: 1 - Inserir um elemento 2 - Remover um elemento 3 - Inserir um elemento no incio da lista 4 - Retirar um elemento do incio da lista 5 - Inserir um elemento em uma posicao especifica 6 - Retirar um elemento de uma posicao especifica 7 - Retirar um elemento especifico 8 - Procurar um elemento 9 - Esvaziar a lista M - Mostrar os 10 primeiros elementos da lista 0 - Sair
33 Dados do trabalho Entrega do trabalho: dia 16/05/16 até 23:59:59h Entrega em Assunto da mensagem: EDITRAB1 Nome completo do aluno, exemplo: EDITRAB1 Sérgio Portari Valor: 15 pontos
INE5408 Estruturas de Dados
INE5408 Estruturas de Dados Estruturas de Dados básicas utilizando Vetores - Introdução - Pilhas usando Vetores - Filas usando Vetores Estruturas de Dados - Definição Estruturas de Dados é a disciplina
Filas. 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
BCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 08: Listas (Parte 1) ASN Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Material elaborado com base nos slides do Prof. Reinaldo Fortes (curso
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
Listas Lineares. Livro Projeto de Algoritmos Nívio Ziviani Capítulo 3 Seção 3.1
Listas Lineares Elerson R. S. Santos [email protected] Livro Projeto de Algoritmos Nívio Ziviani Capítulo 3 Seção 3.1 http://www2.dcc.ufmg.br/livros/algoritmos/ Listas Lineares Uma das formas mais simples
LP II Estrutura de Dados
LP II Estrutura de Dados Pilhas Estáticas Sequenciais Prof. José Honorato Ferreira Nunes [email protected] http://softwarelivre.org/zenorato/honoratonunes Pilhas - conceitos Pilhas são listas onde a inserção
LISTAS LINEARES. Estrutura de Dados
LISTAS LINEARES Lista Linear Definição: seqüência de zero ou mais elementos a 1,a 2,...,a n sendo a i elementos de um mesmo tipo n o tamanho da lista linear Propriedade fundamental: os elementos têm relações
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
Á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
Aula 3 Listas Lineares Sequenciais Ordenadas. prof Leticia Winkler
Aula 3 Listas Lineares Sequenciais Ordenadas prof Leticia Winkler 1 Listas Lineares Sequenciais Ordenadas Elementos da lista estão dispostos num vetor (contíguos na memória) e ordenado de acordo com alguma
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 I
Estruturas de Dados I Rodrigo Porfírio da Silva Sacchi [email protected] 3410-2075 Aula 6: Listas Encadeadas e Alocação Dinâmica Listas Encadeadas e Alocação Dinâmica Alocação Seqüencial versus
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
Listas Lineares. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Listas Lineares David Menotti DInf UFPR Listas Lineares Uma das formas mais simples de interligar os elementos de um conjunto. Estrutura em que as operações inserir, retirar e localizar são definidas.
ESTRUTURA DE DADOS VETORES E LISTAS LINEARES
ESTRUTURA DE DADOS VETORES E LISTAS LINEARES Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer os vetores Compreender as Listas Sequenciais Implementar uma Lista Sequencial com Vetor GRUPOS? Até o fim
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
Listas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.
Listas Estáticas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic [email protected] Instituto de
Aula 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
Hashing. ACH Introdução à Ciência da Computação II. Delano M. Beder
ing ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo [email protected] 11/2008 Material baseado em slides do professor
ESTRUTURA DE DADOS LISTAS LINEARES
ESTRUTURA DE DADOS LISTAS LINEARES Prof. Dr. Daniel Caetano 2014-2 Objetivos Compreender as listas sequenciais Implementar uma Lista Sequencial com Vetor Compreender o uso de listas sequenciais Material
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
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
Aula T19 BCC202 Pesquisa (Parte 1) Pesquisa Binária. Túlio Toffolo
Aula T19 BCC202 Pesquisa (Parte 1) Pesquisa Binária Túlio Toffolo www.decom.ufop.br/toffolo Pesquisa em Memória Primária n Introdução - Conceitos Básicos n Pesquisa Sequencial n Pesquisa Binária n Árvores
Aula 15: Pesquisa em Memória Primária. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP
Aula 15: Pesquisa em Memória Primária Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Pesquisa em Memória Primária Introdução - Conceitos Básicos Pesquisa Sequencial Pesquisa Binária Árvores de
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
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
Filas 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
Fila. 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,
Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli
Vetores De modo geral, em linguagem de programação, vetores ou arrays são estruturas de dados que permitem que uma mesma variável possa armazenar mais de um valor; Em Java, vetores são coleções de dados,
Fila. 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
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
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
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
Á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
SCC122 - 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,
Lista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35
Lista Ordenada Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Conteúdo Definição Operações Representações Contígua Encadeada Aplicação Exercícios 2
Árvores B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza
Árvores B Árvores B Estrutura de Dados II Jairo Francisco de Souza Motivação Quando tabelas são muito grandes Armazenamento do conjunto de chaves não pode ser efetuado na memória principal Necessário uso
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
Estruturas de Dados Filas
Estruturas de Dados Filas Roteiro Introdução Definição de Fila (Queue) Aplicações Operações sobre Fila Implementação de Fila Com vetores Com listas encadeadas Exercícios Introdução Estamos acostumados
Filas. Prof. Túlio Toffolo BCC202 Aula 12 Algoritmos e Estruturas de Dados I
Filas Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 12 Algoritmos e Estruturas de Dados I O que é uma fila? 1 4 2 3 Fila 1 2 3 4 TAD Fila Tipo Abstrato de dados com a seguinte característica:
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
Tabelas de dispersão/hash
Tabelas de dispersão/hash 1 Tabelas de dispersão/hash 1. Considere uma tabela de hash de tamanho m = 1000 e a função de hash h(k)= [m.(k.a % 1)], com A=( 5-1)/2. Calcule os valores de hash das chaves 61,
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 B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza
Árvores B Árvores B Estrutura de Dados II Jairo Francisco de Souza Motivação Quando tabelas são muito grandes Armazenamento do conjunto de chaves não pode ser efetuado na memória principal Necessário uso
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)
Estrutura de Dados: Lista Linear. Parte I Introdução e Listas Sequenciais Estáticas
Estrutura de Dados: Lista Linear Parte I Introdução e Listas Sequenciais Estáticas Estrutura de dados: Lista Linear Def. Uma Lista Linear é uma coleção ordenada de componentes de um mesmo tipo. Ela é ou
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
Exemplos. Alocação Dinâmica de Pilhas. Pilhas. Pilhas. Implementação Seqüencial X Encadeada. SCE 182 Algoritmos e Estruturas de Dados I
SCE 182 Algoritmos e Estruturas de Dados I Uma pilha é uma lista linear em que a inserção ou eliminação de elementos somente pode ocorrer em uma das extremidades, que é chamada de TOPO da PILHA. D C B
SUMÁ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
EAD 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
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
LINGUAGEM C: ARRAY: VETORES E MATRIZES
LINGUAGEM C: ARRAY: VETORES E MATRIZES Prof. André Backes POR QUE USAR ARRAY? As variáveis declaradas até agora são capazes de armazenar um único valor por vez. Sempre que tentamos armazenar um novo valor
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
Estruturas de Dados em C++ Conceitos. Leandro Tonietto jun-09
Estruturas de Dados em C++ Conceitos Leandro Tonietto jun-09 Estruturas de dados Armazenamento de vários registros de um mesmo tipo em uma única estrutura. Como visto até então, usando array simples: int
Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli
Vetores De modo geral, em linguagem de programação, vetores ou arrays são estruturas de dados que permitem que uma mesma variável possa armazenar mais de um valor; Em Java, vetores são coleções de dados,
Á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
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
Estruturas de Dados com Jogos. Capítulo 2 Pilhas - Alocação Sequencial e Estática
Estruturas de Dados com Jogos Capítulo 2 Pilhas - Alocação Sequencial e Estática Seus Objetivos neste Capítulo Entender o que é e para que serve uma estrutura do tipo Pilha; Entender o significado de Alocação
Listas: a última das 3 estruturas lineares (Pilhas, Filas e Listas)
Listas: a última das 3 estruturas lineares (Pilhas, Filas e Listas)... árvores e grafos são não lineares! 14/9/2010 Conceitos, todas as variações para listas: ordenadas, com nó cabeça, duplamente encadeadas,
Heaps. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35
Heaps Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Conteúdo Introdução Definição de Heap Heap Binária Implementação com vetor Fila de Prioridades
Lista de exercícios sobre contagem de operações Prof. João B. Oliveira
Lista de exercícios sobre contagem de operações Prof. João B. Oliveira 1. metodo m ( Vetor V ) int i, res = 0; para i de 1 a V.size res = res + V[i]; return res; Soma de elementos de um vetor, O( ). 2.
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
Complexidade de Algoritmos
Complexidade de Algoritmos Prof. Diego Buchinger [email protected] [email protected] Prof. Cristiano Damiani Vasconcellos [email protected] Análise de complexidade de Estruturas
Programação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
16/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 é
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
Fundamentos de Programação
Fundamentos de Programação Linguagem C++: arrays - aula I Bruno Emerson Gurgel Gomes 1 1 Instituto Federal de Educação, Ciência e Tecnologia do RN (IFRN) 2012 Bruno Gomes (IFRN) Fundamentos de Programação
