Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.113 questões
Uma inversão em um arquivo invertido é um conjunto de listas invertidas associadas a uma chave de acesso.
Uma vantagem do arquivo direto é poder determinar funções que gerem menor número de colisões.
Listas generalizadas são estruturas de dados flexíveis que podem representar qualquer tipo de lista linear, mas não árvores em diferentes graus.
A estrutura de uma lista encadeada mantém uma coleção de itens em ordem linear, sem, no entanto, exigir que eles ocupem posições consecutivas na memória
A implementação de lista por meio de apontadores permite utilizar posições não contíguas de memória, de modo a se poder inserir e retirar elementos sem que haja necessidade de deslocar os itens seguintes da lista.
Se P for uma pilha de dados, então a operação Top(P)retornará e removerá o item que estiver no topo da pilha.
Considere a situação a seguir.
Um programa tem de correlacionar os nomes Ana, Maria e Simone aos sobrenomes Costa, Oliveira e Santos, não necessariamente nessa ordem. A mulher de sobrenome Costa, que não é Ana, tem mais idade do que Simone, e a mulher de sobrenome Santos tem o dobro da idade das outras duas.Nessa situação, se uma lógica de programação for executada de forma adequada, os sobrenomes corretos de Ana, Maria e Simone serão, respectivamente, Oliveira, Costa e Santos.
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
Início
Leia a, b, c;
x ← 0;
Para i de 1 até 9 passo 2 faça
[
Se ((a mod 2) = 0)
Então x ← x + 2*b;
Senão x ← x - c;
a ← a - 1
]
Imprima x
Fim
Ao final do algoritmo, o valor impresso da variável x foi:
Início
Leia a, b, c;
x ← 0;
Para i de 1 até 9 passo 2 faça
[
Se ((a mod 2) = 0)
Então x ← x + 2*b;
Senão x ← x - c;
a ← a - 1
]
Imprima x
Fim
Para o algoritmo apresentado, assinale a alternativa que contém o número de vezes que o comando.
Então x ← x + 2*b;
foi executado, considerando os valores lidos para as variáveis de entrada.
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.