Questões de Concurso
Sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 2.316 questões
Utilize o método mestre para resolver recorrências das equações abaixo.
T1 (n) = 9T1 (n/3) + n
T2 (n) = T2 (2n/3) + 1
As ordens de complexidade correspondentes são
Na tabela a seguir, considerando os métodos de ordenação, que visam a colocar uma lista em ordem para facilitar a busca de informações nela contidas, associe os métodos à sua respectiva descrição.
Método de Ordenação
(1) Bubble Sort
(2) Insert Sort
(3) Select Sort
(4) Shellsort
(5) Mergesort
(6) Quicksort
(7) Heapsort
Descrição
( ) Neste método, a lista é subdividida em h-listas, as quais são ordenadas com um método de ordenação qualquer. Esse procedimento é repetido para valores decrescentes de h, sendo que o último valor de h tem que ser 1.
( ) Neste método, são usados, inicialmente, os elementos da lista que são inseridos em um heap binário crescente. Em seguida, são feitas sucessivas remoções do menor elemento do heap, colocando os elementos removidos do heap de volta na lista.
( ) Neste método, a lista é dividida em duas metades. Essas metades são ordenadas recursivamente e depois são intercaladas. Para tanto, faz-se uso das variáveis i e j para percorrer a metade esquerda e a metade direita, respectivamente. Em cada iteração, compara-se o elemento na posição i com o elemento na posição j. O menor deles é copiado para um vetor auxiliar. Esse procedimento é repetido até que uma das duas metades tenha sido totalmente copiada para o vetor auxiliar.
( ) Neste método, os elementos da lista são movidos para as posições adequadas de forma contínua. Se um elemento está inicialmente numa posição i e, para que a lista fique ordenada, ele deve ocupar a posição j, então ele terá que passar por todas as posições entre i e j. Em cada iteração do método, percorre-se a lista a partir de seu início, comparando cada elemento com seu sucessor, trocando-os de posição se houver necessidade.
( ) Neste método, a lista é dividida em parte esquerda e parte direita, sendo que os elementos da parte esquerda são todos menores do que os elementos da parte direita. Em seguida, as duas partes são ordenadas recursivamente.
( ) Neste método, considera-se que a lista está dividida em parte esquerda, já ordenada, e parte direita, em possível desordem. Além disso, os elementos da parte esquerda são todos menores ou iguais aos elementos da parte direita. Cada iteração consiste em escolher o menor elemento da parte direita (pivô) e trocá-lo com o primeiro elemento da parte direita. Com isso, a parte esquerda aumenta, pois passa a incluir o pivô, e a parte direita diminui.
( ) Neste método, considera-se que a lista está dividida em parte esquerda, já ordenada, e parte direita, em possível desordem. Inicialmente, a parte esquerda contém apenas o primeiro elemento da lista. Cada iteração consiste em colocar o primeiro elemento da parte direita (pivô) na posição adequada da parte esquerda, de modo que a parte esquerda continue ordenada.
Tabela: métodos de ordenação
Fonte: Próprio autor
A sequência correta desta associação é
Em uma academia de ginástica, os alunos de 15 a 45 anos chegam em intervalos de tempo segundo uma distribuição exponencial com média de 20 minutos. Ao se dirigirem para a sala de musculação, todos precisam fazer o aquecimento, que consiste em um tempo de caminhada que segue uma distribuição normal de média 15 minutos e desvio padrão de 4. A caminhada é feita em uma das 15 esteiras disponíveis. Caso todas as esteiras estejam ocupadas, o aluno vai para o ginásio e caminha durante esse mesmo tempo. O ginásio tem capacidade suficiente para qualquer quantidade de alunos da academia.
Depois do aquecimento, os alunos vão diretamente para os aparelhos de musculação, que também têm disponibilidade suficiente. A musculação leva tempo seguindo uma distribuição normal de média 35 minutos e desvio padrão de 4 minutos. Depois disso, o aluno vai embora.
Analise o trecho do algoritmo abaixo representado em português estruturado:

É correto afirmar que:
Analise as afirmativas a seguir:
I - Um algoritmo possui uma sequência finita de instruções ou operações básicas, não ambíguas, executáveis em um tempo finito e que resolve um problema computacional em qualquer uma de suas instâncias.
II - A eficiência de um programa é avaliada em função do espaço de memória utilizado e do tempo que o programa consome para ser executado. O espaço de memória ocupado pelo programa é determinado pela quantidade de rotinas de seleção e/ou repetição utilizadas em sua estrutura.
III - Tipos abstratos de dados podem ser considerados como generalizações de tipos primitivos de dados e um exemplo são as Listas Lineares. Pela mesma ótica, procedimentos podem ser considerados generalizações de operações primitivas como adição, subtração e multiplicação.
IV - Os algoritmos exponenciais são geralmente simples variações de pesquisa exaustiva, enquanto algoritmos polinomiais são geralmente obtidos através de um entendimento mais profundo da estrutura do problema.
É correto o que se afirma em:
Utilizando a análise de complexidade de algoritmos, qual a complexidade de tempo de execução do seguinte código:

Julgue o item subsequente, relativo a estrutura de dados.
Situação hipotética: Para ordenar os números do vetor (0, 4, 2, 1, 3, 5, 7, 8, 9, 6), foram realizados os passos mostrados na figura a seguir, com seus respectivos resultados a cada passagem, tendo sido o número 5 do vetor utilizado inicialmente como pivô.

Assertiva: Nessa situação, foi utilizado o método de ordenação do tipo quicksort.
Julgue o item subsequente, relativo a estrutura de dados.
Situação hipotética: Para ordenar os números do vetor (30, 50, 10, 20, 40), foram realizados os passos i a vi, apresentados a seguir, com os respectivos resultados a cada passagem.
i 30 > 50?
30,50,10,20,40
ii 50 > 10?
30,10,50,20,40
iii 50 > 20?
30,10,20,50,40
iv 50 > 40?
30,10,20,40,50
v 30 > 10?
10,30,20,40,50
vi 30 > 20?
10,20,30,40,50
Assertiva: Nessa situação, os passos realizados constituem um
algoritmo do tipo bubble sort, ou bolha.
Julgue o próximo item, concernente ao conceito relacionado a algoritmos e linguagens de programação.
O comando 29 = A atribui à variável A o valor 29.
Julgue o próximo item, concernente ao conceito relacionado a algoritmos e linguagens de programação.
A resposta do algoritmo seguinte é 8.
Julgue o próximo item, concernente ao conceito relacionado a algoritmos e linguagens de programação.
A resposta da expressão a seguir é verdadeiro.
se ((-(-2-6*12/3-1)) > (3+3-3*3-3^3+3)) então
escreva "verdadeiro";
senão
escreva "falso";
Julgue o próximo item, concernente ao conceito relacionado a algoritmos e linguagens de programação.
Em um algoritmo, uma constante é um espaço físico na
memória, e é identificada por um nome que não sofre alteração
durante a execução do programa.
Julgue o item a seguir, relativo ao conceito de construção de algoritmos.
O algoritmo a seguir apresenta um exemplo de busca sequencial.

No que se refere a procedimentos e funções, às estruturas de controle de fluxo nas linguagens de programação e à arquitetura J2EE, julgue o item que segue.
A condição, na estrutura de repetição while, é testada
antes de se executar o conjunto de instruções.
No que se refere a procedimentos e funções, às estruturas de controle de fluxo nas linguagens de programação e à arquitetura J2EE, julgue o item que segue.
As funções podem ser utilizadas, em expressões, como
se fossem variáveis.