Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.113 questões
Considere o algoritmo abaixo.
static int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n - 2) + fibonacci(n - 1);
}
A complexidade deste algoritmo, na notação Big O, é
Analise as afirmativas a seguir a respeito de algoritmos recursivos.
I. Diz-se que uma rotina é recursiva se a sua definição envolver uma chamada a ela mesma. Neste sentido, o termo recursão é equivalente ao termo indução utilizado por matemáticos.
II. Cada algoritmo recursivo possui um algoritmo iterativo equivalente e vice-versa, mas que pode ter mais ou menos complexidade em sua construção.
III. Uma função recursiva possui duas partes: caso base e caso recursivo.
IV. Um algoritmo pode ser chamado de iterativo quando ele requer a repetição implícita de um processo até que determinada condição seja satisfeita.
V. A recursividade possibilita a escrita de um código mais enxuto, com maior legibilidade e simplicidade.
Assinale a alternativa que possui alguma afirmação INCORRETA.
Acerca dos conceitos de árvores e grafos, julgue o item que se segue.
A soma dos graus de todos os vértices de um grafo é sempre
par.
A fila é uma lista de elementos em que os itens são sempre inseridos em uma das extremidades e excluídos da outra.
Observe a expressão lógica abaixo:
((((true AND true) OR false) AND true) AND (true OR (true AND false)))
Considerando os operadores lógicos AND (e) e OR (ou), e os operandos lógicos true (verdadeiro) e false
(falso), é CORRETO afirmar que o valor lógico dessa expressão é:
A colisão é um efeito característico dos algoritmos de resumo de mensagem e ocorre, com maior frequência, quanto menor for o tamanho do bloco de bits do resumo (digest) gerado pelo algoritmo.
No caso do SHA1 (Short Hash Algorithm 1), o tamanho do bloco do resumo é