Buscar

Apol 1 Estrutura de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

desligamento do quadro de alunos do Centro Universitário, bem como
responder ações judiciais no âmbito cível e criminal.
Questão 1/5 - Estrutura de Dados
A recursividade é um recurso de programação bastante empregado, e
consiste no ato de uma função em um código realizar chamadas de si mesmo,
abrindo diferentes instâncias de uma mesma função na memória do
programa.
Acerca de recursividade e algoritmos recursivos, assinale a alternativa
INCORRETA:
Nota: 20.0
A
Diversos problemas computacionais que poderiam ser resolvidos
utilizando algoritmos iterativos, ou seja, laços de repetição, podem
também ser resolvidos usando recursividade.
B
Um algoritmo recursivo terá uma complexidade logarítmica,
apresentando um desempenho inferior em tempo de execução superior
a um algoritmo construído de forma iterativa.
Você acertou!
AULA 1 – TEMA 4. O desempenho em tempo de execução é superior.
C
Uma possível desvantagem de um algoritmo recursivo é o seu uso de
memória mais elevado, uma vez que diversas instâncias de uma mesma
função precisam ser alocadas na memória.
D
Um algoritmo que executa uma função denominada de soma, e que
realiza a chamada de uma função denominada compara, não pode ser
considerado um algoritmo recursivo, uma vez que não realizada
chamadas de si mesma.
E
Um algoritmo recursivo comumente serve para resolver problemas do
tipo “dividir para conquistar”, onde dividimos um problema em partes
menores e mais fáceis de solucionar, para posteriormente agregar as
pequenas soluções em uma maior.
Questão 2/5 - Estrutura de Dados
O segundo assunto de nossa disciplina diz respeito a algoritmos de ordenação
de dados.
Acerca deste assunto, assinale a alternativa INCORRETA:
Nota: 20.0
A
Algoritmos de ordenação são empregados com o objetivo de ordenar
conjuntos de dados a partir de uma determinada métrica, como por
exemplo, ordenar nomes de pessoas em ordem alfabética crescente.
B
Existem os mais diversos algoritmos de ordenação, sendo que cada um
deles apresentará uma complexidade distinta em tempo de execução e
de uso de memória e, portanto, devem ser minuciosamente escolhidos
de acordo com a aplicação.
AVA UNIVIRTUS file:///home/t-sec/Downloads/AVA UNIVIRTUS.html
2 of 7 14/04/2019 14:16
C
A permuta de grandes quantidades de dados para ordenação tende a
ser custoso computacionalmente. O uso de variáveis ponteiros servem
para auxiliar e otimizar este processo ordenando somente os
endereços ao invés de todo o conjunto de dados.
D
Um algoritmo de ordenação é um método que descreve como é
possível colocar, em uma ordem específica, um conjunto de dados
qualquer.
E
A lógica algorítmica de cada método de ordenação difere para cada
tipo de estrutura de dados que se deseja manipular.
Você acertou!
AULA 2 – TEMA 1. A estrutura de dados não muda a lógica de
funcionamento do algoritmo de ordenação, só muda a estrutura a ser
manipulada.
Questão 3/5 - Estrutura de Dados
Uma implementação do algoritmo de ordenação do tipo bubble sort pode ser
visto abaixo. As partes que envolvem impressão de dados na tela e leitura de
dados foram omitidas para um melhor entendimento do que é necessário na
questão. 
X[TAMANHOVETOR], i, j, aux: inteiro
para i de 1 até TAMANHOVETOR faça
     para j de 0 até (TAMANHOVETOR - 2) faça
          se (X[j] > X[j + 1]) então
               aux <- X[j]
               X[j] <- X[j + 1]
               X[j + 1] <- aux
          fimse
     fimpara
