Logo Passei Direto
Buscar
Questão 1/10 - Estrutura de Dados
Considere o algoritmo abaixo:
def algoritmo(dados):
tam = len(dados)
for v in range(0, tam, 1):

flag = 0
for i in range(0, tam - 1, 1):
if dados[i] < dados[i + 1]:

aux = dados[i]
dados[i] = dados[i + 1]
dados[i + 1] = aux
flag = 1

if flag == 0:
return dados

Após análise do algoritmo acima, assinale a alternativa correta:
A O código é um algoritmo de seleção e ordena em ordem crescente.
B O código em questão é de um algoritmo de pesquisa e busca o menor número.
C O código em questão é de um algoritmo de pesquisa e busca o maior número.
D O código em questão é de um algoritmo de ordenação e ordena em ordem crescente.
E O código em questão é de um algoritmo de ordenação e ordena em ordem decrescente.

A
B
C
D
E
User badge image
Exercícios Para o Aprendizado

ano passado

Respostas

User badge image

Ed Verified user icon

há 4 meses

Vamos analisar o algoritmo apresentado. O código parece implementar um método de ordenação, onde ele compara elementos adjacentes e os troca se o elemento da esquerda for menor que o da direita. Isso é característico de um algoritmo de ordenação, especificamente o Bubble Sort. 1. O algoritmo percorre a lista de dados e, para cada elemento, verifica se ele é menor que o próximo. 2. Se for, ele troca os elementos, o que indica que o algoritmo está tentando organizar os dados em ordem crescente. 3. O uso da variável `flag` serve para verificar se houve alguma troca; se não houver, o algoritmo termina, indicando que a lista já está ordenada. Com base nessa análise, a alternativa correta é: D) O código em questão é de um algoritmo de ordenação e ordena em ordem crescente.

Essa resposta te ajudou?

0
Dislike0
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar essa resposta. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

User badge image

Ed Verified user icon

ano passado

Analisando o algoritmo apresentado, podemos identificar que ele realiza um processo de ordenação. Mais especificamente, é um algoritmo de ordenação do tipo "bubble sort", que percorre a lista diversas vezes, comparando elementos adjacentes e realizando trocas quando necessário para ordenar em ordem crescente. Portanto, a alternativa correta é: D O código em questão é de um algoritmo de ordenação e ordena em ordem crescente.

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Essa pergunta também está no material:

Mais perguntas desse material

Questão 2/10 - Estrutura de Dados
O algoritmo de ordenação pelo método da bolha (bubble sort ) foi utilizado para ordenar a sequência 43, 6, 32, 15, 21 de forma crescente.
Quantas trocas foram realizadas?
A 2
B 3
C 4
D 5
E 6

A
B
C
D
E

Questão 3/10 - Estrutura de Dados
Considere o trecho de código abaixo:
a = 1
b = a*10
if a > b:
c = a
else:
c = b
Acerca do código acima são feitas as seguintes afirmativas:
I. Cada operação (linha de código) tem complexidade assintótica O(1).
II. Todas as operações são constantes, ou seja, executa da mesma forma para entradas grandes ou pequenas.
III. A complexidade do código em questão é a soma de todas as complexidades, no caso: O(1) + O(1) + O(1)+ O(1)+ O(1)+ O(1)= O(6n).
Estão corretas as afirmativas:
A I somente.
B II somente.
C I e II somente.
D I e III somente.
E II e III somente.

A
B
C
D
E

Questão 7/10 - Estrutura de Dados
Chamamos de análise assintótica de algoritmos quando encontramos a complexidade de um algoritmo de maneira aproximada através de uma curva de tendência. Este tipo de análise e é a mais adotada para compararmos desempenho de algoritmos. Para podermos comparar a complexidade dos algoritmos, podemos analisá-los matematicamente. A notação mais comum adotada na literatura para comparar algoritmos e dizer o quão rápido um algoritmo é, é a notação Big-O (ou “Grande-O”). (Adaptada)
Acerca complexidade de um algoritmo, assinale a alternativa INCORRETA:
A Um algoritmo com três laços de repetição não encadeados contém uma complexidade assintótica, para o pior caso, O(n).
B Na análise assintótica, fazemos o conjunto de dados de entrada da função custo tender ao infinito, mantendo na equação somente o termo de maior grau, ou seja, aquele que mais cresce na equação.
C Um algoritmo com três laços de repetição aninhados contém uma complexidade assintótica, para o pior caso, O(n³).
D A complexidade assintótica para o pior caso, também conhecida como Big O, representa o pior cenário para um algoritmo, ou seja, quando mais instruções precisam ser executadas, levando mais tempo para finalizar a execução.
E A complexidade assintótica para o pior caso de um algoritmo contendo dois laços de repetição aninhados, sendo que o segundo laço só será executado caso uma condicional simples seja verdadeira, será O(n).

A
B
C
D
E

Mais conteúdos dessa disciplina