Questões de Algoritmos e Estrutura de Dados para Concurso
Foram encontradas 2.074 questões
Árvores AVL são uma estrutura de dados de árvore binária de busca balanceada, onde a diferença de altura entre as
subárvores esquerda e direita de qualquer nó não deve ser maior que 1. Considere as seguintes operações de rotação para balancear a árvore AVL:
I. Rotação simples à direita (RR).
II. Rotação simples à esquerda (RL).
III. Rotação dupla à direita (DRR).
IV. Rotação dupla à esquerda (DRL).
Dado o seguinte trecho de pseudocódigo para uma inserção em uma árvore AVL:
função inserir_avl(T, chave)
se T é vazia
criar novo nó com chave
senão se chave< T.chave
T.esquerda = inserir_avl(T.esquerda, chave)
se laltura(T.esquerda) - altura(T.direita)| > 1
realizar operação de rotação necessária
senão se chave> T.chave
T.direita = inserir_avl(T.direita, chave)
se laltura(T.esquerda)- altura(T.direita)| > 1
realizar operação de rotação necessária
Qual das seguintes opções descreve corretamente quando a rotação simples à direita (RR) deve ser aplicada durante a inserção?
A lógica matemática é uma área de estudo que utiliza sistemas formais para representar, analisar e inferir informações sobre o mundo real. As funções de avaliação são uma parte importante da lógica matemática, pois permitem avaliar se uma fórmula lógica resulta em um retorno verdadeiro ou falso. Considere a seguinte fórmula lógica e seu respectivo conjunto de atribuições de variáveis:
Fórmula lógica:
∀x (P(x) → Q(x))
Conjunto de atribuições de variáveis:
P(x)={a, b, c}, Q(x)={b, c, d}
Analise o pseudocódigo abaixo, que tenta retornar a verdadeiro ou falso para a fórmula lógica usando as atribuições de variáveis fornecidas:
função avaliar_fórmula(P, Q)
para cada elemento x em P
se x está em P e x não está em Q
retornar falso
retornar verdadeiro
Qual é o resultado da execução do algoritmo, considerando o contexto descrito na questão?
Algoritmos de ordenação são técnicas fundamentais na área da computação e são utilizados para organizar e ordenar coleções de dados, como listas ou arrays, de acordo com critérios específicos. Esses algoritmos têm uma ampla gama de aplicações em sistemas computacionais e são essenciais para a eficiência e eficácia de processos, nas mais diversas áreas do mundo do trabalho. Considere o algoritmo de ordenação ilustrado no pseudocódigo abaixo:
função sort(lista, esquerda, direita)
se esquerda < direita
pivo_index = particionar(lista, esquerda, direita)
sort(lista, esquerda, pivo _index - 1)
sort(lista, pivo_index + 1, direita)
função particionar(lista, esquerda, direita)
pivo = lista[direita] # escolhendo o pivo como último
elemento
i = esquerda - 1
para j de esquerda até direita -1
se lista[j] <= pivo
i=i+ 1
trocar(lista[i], lista[j])
trocar(lista[i + 1 ], lista[direita]) # colocando o pivo em sua
posição correta
retornar i + 1
# Inicializando o algoritmo com os índices apropriados
lista= [valores a serem ordenados]
sort(lista, 0, comprimento(lista)-1)
Qual das alternativas abaixo corresponde ao algoritmo em questão?
A técnica de memória virtual por paginação é organizada em blocos. Esses blocos podem ser alocados em páginas da memória física, mas eventualmente um bloco pode precisar ser substituído para liberar espaço. Assinale a opção que apresenta um algoritmo de substituição de páginas que utiliza um bit adicional, conhecido como bit de referência.
Segundo Farrer (1999), em relação às variáveis compostas, é correto afirmar que: