Questões de Concurso Sobre algoritmos e estrutura de dados
Foram encontradas 3.238 questões
I. A árvore é uma estrutura linear que permite repre- sentar uma relação de hierarquia. Ela possui um nó raiz e subárvores não vazias.
II. Na árvore binária o percurso permite a obtenção da sequência linear de seus nós. Na árvore binária de busca, um dos percursos permite que os nós sejam obtidos de forma ordenada.
III. O processo de balanceamento (estático ou dinâmico) otimiza a busca em árvores binárias, minimizando sua altura.
IV. Uma árvore-B não pode ser usada para armazenamento de dados em disco, pois necessita de um número maior de nós (maior altura) quando comparada a uma árvore binária.
Está correto o que se afirma em
• Todas as páginas são mantidas em uma lista circular, e um ponteiro (H) referencia a página mais antiga.
• Quando uma falta de página ocorre, a página apontada por H é inspecionada:
• Caso o seu bit de referência seja igual a 0, a página é retirada da lista e uma nova é inserida no seu lugar. O ponteiro H passa a apontar para a próxima página da lista.
• Caso o seu bit de referência seja igual a 1, ele será zerado, e H passará a apontar para a próxima página da lista.
• O processo é repetido até que uma página onde R=0 seja encontrada.
Qual é o nome desse algoritmo de substituição de página?
p1 : Eu passo no concurso ou continuarei estudando.
p2 : Se eu passar no concurso, comprarei um carro.
p3 : Se eu continuar estudando, comprarei mais livros.
A conclusão que se pode inferir a partir da regra do silogismo disjuntivo aplicado nas premissas acima é:
Qual é o número máximo de iterações necessárias para encontrar um elemento qualquer do vetor caso seja utilizado o algoritmo de busca binária?

Uma função irá percorrê-la em ordem simétrica, inserindo seus nós em uma pilha (implementada sobre uma lista encadeada) à medida que eles forem sendo visitados. A pilha criada por essa função é
algoritmo prog;
var
array[1..8] of inteiros : tab;
lógica : achou;
inteiro : D, m, ini, fim, centro;
procedimento PROC11;
início
para m de 1 até 8 faça ler(tab[m]);
fim_do_procedimento;
procedimento PROC22;
início
ler(D);
achou=false;
ini = 1;fim = 8;centro = (ini+fim) / 2;
enquanto (D < > tab[centro]) e (ini < > fim) faça
início
se D > tab[centro] então ini = centro+1
senão fim = centro;
centro = (ini + fim) / 2;
fim_do_procedimento;
se D = tab[centro] então achou = VERDADEIRO
senão achou = FALSO;
se achou então escreva(D,' encontra-se na posição ',centro)
senão escreva(D,' não se encontra na tabela...');
fim_do_procedimento;
início
PROC11;
PROC22;
fim_do_algoritmo.
Após a execução, a quantidade de vezes que a função foi executada e o valor final para YZ serão, respectivamente:

Sobre o algoritmo acima, é correto afirmar:

Qual a denominação da estrutura de dados implementada?

Esse algoritmo imprime, caso a condição da linha 3 seja verdade, todos os números inteiros de
I. A implementação de listas usando vetores utiliza um espaço de armazenamento contíguo, e a inserção de um elemento quando não feita ao final da lista requer movimentação.
II. Na implementação de listas com encadeamento simples, cada elemento possui apenas informação de quem é seu predecessor.
III. Na implementação de listas com encadeamento duplo, cada elemento possui a informação de quem é seu sucessor e predecessor.
Assinale a alternativa CORRETA

int bits = 0;
while (x != 0) { bits++; x=x/2; }
return bits;
}
I. Se o número de passos realizados por um algoritmo A é (n2 + n) para várias entradas de tamanho n, então a complexidade de A é O(n2 ).
II. Se a complexidade de pior caso de um algoritmo A for n, então o número de passos efetuados por A é O(n), qualquer que seja a entrada.
III. Se a complexidade de pior caso de um algoritmo A for n, então podemos afirmar que A é O(n) e também O(n2 ), mas a afirmação O(n) é mais precisa e deve ser utilizada.
Assinale a alternativa CORRETA.