300 likes | 433 Views
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 funcionam e onde são utilizados os Arrays, Filas, Listas, Pilhas e Árvores. Definição de Estrutura de Dados.
E N D
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 funcionam e onde são utilizados os Arrays, Filas, Listas, Pilhas e Árvores.
Definição de Estrutura de Dados • Uma Estrutura de Dados pode ser definida como uma forma particular pela qual os computadores realizam a organização e manipulação dos dados de forma eficiente.
Definição de Estrutura de Dados Dado Estrutura • Ativo a ser manipulado • Elemento estrutural que irá armazenar as informações
Definição de Estrutura de Dados Dado Estrutura • Inteiros(Int) • Textos(String) • Caracter(char) • Ponto flutuante(Double) • Array • Fila • Pilha • Árvovre
Arrays(Vetores) • “Um array é uma porção de memória fixa e sequencial dividida em pedaçosidênticosindexados a partir do 0(zero). Em cada posição do array, podemos guardar um aluno.”
Listas Encadeadas • As listas ligadas ou encadeadas são conjuntos de elementos encadeados, onde cada elemento contém uma ligação com um ou mais elementos da lista.
Listas Lineares • Sequência de itens x1,x2,...,xn • xi é de um determinado tipo • n é o número de elementos da lista • posição relativa dos itens: xi precede xi+1.
Listas Lineares • As listas ligadas ou encadeadas são conjuntos de elementos encadeados, onde cada elemento contém uma ligação com um ou mais elementos da lista. • Cada elemento da lista ligada será composto por 2 partes principais: uma parte conterá as informações e a outra as conexões com outros elementos. • Cada elemento é formado por um bloco de dados e um ponteiro para o próximo elemento.
Listas Lineares – Exercícios • Descreva como seria o processo para a realização de cada uma das operações. • conjunto de operações sobre os objetos do tipo Lista: • – Criar lista vazia • – Inserir elemento (no fim) • – Inserir elemento (numa posição específica) • – Remover elemento (de uma posição específica) • – Consultar o i-ésimo elemento • – Pesquisar a ocorrência de um item • – Imprimir todos os elementos da lista
Filas • São listas lineares que adotam a política FIFO (First In First Out – o primeiro que entra é o primeiro que sai) para a manipulação de elementos. • As inserções são feitas no final da fila. • As remoções são feitas no início da fila. • A consulta na fila é feita desenfileirando elemento a elemento até encontrar o elemento desejado ou chegarao final da fila.
Filas • “Fila é uma estrutura de dados baseada no princípio FIFO (first in, first out), na qual os dados que foram inseridos primeiros na fila serão os primeiros a serem removidos.” • Os primeiros serão os primeiros!
Filas - Aplicações • Alocação de recursos para impressão de documentos em uma impressora (spooler de impressão). • Atendimento de processos requisitados ao um sistema operacional. • Ordenação do encaminhamento dos pacotes em um roteador. • Buffer para gravação de dados em mídia.
Filas – Operações Básicas • Criação • Inserção de um elemento • Remoção de um elemento • Verificar se a lista está vazia • Liberar a lista
Atendimento • Saída
Implementação de Fila com Vetor • Devemos fixar o número máximo de elementos (N). • O vetor é estático e a fila “se movimenta”, permitindo a manipulação dos dados nos dois extremos • Usamos um mecanismo circular (fila circular) para aproveitar o máximo do vetor.
Filas - Exercícios • Explique o procedimento para as seguintes atividades abaixo: • Cria Fila Vazia; • Testa se a fila está vazia; • Testa se a fila está cheia; (quando usar vetores) • Enfileira; • Desenfileira. • Explique como essas operações seriam realizadas com o uso de vetores.
Pilhas • É uma das estruturas de dados mais simples • A idéia fundamental da pilha é que todo o acesso a seus elementos é feito através do seu topo. • Assim, quando um elemento novo é introduzido na pilha, passa a ser o elemento do topo, e o único elemento que pode ser removido da pilha é o do topo.
Pilhas • “Pilha é uma estrutura de dados baseada no princípio LIFO (last in, first out), na qual os dados que foram inseridos primeiros na pilha serão os últimos a serem removidos.” • Os últimos serão os primeiros!
Pilhas – Operações básicas • Existem duas operações básicas que devem ser implementadas numa pilha: • operação para empilhar (push) um novo elemento, inserindo-o no topo • operação para desempilhar (pop) um elemento, removendo-o do topo.
Operações Push e Pop A B C
Pilhas - Exercícios • Descreva como seriam realizadas as operações abaixo: • Criar uma estrutura de pilha; • Inserir um elemento no topo (push); • Remover o elemento do topo (pop); • Verificar se a pilha está vazia; • Liberar a estrutura de pilha; • Explique como seria implementada uma pilha utilizando um vetor.
Referências • http://www.caelum.com.br/apostila-java-estrutura-dados