Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.155 questões
Leia o fragmento a seguir.
“Hashing para arquivos em disco denominam‐se _____. Para se adaptar as características de armazenamento em disco, se considera que o espaço de endereços alvo é constituído por _____, cada um deles mantém múltiplos registros, formando um _____ de blocos consecutivos.”
Assinale a alternativa cujos itens completam corretamente as lacunas do fragmento acima.
I. Estrutura de dados que possui uma sequência de células, na qual cada célula contém um objeto de algum tipo e o endereço da célula seguinte.
II. Podem ser orientados, regulares, completos e bipartidos e possuir ordem, adjacência e grau.
III. Possuem o método de varredura esquerda-raiz-direita (e-r-d).
Os itens de I a III descrevem, respectivamente,
No que se refere às linguagens de programação, julgue o item subsecutivo.
A execução da função x descrita abaixo para o valor n igual a 8 fornecerá 21 como resultado.
long x(int n){
if (n<0) return -1;
if (n==0) return 0;
if (n==1) return 1;
return x(n-1) + x(n-2);
}
1. Escolha um elemento que será chamado o pivot da lista.
2. Reordene a lista de tal forma que os elementos menores que o pivot venham antes dele e os elementos maiores ou iguais ao pivot venham depois dele. Essa operação é chamada de partição, e cria duas sublistas:
a. a de menores que o pivot e
b. a de maiores ou iguais ao pivot.
3. Aplique recursivamente os passos 1 e 2 às sublistas de menores e maiores que o pivot.
O algoritmo acima corresponde ao
Inicio IniciaPilha(P); num=0 total=0 Enquanto (num <> -1) Le_teclado(num) Se (Vazia(P) ou Topo(P)<num) Push(P,num) Senao total <- total+Pop(P) Fim_se Fim_Enquanto Fim
Se o programa for executado com uma sequência de entrada (fornecida pelo teclado) igual a 3, 5, 6, 8, 10, 7, 9, 6, 1, -1 (começando pelo 3), ao final da execução, a pilha conterá (da base para o topo) os valores
Os valores sim, não, falso e verdadeiro são considerados constantes lógicas.
As duas operações básicas de uma fila são o empilhamento e o desempilhamento, também denominadas, respectivamente, PUSH e POP.
O método quicksort é semelhante ao bubble sort, pois opera comparando cada elemento de um vetor com seu sucessor e, caso este esteja fora de ordem, o quicksort auxilia a troca da posição. Dessa forma, em ambos os métodos, é grande o número de comparações e trocas para execução de vetores extensos.
Considere um vetor C com valores entre 0 e 999, em que cada elemento do vetor é dividido em três partes (unidade, dezena e centena). Nesse caso, o método de classificação por distribuição de chave, aplicado sobre C, realizará a ordenação dos valores pela execução de sucessivos passos, tomando-se em cada passo apenas uma parte do elemento.
A execução da função x descrita abaixo para o valor n igual a 8 fornecerá 21 como resultado.
long x(int n) {
if (n<0) return -1; if (n==0) return 0;
if (n==1) return 1;
return x(n-1) + x(n-2);
}