Estrutura de Dados Aula 02 1.

Slides:



Advertisements
Apresentações semelhantes
LISTAS Dilvan Moreira, parcialmente baseado em material do prof. Ricardo Campello.
Advertisements

Aula T-09 – BCC202 Listas (Parte 1) Túlio Toffolo www. decom. ufop
Estruturas de Dados Marcio Gonçalves.
Listas Lineares Estrutura que permite representar um conjunto de dados de forma a preservar a relação de ordem linear. Uma lista linear é composta de nós,
Listas Encadeadas CONTEÚDO (1) Motivação (2) Definição (3) Operações
Pilhas e Filas CONTEÚDO (1) Pilhas (2) Filas.
TADS – Tipos Abstratos de Dados
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
David Menotti Estruturas de Dados I DECOM – UFOP
Pesquisa em Memória Primária
David Menotti Estruturas de Dados I DECOM – UFOP
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
Pesquisa em Memória Primária
Listas lineares Listas Lineares Fila Dupla Pilha Fila Saída restrita
Ordenação Facilitar e aumentar a eficiência das operações de pesquisa sobre esses dados Pode ser crescente ou decrescente A seqüência de entrada, normalmente,
Ordenação Facilitar e aumentar a eficiência das operações de pesquisa sobre esses dados Pode ser crescente ou decrescente A seqüência de entrada, normalmente,
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Instrutor: Nilo Menezes
Robson Godoi / Sandra Siebra
Listas Encadeadas.
Algoritmos de Ordenação
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Algoritmos e Estruturas de Dados
ALGORITMOS E ESTRUTURAS DE DADOS
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Aula prática 12 Listas Encadeadas
Listas Lineares Estrutura de Dados.
Estrutura de Dados Unidade 9 Simulação do exercício 9.2 CASO 02a Roberto Ferrari Mauricio Falvo.
LISTAS DUPLAMENTE ENCADEADAS
Aula prática 8 Ponteiros Monitoria de Introdução à Programação
Aula prática 6 Vetores e Matrizes
Prof. Natalia Castro Fernandes Engenharia de Telecomunicações – UFF 2º semestre/2012.
Linguagem de Montagem.
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
Estrutura de Dados Unidade 9 Simulação do exercício 9.2 CASO 02b Roberto Ferrari Mauricio Falvo.
Estrutura de Dados Unidade 9 Simulação do exercício 9.2 CASO 04b Roberto Ferrari Mauricio Falvo.
Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação
Estrutura de Dados Unidade 9 Simulação do exercício 9.2 CASO 03a
Listas, Filas e Pilhas Katia Guimarães.
Aula 3 Listas, pilhas, filas.
Estruturas de Dados Aula 9: Listas (parte 1)
Estruturas de Dados Aula 11: TAD Pilha
Módulo I Capítulo 5: Vetores
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Listas.
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Filas  São utilizadas em aplicações onde são impostos critérios para a inserção e retirada de elementos cuja ordem não depende da ordem natural dos valores.
Estruturas de Dados Aula 15: Árvores
Exercícios de Pilha e Fila
Lista Linear Base para outras estruturas
Como analisar um algoritmo
Professor Ulisses Vasconcelos
Estruturas de Dados Aula 10: Listas (parte 2) 07/05/2014.
INE - UFSC - Disciplina Estruturas de Dados - Prof. Dr. Aldo von Wangenheim Página 1 Estruturas de Dados - T.332 Capítulo 3 Parte 1: Ponteiros, Passagem.
Aula Prática 12 Listas Encadeadas Monitoria
INE5408 Estruturas de Dados
Objetivos Ao concluir esta Disciplina espera-se que os alunos sejam capazes de: Distinguir os conceitos de Estrutura e Dados; Compreender o que são, como.
Gabriel C.S. EDA0001 – TADS – 2013 UDESC – Joinville
Estrutura de Dados Aula 3 - Listas
Estrutura de dados Pilhas e filas
Profa. Juliana Mafra ESTRUTURA DE DADOS 30 de Setembro de 2009 Faculdade de Informática e Tecnologia de Pernambuco.
INE5408 Estruturas de Dados Listas Encadeadas Simples.
11 Pilhas, Filas e Listas Duplamente Encadeadas Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Lista Ligada Estrutura de Dados II Prof. Gale. Vantagens  Crescem (ou decrescem) à medida que elementos são inseridos (ou removidos)  seqüência encadeada.
INE5408 Estruturas de Dados Estruturas de Dados básicas utilizando Vetores - Listas.
INE5408 Estruturas de Dados Estruturas de Dados básicas utilizando Vetores - Introdução - Pilhas usando Vetores - Filas usando Vetores.
UNIVERSIDADE FEDERAL DE MINAS GERAIS Listas Lineares Cristiano Arbex Valle Vinicius Fernandes dos Santos
INE5408 Estruturas de Dados
Transcrição da apresentação:

