Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.682 questões
Analise as afirmativas referentes às estruturas de dados básicas:
I – Uma lista linear é uma sequência de zero ou mais itens x1, x2, ..., xn, em que xi é de um determinado tipo e n representa o tamanho da lista linear.
II – Uma pilha é uma lista linear em que todas as inserções, retiradas e geralmente todos os acessos, são feitos em apenas um extremo da lista.
III – Uma fila é uma lista linear em que todas as inserções são realizadas em um extremo da lista e todos os acessos e retiradas são realizados no mesmo extremo da lista.
Estão CORRETAS as afirmativas:
"Existem diversas Estruturas de Dados utilizadas na programação, quatro exemplos principais são: ______"
Assinale a alternativa que preencha corretamente a lacuna.
// codigo 1 i = 1 fim = 7 enquanto i < fim faça escreva(i) i = i + 1 fim enquanto depois = i // codigo 2 fim = 6 i = 0 enquanto i < fim faça i = i + 1 escreva(i) fim enquanto depois = i
Considerando a estrutura precedente, é correto afirmar que o código 1 e o código 2 apresentam o mesmo resultado.
Julgue o próximo item, a respeito de tipos de dados elementares e estruturados.
Em uma estrutura de dados tipo lista, o elemento eliminado do conjunto é o mais recentemente inserido. A lista implementa uma política em que o último a entrar é o primeiro a sair.
Julgue o item seguinte a respeito dos conceitos de algoritmo de ordenação.
O algoritmo merge sort ordena os elementos de um vetor
percorrendo este diversas vezes e, a cada passagem,
deslocando até o topo o maior elemento da sequência.
Julgue o item a seguir acerca dos conceitos de estrutura de dados.
Sempre que houver uma remoção na estrutura de dados
denominada fila, o elemento removido será aquele que está
na estrutura há mais tempo.
Julgue o item a seguir acerca dos conceitos de estrutura de dados.
A estratégia de pesquisa mais adequada para uma estrutura
do tipo pilha é a pesquisa binária.
Julgue o item a seguir acerca dos conceitos de estrutura de dados.
Uma árvore binária deve ter, no mínimo, 3 nós.
“Estruturas de dados como essa são muito empregadas em banco de dados e sistemas de arquivos como o NTFS para o Microsoft Windows, o sistema de ficheiros ReiserFS para Unix, o XFS para IRIX e Linux, e o JFS2 para AIX, OS/2 e Linux, usam este tipo de estrutura de dados. Visam reduzir as operações de leitura e escrita em memória secundária, uma vez que, essas operações são demoradas para um sistema computacional e devem ser minimizadas sempre que possível.”
O texto acima refere-se a qual tipo de estrutura de dados:
ArrayList lista = new ArrayList<Float>();
Set set = new HashSet<Integer>();
Stack pilha = new Stack<Integer>();
pilha.push(4);
pilha.push(2);
pilha.push(7);
pilha.pop();
set.add(8);
set.add(4);
set.add(8);
lista.add(1f);
lista.add(3f);
lista.add(7f);
lista.remove(1);
System.out.println(lista);
System.out.println(set);
System.out.println(pilha);
A saída correta desse trecho de código é
lista1 = []
for i in range(3):
a = []
for j in range(3):
a.append(i) lista1.append(a)
lista2 = lista1
lista2[0] = [4, 2, 1]
lista1[1][2] = 3
lista1[2] = [1, 2, 4]
print(lista1, lista2)
A saída correta no console ao executar esse código é
Considere o programa a seguir escrito em linguagem C.
#include <stdio.h>
int TAM(int n) {
int x;
if (n == 1) {
return(1 + n);
}
x = TAM(n/2) + TAM(n/2);
return(x);
}
int main() {
int n = 16;
printf("%d ", TAM(n));
}
Após a execução do programa, o resultado é
função busca1(x) 1. i := 1 2. busca1 := 0 3. enquanto i ≤ n faça 4. se L[i].chave = x então 5. busca1 := i 6. i := n + 1 7. senão i := i + 1
função busca2(x) 1. i := 1 2. L[n + 1].chave := x 3. enquanto L[i].chave ≠ x faça 4. i := i + 1 5. se i ≠ n + 1 então busca2 := i 6. senão busca2 := 0
Com base nas informações dadas, é correto afirmar:
( ) Enquanto uma pilha permite a inserção e a eliminação de elementos em apenas uma extremidade, uma fila permite a inserção em uma extremidade e a eliminação na outra.
( ) Em uma lista circular duplamente encadeada, o ponteiro anterior do início da lista aponta para o fim, e o ponteiro próximo do fim da lista aponta para o início.
( ) Para remover um elemento de uma lista simplesmente encadeada, deve-se alterar o encadeamento dos elementos anterior e próximo ao elemento removido.
A sequência correta, de cima para baixo, é
I. Esse método aproveita a possibilidade de acesso randômico à memória para alcançar uma complexidade temporal média por operação de O(1), sendo o pior caso, entretanto, O(log n), em que n é a quantidade de chaves a serem armazenadas na tabela.
II. Uma das estratégias conhecidas para tratar colisões consiste em armazenar as chaves com o mesmo endereço-base em listas encadeadas. As listas podem se encontrar no exterior da tabela ou compartilhar o mesmo espaço dela.
III. A ideia básica do método de endereçamento aberto para tratamento de colisões é, caso ainda haja espaço, armazenar as chaves com o mesmo endereço-base na própria tabela, mas sem a necessidade da criação de listas encadeadas.
Com relação a essas afirmativas, pode-se afirmar que