Questões de Concurso
Sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 2.316 questões
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.
Considere o seguinte trecho de código em pseudocódigo:

Qual será o valor da variável "resultado" após a execução desse código usando-se os valores x=5, y=5 e z=9?
Quais valores de x serão escritos após o código acima, considerando que a variável x foi inicializada com o valor 1?
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.
Julgue o item a seguir, referente a algoritmos de aprendizado de máquina.
O algoritmo KNN (k-nearest neighbors) é um modelo supervisionado de aprendizado de máquina que realiza previsões classificando uma nova amostra com base na maioria dos votos de seus K vizinhos mais próximos, definidos por uma métrica de distância.
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, é: