Questões de Concurso Sobre algoritmos e estrutura de dados
Foram encontradas 3.899 questões
Ao se utilizar um vetor para a ordenação de dados numéricos em ordem crescente, se a ordenação dos dados for realizada pelo algoritmo de ordenação por seleção, um laço de comparações será executado do primeiro ao penúltimo elemento do vetor.
Independentemente do vetor de entrada, o algoritmo Quick Sort divide o vetor ao meio, ordenando cada metade recursivamente e intercalando as duas metades ordenadas.
Árvores binárias com n nós, em que cada nó possui apenas um único filho, possuem altura máxima dada por h = 1 + |log n|.
Em uma árvore AVL (Adelson-Velsky e Landis), caso a diferença de altura entre as sub-árvores de um nó seja igual a 2 e a diferença de altura entre o nó filho do nó desbalanceado seja igual a -1, deve-se realizar uma rotação dupla com o filho para a direita e o pai para a esquerda a fim de que a árvore volte a ser balanceada.
Considerando essas informações, julgue os itens a seguir, acerca dos tipos básicos de estruturas de dados e de operações sobre estruturas de dados.
Caso a implementação da fila de prioridades dos processos em questão seja realizada por meio de min-heap, e a distribuição dos processos seja efetuada selecionando-se e removendo-se o processo que se encontra na raiz, é correto afirmar que o processo selecionado será o de maior prioridade.
Considerando essas informações, julgue os itens a seguir, acerca dos tipos básicos de estruturas de dados e de operações sobre estruturas de dados.
Caso a implementação seja realizada por meio de max-heap, a operação de remoção de processos de maior prioridade levará um tempo de ordem O(log n).
Senão z
z + 2;é executado.
f(a,b) se b = 0 então retorna a senão retorna f(b, a MOD b)
onde x MOD y é o resto da divisão de x por y. O valor de f (30, 21) é

Depois de inseridas as chaves 105, 109 e 312, as chaves no primeiro nó, na ordem, seriam

onde o operador ⊕ corresponde à operação XOR (ou exclusivo) e X e Y são variáveis inteiras. Assinale a alternativa que corresponde à funcionalidade da função apresentada.

Considere que os eventuais valores lidos para z sejam retirados da seguinte lista de valores: 1, 2, 0, 3, 5, 1, 2, 5, 4, 3. Dessa forma, se for necessária a leitura de somente 3 valores para a variável z, eles serão, na ordem: 1, 2 e 0, e os demais valores, nesse caso, não seriam necessários.
Repita
[
...
] até que ( y ≥ 5 )
pelo comando Enquanto. Assinale a alternativa que contém uma construção do comando Enquanto que fornece o mesmo resultado, caso seja colocada no programa apresentado.
Considere que os eventuais valores lidos para z sejam retirados da seguinte lista de valores: 1, 2, 0, 3, 5, 1, 2, 5, 4, 3. Dessa forma, se for necessária a leitura de somente 3 valores para a variável z, eles serão, na ordem: 1, 2 e 0, e os demais valores, nesse caso, não seriam necessários.
Considere que os eventuais valores lidos para x sejam reti rados da seguinte lista de valores: 7, 11, 12, 10, 5, 9, 12, 0, 4, 3. Dessa forma, se for necessária a leitura de somente 3 valores para a variável x, eles serão, na ordem: 7, 11 e 12, e os demais valores, nesse caso, não seriam necessários.
Considere que os eventuais valores lidos para x sejam reti rados da seguinte lista de valores: 7, 11, 12, 10, 5, 9, 12, 0, 4, 3. Dessa forma, se for necessária a leitura de somente 3 valores para a variável x, eles serão, na ordem: 7, 11 e 12, e os demais valores, nesse caso, não seriam necessários.
• Push (n): empilha um valor n
• Pop (n): desempilha um valor colocando-o em n
• Sum(): é o mesmo que a sequência
Pop(a)
Pop(b)
Push(a+b)
• Sub(): é o mesmo que a sequência
Pop(a)
Pop(b)
Push(a – b)
• Mul(): é o mesmo que a sequência
Pop(a)
Pop(b)
Push(a x b)
• Div(): é o mesmo que a sequência
Pop(a)
Pop(b)
Push(a ÷ b)
A sequência de operações
Push(3)
Push(7)
Sum()
Push(2)
Push(8)
Push(3)
Push(2)
Sub()
Mul()
Sum()
Div()
Push(7)
Push(6)
Sub()
Div()
deixará, no topo da pilha, o resultado do cálculo da expressão
