Baixe o app para aproveitar ainda mais
Prévia do material em texto
Questão 1/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 Você assinalou essa alternativa (E) Questão 2/10 - Estrutura de Dados No terceiro assunto de nossa disciplina estudamos uma nova estrutura de dados denominada de LISTA ENCADEADA. (Adaptada) Acerca de listas encadeadas, assinale a alternativa CORRETA: A Uma lista encadeada trabalha com alocação sequencial na memória. De maneira similar a uma estrutura de dados do tipo vetor. B Uma lista encadeada trabalha com o conceito de índice. Ou seja, podemos acessar qualquer posição da lista usando o seu índice como referência. C O acesso a qualquer dado em uma lista pode ser feito com a mesma eficiência em tempo de execução, caracterizando uma complexidade de acesso aos dados como O(1). D Cada elemento da lista encadeada armazena na memória não só seus dados, mas também o endereço de onde está localizado o próximo elemento na memória. Você assinalou essa alternativa (D) E Cada elemento de uma lista encadeada só poderá armazenar dados do tipo numérico. Não é permitido o uso de dados do tipo caractere ou lógico, por exemplo. Questão 3/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 4/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 5/10 - Estrutura de Dados Considere um vetor ordenado: O vetor é dividido ao meio. O número do meio é comparado com o número procurado. Se forem iguais a busca termina, senão se o número procurado é menor que o do meio, a busca é realizada no subvetor a esquerda, se é maior no subvetor a direita. O procedimento é repetido até que o vetor fique com um elemento ou se encontre o desejado. As instruções acima se referem a: A Busca (ou Pesquisa) sequencial B Busca (ou Pesquisa) Linear C Busca (ou Pesquisa) Binaria Você assinalou essa alternativa (C) D Ordenação por troca E Ordenação por seleção Questão 6/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: A Complexidade de execução e complexidade de memória B Complexidade de tempo e complexidade de espaço Você assinalou essa alternativa (B) C Complexidade de tempo e complexidade de desempenho D Complexidade de esforço e complexidade de espaço E Complexidade de tempo e complexidade de velocidade 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: 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). Você assinalou essa alternativa (A) 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). Questão 8/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 9/10 - Estrutura de Dados Considere o trecho de código abaixo: for i in range(0,n, 1): for i in range(1,n-1, 1): A[i] = B[j] Assinale a alternativa correta: A a complexidade assintótica (Big-O) é O(n). B a complexidade assintótica (Big-O) é O(n2). Você assinalou essa alternativa (B) C a complexidade assintótica (Big-O) é O(2n). D a complexidade assintótica (Big-O) ) é O(2n + 1). 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: A I somente. B II somente. C I e II somente. Você assinalou essa alternativa (C) D I e III somente. E II e III somente.
Compartilhar