Questões de Concurso
Comentadas sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.406 questões
Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima.
Considerando essa situação hipotética, julgue o próximo item.
O algoritmo Naive Bayes poderia ser utilizado na análise dos dados de A e B.
Com relação à informática aplicada à estatística, julgue o item a seguir.
A quantidade mínima de execução é 0 na construção while (cond) { ... } e 1 na construção do { ... } while(cond).
Com relação à informática aplicada à estatística, julgue o item a seguir.
Caso f1( ), f2( ) e f3( ) sejam três funções booleanas, então, na condição f1( ) and f2( ) or f3( ), a função f3( ) não será executada se f1( ) = False.
I - A complexidade de um algoritmo é uma medida de Sua velocidade e do espaço que consome.
Il - A notação Big-O é usada para descrever o melhor caso de complexidade de um algoritmo.
IlI - Um algoritmo com complexidade O(1) tem tempo de execução constante, independentemente do tamanho da entrada.
Qual(is) afirmativa(s) está(ão) correta(s)?
I. Algoritmos recursivos são aqueles que se definem em termos de si mesmos, exigindo uma condição base para evitar chamadas infinitas.
II. A complexidade de tempo de um algoritmo refere-se exclusivamente ao número de passos necessários para executar o código, desconsiderando a entrada do problema.
III. Um algoritmo pode ser implementado em diferentes linguagens de programação, desde que sua lógica seja preservada.
Está correto o que se afirma em:
Sobre o algoritmo Advanced Encryption Standard (AES), foram feitas as seguintes afirmações:
I. O algoritmo AES pode usar chaves de 128, 192 ou 256 bits.
II. O algoritmo AES é considerado um algoritmo criptográfico simétrico.
III. O algoritmo AES realiza a cifragem e decifragem da informação.
Sobre as afirmações acima, pode-se afirmar que:
sort = (array) => { if (array.length <= 1) { return array; } const pivot = array[array.length - 1]; const left = []; const right = []; for (let i = 0; i < array.length - 1; i++) { if (array[i] < pivot) { left.push(array[i]); } else {
right.push(array[i]); } } return [...sort(left), pivot, ...sort(right)];
}
Considerando n como o tamanho do vetor, assinale a alternativa CORRETA que corresponde à complexidade média de tempo do algoritmo na notação Big-O:
class TreeNode { constructor(value) { this.value = value; this.children = []; } addChild(child) { this.children.push(child); } } class Tree { constructor(value) { this.root = new TreeNode(value); }
compute(value) { if (!this.root) return null; const queue = [this.root]; while (queue.length > 0) { const current = queue.shift(); if (current.value === value) { return current; } for (const child of current.children) { queue.push(child); } } return null; } }
O método compute do código é conhecido pelo acrônimo em inglês:
Julgue o item a seguir, referente a algoritmos de aprendizado de máquina.
O algoritmo K-means garante a otimização dos clusters, independentemente da inicialização dos centroides, desde que a métrica de distância utilizada seja euclidiana, e os dados estejam em um espaço vetorial de baixa dimensionalidade.
Sendo assim, sobre os algoritmos de ordenação, podemos afirmar que
I. Bubble sort é um algoritmo de ordenação simples e muito eficiente para grande conjunto de dados.
II. Insertion sort é um algoritmo de ordenação utilizado para um pequeno número de elementos.
III. Quick sort é um algoritmo de ordenação mais rápido, que emprega a técnica de divisão e conquista.
IV. Selection sort recebe esse nome pela maneira como ele percorre o array ao longo das iterações: ele seleciona o menor elemento atual e o troca de lugar.
Estão corretas apenas as afirmativas
Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima.
I. Fluxogramas utilizam símbolos gráficos para representar passos de um algoritmo.
II. O símbolo de losango é usado para representar uma decisão ou condição.
III. Fluxogramas são úteis para visualizar a lógica de um algoritmo.
IV. O símbolo de oval é utilizado para representar uma operação de entrada ou saída.
V. Fluxogramas podem ser usados para representar estruturas de repetição.
Quais estão INCORRETAS?
( ) No pseudocódigo (Portugol), a estrutura de controle “se” é usada para criar loops de repetição.
( ) Um vetor é uma estrutura de dados que armazena uma coleção de elementos do mesmo tipo, acessíveis por índices.
( ) Em um fluxograma, o retângulo é utilizado para representar decisões.
( ) O comando “enquanto” é utilizado para executar repetidamente um bloco de instruções enquanto uma condição for verdadeira.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é: