2ª prova - Estrutura de dados Flashcards

conceitos de estrutura de dados para as provas

1
Q

Quais as três operações fundamentais na maioria das estruturas de armazenamento?

A

Inserção, busca e exclusão

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

Qual é a estrutura de dados mais comumente utilizada?

A

Arrays

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

Quais são os dois tipos principais de arrays?

A

não-ordenada e ordenada

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

Quais são as principais vantagem dos arrays não ordenados em relação aos ordenados?

A

a implementação é mais fácil, e a inserção e exclusão também são mais fáceis

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

Quais são as principais vantagens dos arrays ordenados em relação aos não-ordenados?

A

Mais eficiente para buscas e para realizar o acesso

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

Verdadeiro ou falso: arrays (em java) devem ter o tamanho determinado durante sua criação, e os espaços estarão sempre ocupados, mesmo se não forem utilizados.

A

Verdadeiro. Em Java, arrays são estruturas de dados estáticas com tamanho definido no momento da criação. Isso significa que o array terá um número fixo de elementos que não poderá ser alterado durante a execução do programa.

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

Lembrete: você tem que entender do assunto e ver os códigos pois vamos ter códigos a corrigir, só ficar lendo esses flashcards não vai te garantir nada.

A

Pode colocar que entendeu perfeitamente e, se não quiser estudar, bem, eu avisei!

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

Qual ocupa mais espaço na memória (considerando o mesmo número de elementos em cada uma), arrays ou lists?

A

Arrays ocupam menos memória do que listas, pois não precisam armazenar informações adicionais sobre a estrutura da lista.

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

Quais as vantagens de uma list em relação a uma array?

A

maior flexibilidade de tamanho, gerenciamento automático de memória e

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

Para inserir um elemento no meio de uma lista ou um array, qual é mais eficiente?

A

Em geral, inserir um elemento no meio de uma lista é mais eficiente do que em um array.

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

verdadeiro ou falso: é possível acessar elementos de uma list aleatoriamente através do índice, da mesma forma que ocorre com arrays

A

Falso. Listas geralmente não permitem acesso direto a elementos por índice. Em vez disso, você precisa iterar sobre a lista para encontrar o elemento desejado.

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

Como as duplicadas afetam o desempenho das arrays?

A

Encontrar um elemento específico em uma lista ou array com duplicatas pode ser mais lento, pois o algoritmo de busca precisa verificar cada elemento, mesmo se já tiver encontrado algum resultado, pois vai precisar de todos, isso se você procurar todos os itens que batam com o termo buscado, e não apenas o primeiro.

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

Como funciona o bubble sort?

A
  1. Ele compara dois itens;
  2. Se o da esquerda é maior, troca eles;
  3. Move uma posição para a direita para reiniciar o passo a passo.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Qual a vantagem do selection sort em relação ao bubble sort?

A

Ele é melhor ao reduzir o número de troca de elementos. O número de comparações é igual.

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

Como o selection sort funciona?

A
  1. Compara dois itens;
  2. Armazena o número do maior deles;
  3. Passa para a direita e para para comparar o número maior armazenado, com o próximo, repetindo o processo, até comparar todos, sabendo que o maior número de todos está armazenado;
  4. Move o maior para a última posição, reinicia o passo a passo com os restantes.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Como funciona o insertion sort?

A
  1. Considere o primeiro elemento ordenado.
  2. Pegue o próximo elemento e compare esse com todos os ordenados à sua esquerda.
  3. Se for menor, mova os elementos maiores para a direita para abrir espaço.
  4. Insira o elemento na posição correta.
    olhe no https://visualgo.net/en/sorting como funciona, é mais fácil vendo
17
Q

Qual a diferença entre swapping e moving em elementos?

A

swap é como se vc estivesse numa fila, e troca de lugar com alguém que está logo na sua frente ou atrás, como ocorre com o bubble e selection sort, enquanto moving é se pedirem para abrirem espaço na fila pra alguém entrar no meio dela, vc não necessáriamente sai do seu lugar pra isso ocorrer, é como ocorre no insertion sort (mas swapping tbm ocorre no insertion sort)

18
Q

O que é a invariant no selection sort?

A

a invariante é que os itens à esquerda da posição atual sempre estão ordenados entre si

19
Q

O que significa o “parcialmente ordenado” no insertion sort?

A

é quando alguns elementos já estão onde deveriam estar na sequência ordenada, mas ainda existem elementos que precisam ser movidos para suas posições corretas conforme novos elementos são inseridos e o processo de ordenação continua

20
Q

Qual a diferença fundamental entre uma pilha e uma fila?

A

enquanto pilha é lifo, last in first out, uma fila é fifo, first in, first out,

21
Q

qual a diferença entre uma fila comum e uma com prioridade?

A

A principal diferença em relação a uma fila normal é que, ao remover elementos da priority queue, o elemento com a maior (ou menor) prioridade é retirado primeiro, independentemente da ordem de chegada. Útil para sistemas de gerenciamento