Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.519 questões
A função retorna a posição da chave k em V, ou -1 se não for encontrada.
O símbolo *** denota uma expressão lógica propositalmente omitida.
define buscabinaria(k)
p=1
u=N
repeat
x=(p+u)\2
if k < V[x]
then u = x-1
else p = x+1
until ***
if k = V[x]
then return(x)
else return(-1)
Assinale a opção que apresenta o trecho que deve substituir o símbolo *** para que o algoritmo acima funcione de acordo com a especificação.
Supondo que os três operam em condições semelhantes e satisfatórias, com os registros armazenados num disco rígido, assinale a opção que mostra as alternativas na ordem do menor para o maior tempo de busca
Art. 7o - A alíquota da Taxa Judiciária será de 1,5% sobre o valor da causa, observado o disposto nos artigos 5o e 6o desta Lei. Parágrafo único - Fica assegurada a Taxa Judiciária mínima de R$ 25,00 e máxima de R$ 9.950,00.
Considere que no Tribunal de Justiça do Amapá há um arquivo com uma lista que contém, em cada linha, o nome, CPF, valor da causa e taxa judiciária de milhares de pessoas. O analista judiciário do Tribunal deve propor uma solução para separar somente as pessoas que pagaram taxa mínima e as que pagaram taxa máxima. Uma vez que os dados do arquivo já tenham sido lidos e encontram-se em uma estrutura de dados do tipo tabela (vetor de estruturas), a solução proposta corretamente pelo analista, é percorrer a tabela e
I. B-trees são mais rápidas na localização de um registro a partir de uma chave.
II. B-trees permitem busca com operadores de comparação “>” e “<”.
III. B-trees permitem busca a partir de uma substring à esquerda da chave.
IV. A partir de um certo ponto, o número máximo de acessos necessários para a localização de uma chave em uma B-tree não aumenta com o número total de chaves indexadas, o que tende a torná-la mais rápida em bancos de dados muito grandes.
Assinale a opção que indica o número de comparações corretas.
public class InsertionSort
{
public int[] iSort(int[] input)
{
for (int i = 1; i < input.Length; i++)
{
int key = input[i];
int j = i - 1;
while (j >= 0 && input[j] > key)
{
input[j + 1] = input[j];
j--;
}
input[j + 1] = key;
}
return input;
}
}
A implementação realiza um procedimento de ordenação sobre um vetor de números inteiros. Ao final da ordenação, o vetor ordenado é apresentado no monitor.
Assinale a alternativa que apresenta o método de ordenação utilizado.
Quantas trocas e comparações foram realizadas, respectivamente, por cada um?
Qual é a quantidade mínima de movimentos entre as três pilhas para que a pilha P1, originalmente cheia, esteja preenchida de v(5) até v(1), respectivamente, com os símbolos Q1, Q2, Q3, Q4, Q5 ?
Início Inteiro a, b, c, i; Leia a; b ← 0; c ← 0; Para i de 1 até 5, faça
[
b ← b + 2*a + i; c ← c + 3*a - i; ] Imprima (b+c); Fim
Ao final da execução do algoritmo, o valor impresso será igual a:
I. A inserção de chaves não ordenadas é geralmente mais rápida em métodos de hashing.
II. O número médio de acessos para localização de registros tende a ser menor para métodos baseados em hashing.
III. Métodos de hashing não disponibilizam acesso sequencial às chaves em ordem crescente ou decrescente.
É correto concluir que:
Supondo-se que o SGBD suporta visões, índices árvore-B e de tabela de espalhamento (hashs), joins e procedimentos armazenados, a maneira de acelerar essa busca ao máximo é criar um(a)