Estruturas de dados: listas, filas, pilhas e árvores. Flashcards

1
Q

O que são estruturas de dados?

A

Estruturas de dados são objetos que armazenam dados
de forma eficiente, oferecendo certos “serviços” para o
usuário (ordenação eficiente dos dados, busca por meio
de palavras chave, etc).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Abstração

A

Uma estrutura de dados abstrai as características
principais de uma atividade que envolve armazenamento
de informações.
Por exemplo, a estrutura de fila armazena dados de forma
que o dado há mais tempo na estrutura é o primeiro a ser
retirado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Pilhas

A

Uma pilha é uma estrutura de dados em que o acesso é
restrito ao elemento mais recente na pilha.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Operações básicas de pilhas

A

As operações básicas realizadas com uma pilha são:
push: inserir no topo;
pop: retirar do topo;
top: observar o topo.
Em uma pilha “ideal”, operações básicas devem ocorrer
em O(1), independentemente do tamanho N da pilha (ou
seja, em tempo constante).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Avaliação de expressões

A

Pilhas são muito usadas no processamento de linguagens,
por exemplo em compiladores.
Uma aplicação importante é a conversão e avaliação de
expressões numéricas.
Existem três tipos de notações para expressões
numéricas:
1 infixa, onde operador entre operandos: (A + B);
2 pós-fixa, onde operador segue operandos: (AB+) (notação
polonesa reversa);
3 pré-fixa, onde operador precede operandos: (+AB)
(notação polonesa).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Filas

A

Uma fila é uma estrutura em que o acesso é restrito ao
elemento mais antigo.
Operações básicas:
enqueue: inserir na fila;
dequeue: retirar da fila.
A implementação mais comum de uma fila é por “arranjo
circular”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Lista ligada

A

Esse tipo de estrutura é muito flexível e pode acomodar
inserção e retirada de dados de locais arbitrários.
A vantagem desse tipo de estrutura é a flexibilidade
permitida no uso da memória.
A desvantagem é que alocar memória é uma tarefa
demorada (mais lenta que acesso a arranjos).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Vetor ou Array

A

é uma estrutura de dados estática. Segundo DEITEL (2016, pág. 192), Arrays são estruturas de dados consistindo em itens de dados do mesmo tipo relacionados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Array multidimensional (matrizes)

A

m resumo, trata-se de um vetor de vetores. De acordo com DEITEL (2005, pág. 223), os arrays com duas dimensões costumam ser utilizados para representar tabelas de valores que consistem nas informações dispostas em linhas e colunas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Árvores

A

São estruturas de dados baseadas em listas encadeadas que possuem um nó superior também chamado de raiz que aponta para outros nós, chamados de nós filhos, que podem ser pais de outros nós. Nas árvores os dados estão dispostos de forma hierárquica.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Tabela de espelhamento/dispersão/hash

A

É uma opção de estrutura que serve para organizar e armazenar dados de forma a agilizar o processo de pesquisa. Isso ocorre porque dada uma chave, a função Hash decide em qual endereço dessa tabela aquele valor deve ser armazenado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Árvore binária

A

Cada nó tem no máximo dois filhos, chamados de filho da esquerda e filho da direita.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Árvore binária de busca

A

Uma estrutura de dados fundamental na ciência da computação que permite uma busca eficiente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Árvore perfeitamente balanceada

A

Para todo nó da árvore, os números de nós das suas duas subárvores diferem no máximo em um.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Árvore B

A

Muito usada na implementação de índices em bancos de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Tipos de busca

A

Busca sequencial, busca de registros ordenados e busca binária.

17
Q

Busca sequencial

A

É o método mais simples de realizar uma busca que consiste em uma varredura de chaves primárias (são identificadas para diferenciar os registros entre si), utilizando vetores. Durante esta varredura o argumento de busca é comparado com a chave primária de cada registro até ser encontrado o valor desejado.

18
Q

Busca de registros ordenados

A

Se os registros estiverem ordenados em ordem crescente ou decrescente, várias técnicas poderão ser empregadas para aumentar a eficiência da operação de busca.

19
Q

Busca binária

A

A busca binária é um método que pode ser aplicado a registros ordenados, armazenadas e disponíveis de acesso direto, ou seja, ela parte do propósito de que o vetor está ordenado e realiza sucessivas divisões do espaço de busca comparando o elemento buscado (chave) com o elemento no meio do vetor. Se o elemento do meio do vetor for à chave, a busca é terminada com sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior do vetor e finalmente, se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor.