Questões de Concurso Sobre algoritmos e estrutura de dados
Foram encontradas 3.259 questões
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:
I. O Hash possui sua entrada de tamanho variável. II. O Hash possui sua saída em um tamanho variável. III. Pode-se reverter o Hash, como uma boa prática de criptografia.
Sobre as afirmações acima, pode-se afirmar que:
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:

No método enfileirar, qual é a finalidade da expressão (fim + 1) % elementos.length?
- Tarefas de alta prioridade são adicionadas a uma estrutura na qual a última tarefa inserida é a primeira a ser resolvida.
- Tarefas comuns seguem uma estrutura na qual as tarefas são resolvidas na ordem em que chegaram.
Com base nas definições de Pilhas e Filas, qual das alternativas relaciona CORRETAMENTE a estrutura de dados utilizada para cada tipo de tarefa?
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.
Considere a seguinte árvore binária de busca abaixo:

Qual é a sequência dos nós visitados na travessia pós-ordem desta árvore?
Considere que uma fila inicialmente está vazia e recebe as seguintes operações sequencialmente:
1. Inserir 15 2. Inserir 20 3. Remover um elemento 4. Inserir 35 5. Inserir 42 6. Remover dois elementos 7. Inserir 51
Após todas essas operações, qual será a sequência de remoção dos elementos restantes na fila?
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