Questões de Concurso
Comentadas sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.196 questões
Formalmente, um algoritmo de busca é aquele que aceita um argumento e tenta encontrar o registro cuja chave seja igual ao argumento. Assim, analisando o seguinte passo a passo de um algoritmo de busca, é correto afirmar que se trata de um algoritmo
1. Defina que min= 1 e max = n.
2. Encontre a média de max e min, arredondando para baixo para que seja um inteiro.
3. Se você tiver adivinhado o número certo. Pare – Fim algoritmo!
4. Se o palpite foi muito baixo, defina o min como 1 a mais do que o palpite.
5. Se o palpite foi muito alto, defina o max como 1 a menos do que o palpite.
6. Volte ao passo dois.
Seja uma lista linear L com n elementos (n>5), o primeiro elemento está na posição 1 (um), o segundo elemento está na posição 2 (dois), e assim por diante. As operações para L são:
insere(L, elemento, k): inserir elemento em L, tal que elemento fique na posição k;
remove(L, k): remover de L o elemento que está na posição k e retornar o elemento removido.
Considere o pseudocódigo abaixo:
para i = 1 até n, faça
<instrução-X>
fim-para
Se o propósito do pseudocódigo é inverter a ordem dos
elementos da Lista L, então <instrução-X> pode ser:
A pilha P e a fila F possuem originalmente n elementos cada (n>5), e suas operações são:
empilha(P, elemento): inserir elemento na pilha P;
desempilha(P): remover da pilha P e retornar o elemento removido;
enfileira(F, elemento): inserir elemento na fila F;
desenfileira(F), remover da fila F e retornar o elemento removido.
Seja o pseudocódigo abaixo:
para i = 1 até n, faça
empilha(P, desempilha(P))
enfileira(F, desenfileira(F))
fim-para
Ao final da execução do pseudocódigo, os estados finais
de P e F são, respectivamente:
Tais sentenças se referem, respectivamente, aos métodos de pesquisa:
O código abaixo pode ser utilizado para atravessar um grafo.
Entrada: um gráfico G e um vértice v de G
Saída: todos os vértices alcançáveis de v marcados
função DFS(G,v):
marque v
para todas as arestas adjacentes a v, faça
se vértice w não estiver marcado, então
Chame recursivamente DFS(G,w)
fim se
fim para
fim função
Entre os diversos tipos de algoritmos utilizados para atravessar grafos, esse código implementa o algoritmo
Sobre algoritmos de busca, analise as informações a seguir.
I. Uma busca linear sobre um array de uma dimensão pode ser implementada com um laço e possui complexidade, no pior caso, linearmente relacionada ao tamanho do array.
II. Uma busca binária sobre um array de uma dimensão pode ser implementada com um laço e possui complexidade, no pior caso, linearmente relacionada ao logaritmo do tamanho do array.
III. Uma busca binária recursiva sobre um array de uma dimensão pode ser implementada sem laços e possui complexidade, no pior caso, linearmente relacionada ao logaritmo do tamanho do array.
IV. Uma busca linear sobre um array de duas dimensões pode ser implementada com dois laços e possui complexidade, no pior caso, linearmente proporcional à soma da quantidade de linhas e colunas do array.
V. Uma busca em uma estrutura de dados chamada Tabela de Dispersão (Hash Table) pode ser implementada sem laços e possui complexidade, no pior caso, constante, independentemente do tamanho do array.
Estão CORRETAS, apenas, as proposições