Estrutura de Dados Aula 02 1

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).

Listas A Lista é uma estrutura de dados cujo funcionamento é inspirado no de uma lista “natural” 89 55 24 20 12 4 24 89 12 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). 4 55 20

Listas usando Vetores Lista vazia 24 5 4 -1 2 1 3 1 3 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 ultimo elemento da lista. 89 12 4 55 20 Lista cheia

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.

Código para estrutura da lista constantes Maxlista = 100; Inicio = 0 tipo Lista { inteiro dados[Maxlista]; inteiro primeiro, ultimo; };

Modelagem da Lista Aspecto Funcional: Colocar e retirar dados da lista. Testar se a lista está vazia ou cheia e outros testes. Inicializa-la

Modelagem da Lista Operações: Colocar e retirar dados da lista: FLVazia(Lista) : Faz a lista ficar vazia Insere(x,Lista): Insere x após o último elemento da lista Retira(p,Lista,x): Retorna o item x que está na posição p retirando-o da lista e deslocando os itens a partir da posição p+1 para as posições anteriores Vazia(): Testa se a lista está vazia Imprime(): Imprime os itens da lista na ordem de ocorrência

Algoritmo FLVazia() FUNÇÃO FLVazia(Lista) início Lista.primeiro <- Inicio; Lista.ultimo = Lista.primeiro fim;

Algoritmo Vazia (Lista) inteiro FUNÇÃO Vazia(Vazia) início SE (Lista.ultimo = Lista.primeiro) ENTÃO RETORNE(Verdade) SENÃO RETORNE(Falso); fim;

Algoritmo Insere Procedimento: Parâmetros: 55 4 12 89 24 5 4 Testamos se há espaço. Incrementamos o último. Adicionamos o novo dado. Parâmetros: O dado a ser inserido. Lista (global). 20

Algoritmo Insere(Item;Lista) Inteiro Insere(Item;Lista) início SE (Lista.ultimo > MaxLista ) ENTÃO IMPRIMA(“Lista Cheia”); SENÃO Lista.ultimo <- Lista.ultimo + 1. Lista.dados[Lista.ultimo] <- dado; RETORNE(Lista.ultimo); FIM SE fim;

Algoritmo Retira(pos;Lista;Item) Procedimento: Testamos se há elementos. Decrementamos o último. Devolvemos o último elemento. Parâmetros: Lista (global).

Algoritmo Retira(pos;Lista;Item) Inteiro retira(pos;Lista;Item) inteiro aux início SE (Vazia(Lista) OU pos > Lista.ultimo) ENTÃO IMPRIMA(“A lista esta vazia!”) SENÃO Item<- Lista.dado[pos]; Lista.ultimo <- Lista.ultimo - 1. PARA aux<-pos ATE lista.ultimo-1 FACA lista.dado[aux] = lista.dado[aux+1]; FIM SE FIM;