Questões de Concurso
Comentadas sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.554 questões
// 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 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.
Um vetor é uma variável composta homogênea bidimensional, formada por uma sequência de variáveis, todas do mesmo tipo de dados, com o mesmo identificador (mesmo nome) e alocadas sequencialmente na memória (1ª parte). Uma vez que as variáveis que compõem o vetor têm o mesmo nome, o que distingue cada uma delas é um índice, que referencia sua localização dentro da estrutura (2ª parte). Em pseudocódigo, é possível expressar que uma matriz deve ser totalmente lida por meio do comando Leia (3ª parte).
A sentença está:
(1) Aprendizagem supervisionada. (2) Aprendizagem não supervisionada.
(_) Random Forest. (_) k-Nearest Neighbors. (_) Naive Bayes.
(_) Em pseudocódigo, é possível expressar que uma matriz deve ser totalmente lida por meio do comando Leia.
(_) Um elemento de uma matriz pode ser referenciado com o nome da matriz, seguido do seu índice correspondente, colocado entre parênteses.
(_) Em pseudocódigo, é possível expressar que uma matriz deve ser totalmente impressa por meio do comando Escreva.
Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima.
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:
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
Considere a seguinte afirmação: “Uma estrutura de seleção permite a execução de um grupo de comandos, contidos na estrutura de seleção, a ser executado quando determinadas condições, representadas por expressões relacionais e/ou lógicas, são ou não satisfeitas”. Com base nessa definição, analise as afirmativas abaixo e assinale a alternativa correta.
I. Uma estrutura de seleção deve sempre conter pelo menos outra estrutura de seleção.
II. O grupo de ações existente dentro de uma estrutura de seleção pode não ser executado.
III. Uma estrutura de seleção sempre deve conter dois grupos de ações: um que é executado caso a expressão lógica seja verdadeira e outro que é executado caso a expressão lógica seja falsa.
São exemplos de algoritmos de ordenação, EXCETO