Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
______________
Aula # 1 (Teórica)
Introdução
Estruturas de dados
Este é um dos temas fundamentais da ciência da computação, utilizado nas mais variadas
áreas e para as mais variadas finalidades.
Definição
_____________________________________________________________________ 1
Março de 2017
INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES
Escolher uma estrutura de dados ideal pode tornar-se um problema difícil para uma
determinada solução. As pesquisas e estudos das estruturas de dados estão em constante
desenvolvimento, apesar disso, existem estruturas que têm se mostrado padrão, ou seja,
são clássicas.
1.Vectores ou Arrays
São estruturas de dados lineares e estáticas, isto é, são compostas por um número fixo
(finito) de elementos de um determinado tipo de dados. O tempo de acesso aos elementos
de um vetor é muito rápido, sendo considerado constante: o acesso aos elementos é feito
pelo seu índice no vetor. Porém, a remoção de elementos pode ser custosa se não for
desejável que haja espaços "vazios" no meio do vetor, pois nesse caso é necessário
"arrastar" de uma posição todos os elementos depois do elemento removido.
Essa é uma estrutura muito recomendada para casos em que os dados armazenados não
mudarão, ou pouco mudarão com o decorrer do tempo.
1
Conjunto de rotinas e padroes estabelecidos por um software para a utilização das suas funcionalidades
por programas aplicativos que não querem se envolver em detalhes da implementação, mas apenas usar
seus serviços.
_____________________________________________________________________ 2
Março de 2017
INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES
2. Lista
É uma estrutura de dados linear. Uma lista ligada, também chamada de encadeada, é
linear e dinâmica, é composta por nós que apontam para o próximo elemento da lista,
com exceção do último, que não aponta para ninguém. Para compor uma lista encadeada,
basta guardar seu primeiro elemento.
3. Fila
As filas são estruturas baseadas no princípio FIFO (first in, first out), em que os
elementos que foram inseridos no início são os primeiros a serem removidos. Uma fila
possui duas funções básicas: ENQUEUE, que adiciona um elemento ao final da fila, e
DEQUEUE, que remove o elemento no início da fila. A operação DEQUEUE só pode
ser aplicado se a fila não estiver vazia, causando um erro de underflow ou fila vazia se
esta operação for realizada nesta situação.
4. Pilha
As pilhas são estruturas baseadas no princípio LIFO (last in, first out), na qual os dados
que foram inseridos por último na pilha serão os primeiros a serem removidos. Existem
duas funções que se aplicam a todas as pilhas: PUSH, que insere um dado no topo da
pilha, e POP, que remove o item no topo da pilha.
5. Árvores
Uma árvore é uma estrutura de dados em que cada elemento tem um ou mais elementos
associados, podendo definir-se uma árvore recursivamente como:
_____________________________________________________________________ 3
Março de 2017
INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES
Cada árvore tem apenas uma raiz. Além disso, os elementos associados a cada nó são
habitualmente chamados de filhos desses nós. Os nós sem filhos de uma árvore são
chamados de folhas.
6. Árvores binárias
Uma árvore binária é uma árvore em que cada nó tem no máximo dois filhos. São muito
utilizadas como estruturas de buscas, como árvores de busca binária e árvores AVL.
_____________________________________________________________________ 4
Março de 2017
INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES
Consulte:
Alguns Tipos de Dados em Java Paul E. Black (ed.), Data structure. Dictionary of
Algorithms and Data Structures. U.S. National Institute of
-int Standards and Technology, 2004
-float http://www.univasf.edu.br/~marcelo.linder/arquivos_ed1/au
las/aula1.pdf
Primitivos - double
http://www.dca.fee.unicamp.br/cursos/EA876/apostila/HTM
- boolean L/node10.html
- char. http://www.ic.unicamp.br/~tomasz/cursos/mc202/transp_28
9_309.pdf
http://pt.wikipedia.org/wiki/Estrutura_de_dados
-Classes
Referenciais http://pt.wikibooks.org/wiki/Algoritmos_e_Estruturas_de_D
-Interfaces ados
http://pt.wikibooks.org/wiki/Algoritmos_e_Estruturas_de_D
ados/O_que_s%C3%A3o_estruturas_de_dados%3F
TPC
(a) insertOne(int element, int a[]) // inserir um elemento num determinado array de
inteiros
(b) insertAll (int list[], int a[]) // inserir os elementos do array “list” no array “a”,
invocando o metodo insertOne(element, a[]).
(e) remove(int element, int a[])// remove o elemento “element” no array “a”
_____________________________________________________________________ 5
Março de 2017