Baixe o app para aproveitar ainda mais
Prévia do material em texto
Questão 1/10 - Estrutura de Dados “A complexidade de um algoritmo reflete o esforço computacional requerido para executá-lo. Esse esforço computacional mede a quantidade de trabalho, em termos de tempo de execução ou da quantidade de memória requerida. As principais medidas de complexidade são tempo e espaço, relacionadas a` velocidade e a` quantidade de memória, respectivamente, para a execuçãoo de um algoritmo.” Toscani, Laira, V. e Paulo A. S. Veloso. Complexidade de Algoritmos - V13 - UFRGS. Disponível em: Minha Biblioteca, Grupo A, 2012.pag 29 Levando em consideração o texto base e o conteúdo visto em aula, temos portanto, dois tipos de complexidade de algoritmos: Você não pontuou essa questão A Complexidade de execução e complexidade de memória B Complexidade de tempo e complexidade de espaço C Complexidade de tempo e complexidade de desempenho D Complexidade de esforço e complexidade de espaço Você assinalou essa alternativa (D) E Complexidade de tempo e complexidade de velocidade Questão 2/10 - Estrutura de Dados "Um exemplo de software que utiliza estrutura de dados conhecida é o jogo da cobrinha, tendo as seguintes regras: 1.o corpo da cobrinha crescerá à medida que a cabeça tocar um quadrado com a cor diferente da cabeça, e o quadrado vai para o final do corpo da cobrinha. 2.o corpo da cobrinha diminuirá à medida que a cabeça tocar um quadrado com a mesma cor da cabeça, e a cabeça será retirada da cobrinha e o próximo quadrado passa a ser a cabeça." Rodrigues, Thiago, N. et al. Estrutura de Dados em Java. Disponível em: Minha Biblioteca, Grupo A, 2021.Pag 65 Acerca da estrutura de dados e das regras mencionadas acima são feitas as seguintes afirmativas: I.A regra 1 pode ser considerada uma ação de empilhar um elemento em uma pilha II.A regra 1 pode ser considerada uma ação de enfileirar um elemento em uma fila III.A regra 2 pode ser considerada ação de desempilhar um elemento de uma pilha IV.A regra 2 pode ser considerada ação de desenfileirar um elemento de uma fila Estão corretas apenas as afirmativas: A II B I e III C I e IV D II e III E II e IV Você assinalou essa alternativa (E) Questão 3/10 - Estrutura de Dados Na aula 3 de nossa disciplina estudamos estruturas de dados que se comportam como uma PILHA. (Adaptada) Acerca de PILHA, são feitas as seguintes afirmativas: I. Em uma pilha construída utilizando listas encadeadas. Desempilhar nela significa remover o primeiro elemento desta pilha. II. Uma pilha pode só pode ser construída empregando uma estrutura de dados que trabalhe de maneira não sequencial. III. Uma pilha trabalha com inserção e remoção no topo da pilha. Sendo impossível manipular qualquer outra posição da pilha. IV. Em uma, a cada nova inserção, os elementos anteriores vão ficando para o final da pilha, só sendo possível removê-los desempilhando. Estão corretas as afirmativas. A I , II e III somente. B I ,II e IV somente. C I , III e IV somente. Você assinalou essa alternativa (C) D II , III e IV somente E I, II, III e IV Questão 4/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? Você não pontuou essa questão A 2 B 3 C 4 Você assinalou essa alternativa (C) D 5 E 6 Questão 5/10 - Estrutura de Dados Na aula 3 de nossa disciplina estudamos estruturas de dados que se comportam como uma FILA. (Adaptada) Acerca de FILAS, assinale a alternativa CORRETA: A Uma fila onde o primeiro elemento é o 66, o segundo é o 33 e o terceiro é o 99. Inserir na fila significaria inserir um elemento que aponte para o valor 66. B Em uma fila, podemos ter a inserção dos dados no início desta fila. C Em uma fila, podemos ter a remoção dos dados final ou no meio desta fila. D Em uma fila trabalhamos com o conceito de: “o primeiro que entra é o primeiro que sai”. Você assinalou essa alternativa (D) E Uma fila onde o primeiro elemento é o 66, o segundo é o 33 e o terceiro é o 99. Remover da fila significaria remover o elemento 99. Removeria o 66 (remoção no início da fila). Questão 6/10 - Estrutura de Dados Observe a descrição abaixo: • Comparações são feitas entre elementos de um vetor • Cada elemento de uma posição i é comparado com o elemento da posição i + 1 • Se a ordenação procurada é encontrada é feita uma troca de posições entre os elementos A descrição em questão se trata do algoritmo de ordenação: A Mergesort B Quicksort C Bubblesort Você assinalou essa alternativa (C) D Hashsort E Insertion sort Questão 7/10 - Estrutura de Dados A técnica de divisão e conquista consistem de 3 passos básicos: 1.Divisão: Dividir o problema original, em subproblemas menores. 2.Conquista: Resolver cada subproblema recursivamente. 3.Combinação: Combinar as soluções encontradas, compondo uma solução para o problema original. É um exemplo de algoritmo de divisão e conquista: A Insertion sort B Mergesort Você assinalou essa alternativa (B) C Bubblesort D Selection sort E Searchsort Questão 8/10 - Estrutura de Dados Observe o trecho do algoritmo abaixo e analise o seu comportamento X = [6, 5, 2, 3, 4, 1] n = 0 troca = 1 while n <= len(X) and troca == 1: troca = 0 for i in range(0, len(X)-1, 1): if X[i] > X[i+1]: troca = 1 aux = X[i] X[i] = X[i+1] X[i+1] = aux n = n + 1 Analisando o comportamento do algoritmo que flutua para o topo o maior elemento, pode se afirmar que se trata de qual algoritmo de ordenação? A Heapsort B Mergesort C Quicksort D Bubble sort Você assinalou essa alternativa (D) E Insertion sort Questão 9/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: Você não pontuou essa questão 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³). Você assinalou essa alternativa (C) 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). Questão 10/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: Você não pontuou essa questão A I somente. B II somente. Você assinalou essa alternativa (B) C I e II somente. D I e III somente. E II e III somente.
Compartilhar