Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.729 questões
Dado um pseudocódigo de uma função chamada FN1:
FN1 (V[], início, fim, e)
i recebe o índice do meio entre início e fim
se (v[i] = e) entao
devolva o índice i # elemento e encontrado
fimse
se (inicio = fim) entao
não encontrou o elemento procurado
senão
se (V[i] vem antes de e) então
faça a FN1 (V, i+1, fim, e)
senão
faça a FN1 (V, inicio, i-1, e)
fimse
fimse
Sobre o pseudocódigo foram feitas as seguintes afirmações:
I. FN1 é uma função é iterativa
II. Para FN1 devolver o índice i corretamente, o vetor V[ ] precisa estar ordenado.
III. Se o vetor V[ ] tiver 1024 elementos, podemos expressar que o número de suposições, no pior caso, como "o número de vezes que podemos reduzir pela metade, começando em n, até obter o valor 1, mais um" será de 11.
IV. A função matemática que representa a complexidade de FN1 é da ordem de log n.
Estão corretas
Assinale a alternativa que indica corretamente quantos itens do array a busca binária teria que examinar antes de concluir que 51 não está contido no array e, portanto, não é primo.
Considere a seguinte expressão lógica, a ser inserida em um programa.
R ← ((A and B) or (C and D)) or E
As variáveis A, B, C, D, E e R são do tipo booleano, podendo assumir valores verdadeiro (1) ou falso (0).
Assinale a alternativa que apresenta valores para A, B, C, D e E que resultem o valor falso (0) em R.
Considere o seguinte algoritmo:
Para i de 7 até 4 Faça
aux <- v[i]
v[i] <- v[7 - i]
v[7 - i] <- aux
i <- i - 1
Fim_Para
max = maior v
v[2] <- v[0]
v[max - v[2]] <- v[max - v[1]]
Assinale a alternativa que possui o estado final do vetor v inicialmente definido com os elementos de 32 a 39.
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.