Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.682 questões
Marque a alternativa CORRETA que corresponde ao contexto acima.
f1(n) = 2n 2 + 5n operações
f2(n) = 500n + 4000 operações
Listas encadeadas são estruturas de dados lineares. Isso significa que há uma sequência e uma ordem de como elas podem ser percorridas e construídas. Sobre listas encadeadas, analise as afirmativas abaixo:
I. Em uma lista, simplesmente encadeada baseada em nós, pode-se inserir um elemento, no final da lista, sem percorrê-la.
II. Implementar uma lista duplamente encadeada é mais fácil do que uma lista encadeada simples.
III. Em lista duplamente encadeada, é possível percorrer a lista em ambas as direções.
IV. As listas encadeadas podem também ser implementadas de forma circular. Assim, quando simplesmente encadeadas, o último elemento delas terá o ponteiro próximo apontando para o primeiro. Enquanto que as listas duplamente encadeadas terão o último com o ponteiro próximo apontado para o primeiro elemento e o primeiro com o ponteiro anterior apontado para o último.
V. Na busca pelo elemento a ser removido de uma lista, percorre-se, no pior caso, todos os elementos da lista, gastando com isso tempo proporcional ao tamanho dela.
Levando em conta as afirmações, acima, sobre listas encadeadas, escolha a alternativa CORRETA:
Coluna 1
1. Pilhas. 2. Filas. 3. Listas.
Coluna 2
( ) Inclusão no fim e remoção no início. ( ) Inclusões e remoções em qualquer posição. ( ) Inclusão e remoção no fim.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
Considere o algoritmo abaixo desenvolvido segundo a sintaxe utilizada no VisuAlg 3.0:
Algoritmo "Concurso"
Var
i, j, y : inteiro
x : logico
Inicio
y <- 0
para i de 2 até 10 faça
x <- verdadeiro
para j de 2 até (i div 2) faça
se i mod j = 0 então
x <- falso
fimse
fimpara
se x então
y <- y + i
fimse
fimpara
escreva(y)
Fimalgoritmo
Qual o valor mostrado na saída deste algoritmo?
O algoritmo ordena 13 números em ordem crescente, com o auxílio de uma variável auxiliar AUX.
|
procedimento ORDENAR Inicio repita troca<- VERDADEIRO para K de 1 ate 12 faca se TAB[K) > TAB[K+ 1] entao AUX <- TAB[K) TAB[K] <-TAB[K+1] TAB[K+1] <- AUX TROCA<- FALSO fimse fimpara ate TROCA= VERDADEIRO fimrepita fimprocedimento |
Uma solução com o mesmo resultado, mas sem o uso dessa variável auxiliar AUX, é possível por meio da substituição das linhas de código da figura
|
AOX <- TAB[K] TAB[K] <- TAB[K+1] TAB[K<+1] <- AUX |
por:
O algoritmo usa o recurso passagem de parâmetros, de M G para PX por valor, e de RESP para PW por referência.
|
algoritmo "AN_TI" var MG: inteiro RESP : caractere procedimento PRC(PX:inteiro;var PW:caractere) inicio PX <- 55 PW <- "BRASIL" fimprocedimento inicio MG <- 99 RESP <- "ARGENTINA" PRC (MG, RESP) escreval(RESP:-13,MG) fimalqoritmo |
Após a execução, os valores finais para as variáveis RESP e MG são, respectivamente:
Qual algoritmo divide a sequência original em pares de dados, agrupa estes pares na ordem desejada; depois agrupa as sequências de pares já ordenados, formando uma nova sequência ordenada de quatro elementos, e assim por diante, até tertoda a sequência ordenada?
Associe os algoritmos de substituição de páginas da memória com as suas respectivas descrições.
Algoritmo
1. NRU
2. LRU
3. Segunda Chance
4. Ótimo
5. FIFO
Descrição
( ) Página mais antigamente carregada na memória é descartada.
( ) Página no início da fila é a mais antiga e terá seu bit R inspecionado. Se ele for 0, ela é trocada. Se for 1, ela é colocada no final da fila.
( ) Parte do princípio que as páginas usadas com mais frequência nas últimas execuções provavelmente serão utilizadas novamente.
( ) Usa dois bits de status, o bit R (referenciado) e bit M (modificado).
( ) Retira da memória a página que tem menos chance de ser referenciada.
A sequência correta é
NCmelhor = N-1 NCmédio ≅ (N*(N-1))/4 - 1/2 NCpior ≅ (N*(N-1)-1)/2
Com base nestes resultados, é correto afirmar que o método