Questões de Concurso Sobre algoritmos e estrutura de dados
Foram encontradas 3.191 questões
Considere a função recursiva ‘func’ definida por
func(1) = 1
func(n) = (n - 1) * func(n - 1)
Quais são os valores de func(4) e func(5), respectivamente?
Considere o seguinte algoritmo
Inteiro array[10] = {0,1,2,3,4,5,6,7,8,9}
var i = 0
Enquanto i < 10 Faça
Inteiro temp = array[i]
array[i] = array[9-i]
array[9-i] = temp
i = i + 1
Fim enquanto
Qual será o conteúdo do vetor ‘array’ após a execução
do programa?
No que diz respeito a algoritmos e linguagens de programação, analise as afirmações a seguir.
1) É possível substituir comandos de condição (IF) por apenas comandos de repetição (WHILE) com as devidas no código.
2) A sequência de execução das instruções do algoritmo não tem importância, desde que todas sejam executadas em algum momento.
3) Um algoritmo não representa um programa de computador, e pode ser essencialmente executado por um ser humano se este tiver disponível tempo e memória suficientes.
Está(ão) correta(s), apenas:
Considere o algoritmo a seguir Inteiro
x1 =2, x2 = -1, x3 = 4
Enquanto (x1 > 0) faça
x2 = x3/3-x2*4
x1 = x3 % x1
Fim enquanto
Imprime(x2)
O que será impresso ao final do programa?
Analise as afirmativas a seguir sobre complexidade de algoritmos:
I. Algoritmos de complexidade O(n log n) resolvem um problema quebrando-o em problemas menores, resolvendo cada um deles independentemente e depois ajuntando as soluções.
II. Algoritmos de complexidade O(1) são chamados de complexidade linear, onde um pequeno trabalho é realizado sobre cada elemento de entrada.
III. Algoritmos de complexidade O(n) são chamados de complexidade constante, onde o tempo de execução cresce na mesma proporção do crescimento da estrutura de dados.
Estão CORRETAS as afirmativas:
Analise o seguinte método em Java para retirar um elemento de uma estrutura de dados:
De acordo com o código, a estrutura de dados é uma
Considere o seguinte trecho de código em Java para ordenação de um conjunto de números:
A ordem de complexidade desse algoritmo, considerando que o conjunto de números (n) não está ordenado, é:
De acordo com dados da SABESP, um pequeno buraco de 2 milímetros no encanamento desperdiça 3,2 mil litros de água em um dia. Um Analista escreveu o algoritmo em pseudocódigo abaixo para calcular o desperdício de água em função de buracos em encanamentos.
O comando que preenche corretamente a lacuna
Sobre as características de índices estruturados na forma de Btrees e Hash tables, analise as afirmativas a seguir.
I. Hash tables aplicam-se somente em buscas que referenciam a chave por inteiro (operador =).
II. B-trees favorecem consultas que buscam chaves num determinado intervalo (operadores >= e <=).
III. B-trees são usualmente mais lentas para buscas pela chave (operador =).
IV. Hash tables favorecem buscas, com o operador ‘LIKE’ do SQL, que não contenham caracteres curingas na primeira posição.
V. B-trees não se aplicam em buscas que se referem a uma substring à esquerda da chave.
Está correto o que se afirma em:
Considere as figuras A e B abaixo.
No padrão ANSI, as figuras A e B representam um fluxograma, respectivamente:
Uma árvore binária completa de busca, isto é, uma árvore em que todos os níveis têm o máximo número de elementos, tem um total de N nós.
O número máximo de comparações necessárias para encontrar um elemento nessa árvore é
Um programador escreveu uma função para percorrer uma árvore binária, recebida como parâmetro, em pós-ordem e inserir em uma pilha, inicialmente vazia, os valores armazenados nos nós dessa árvore, à medida que eles forem sendo visitados. Ao término do percurso, a função retorna a pilha.
Suponha que a árvore exibida na Figura abaixo seja passada como parâmetro em uma chamada dessa função.
Qual será a configuração da pilha retornada por essa função?
Considere a seguinte árvore binária.
Qual é o percurso que apresenta os nós em ordem crescente?
PUSH(7); PUSH(5); PUSH(3); PUSH(3); POP(); CONSULTA(); PUSH(2); PUSH(1); POP(); POP(); PUSH(17); PUSH(33); POP(); CONSULTA(); POP(); POP(); CONSULTA(); POP(); PUSH(22); PUSH(80); POP(); CONSULTA(); POP(); POP(); PUSH(4);
Quando dois elementos estão fora de ordem, há uma inversão, e esses dois elementos são trocados de posição, ficando em ordem correta. Assim, o primeiro elemento é comparado com o segundo. Se uma inversão for encontrada, a troca é feita. Em seguida, independentemente de se houve ou não troca após a primeira comparação, o segundo elemento é comparado com o terceiro, e, caso uma inversão seja encontrada, a troca é feita. O processo continua até que o penúltimo elemento seja comparado com o último. Com esse processo, garante-se que o elemento de maior valor do vetor seja levado para a última posição. A ordenação continua com o posicionamento do segundo maior elemento, do terceiro etc., até que todo o vetor esteja ordenado.
CELES, W.; CERQUEIRA, R.; RANGEL, J. L. Introdução a Estruturas de Dados. Rio de Janeiro: Elsevier, 2004, com adaptações.
Em relação ao algoritmo descrito, é correto afirmar que a
respectiva ordem de complexidade, no pior caso, é