fimpara
Acerca deste algoritmo, assinale a alternativa CORRETA:
Nota: 20.0
A
O algoritmo apresentado no exercício realizado a ordenação de dados
numéricos, inteiros, em ordem decrescente.
Ordenação é crescente.
B
As linhas de código que correspondem a troca dos valores usando uma
variável auxiliar poderiam ser também escritas da seguinte maneira:
aux <- X[j+1]
X[j+1] <- X[j]
X[j] <- aux
Você acertou!
AULA 2 – TEMA 2. CORRETO.
AVA UNIVIRTUS file:///home/t-sec/Downloads/AVA UNIVIRTUS.html
3 of 7 14/04/2019 14:16
C
Se precisarmos ordenar dados não numéricos, como caracteres,
precisaremos repensar em toda a lógica do bubble sort, não sendo
possível adaptar o código facilmente.
Basta adaptarmos a linha da condicional para funcionar com outro tipo
de dado.
D
Não é possível implementar o bubble sort com laços de repetição do
tipo enquanto.
É possível implementar com qualquer tipo de laço, para, enquanto ou
repita.
E A complexidade deste algoritmo, para o pior caso, é O(logn).Complexidade O(n²).
Questão 4/5 - Estrutura de Dados
O algoritmo abaixo foi desenvolvido empregando uma lógica iterativa:
Função Calcula (n: inteiro, x: inteiro): inteiro
     y: inteiro
     para i de 0 até n faça
          se (x < 0) então
               para i de 0 até n faça
                     y = y + 1
               fimpara
           senão
               para i de 0 até x faça
                     y = y + 1
               fimpara
           fimse
     fimpara
     retorne y
Fimfunção
Acerca ao algoritmo acima, e trabalhando com os conceitos de complexidade
assintótica e recursividade, assinale a alternativa CORRETA:
Nota: 0.0
A
A função contém três laços de repetição, sendo que todos os três laços
podem acabar sendo executados cada vez que esta função por
chamada.
Como o valor de x recebido como parâmetro nunca muda dentro da
mesma chamada da função, teremos somente 2 laços sendo executados
por vez devido a condicional composta.
B A complexidade da função, para o pior caso será O(n³).Como temos somente 2 laços aninhados, a complexidade será O(n²).
C
A função não realiza chamadas de si mesma, portanto pode ser
considerada uma função recursiva.
Uma função recursiva é a que realizada chamadas de si mesma.
D
Caso exista a possibilidade de implementação deste algoritmo usando
uma função recursiva, e sem uso de laços de repetição, a complexidade
em tempo de execução da implementação irá melhorar.
AULA 1 – TEMA 3, 4 E 5. Sim, pois implementando com recursividade
AVA UNIVIRTUS file:///home/t-sec/Downloads/AVA UNIVIRTUS.html
4 of 7 14/04/2019 14:16
teremos uma complexidade atrelada a um crescimento logarítmico.
E
Caso substituíssemos todos os laços de repetição do tipo para, por
laços do tipo enquanto, o desempenho do algoritmo em tempo de
execução irá melhorar significativamente, uma vez que o laço
enquanto tem um custo inferior ao do para.
O custo de todos os três tipos de laços de repetição é o mesmo na
análise de complexidade e, virtualmente não faz diferença qual você
utiliza.
Questão 5/5 - Estrutura de Dados
O algoritmo de ordenação rápida, também conhecido como quick sort, é um
dos algoritmos estudados na AULA 2.
Acerca deste algoritmo, assinale a alternativa CORRETA.
Nota: 20.0
A
A complexidade do quick sort é O(n²). Isso significa que ele sempre
terá a mesma eficiência de um bubble sort.
Somente o pior caso do bubble e do quick são iguais. Se considerarmos
cenários melhores o quick sort se sai bem melhor que o bubble sort.
Veja o experimento feito na AULA PRÁTICA 1 para mais detalhes.
B
O quick sort trabalha com o conceito de pivô, que é o elemento usado
nas comparações, comparando sempre o seu valor com todos os
valores do lado direito do pivô, enquanto que o lado esquerdo
permanece já ordenado.
Ambos os lados são comparados, esquerdo e direito.
C
O quick sort trabalha com o conceito de pivô, que é o elemento usado
nas comparações, comparando sempre o seu valor com todos os
valores do lado esquerdo do pivô, enquanto que o lado direito
permanece já ordenado.
Ambos os lados são comparados, esquerdo e direito.
D
O quick sort trabalha com uma troca de valores utilizando uma
variável auxiliar, da mesma maneira feita no bubble sort.
Você acertou!
AULA 2 – TEMA 4 – CORRETO.
E
O quick sort só pode ser executado para um tamanho de conjunto de
dados máximo igual a 1000, pois mais do que isso o uso de memória
pelo algoritmo é muito grande.O limite máximo dependerá da memória disponível, não sendo limitado
ao valor de 1000.
Orientações para realização da avaliação.
AVA UNIVIRTUS file:///home/t-sec/Downloads/AVA UNIVIRTUS.html
5 of 7 14/04/2019 14:16

Outros materiais

Perguntas Recentes