Baixe o app para aproveitar ainda mais
Prévia do material em texto
Revisar envio do teste: ATIVIDADE 2 Usuário JOSEMAR SOUSA DE SA Curso GRA0246 ESTRUTURA DE DADOS PNA (ON) - 201920.29769224.06 Teste ATIVIDADE 2 Iniciado 04/09/19 10:44 Enviado 11/09/19 21:48 Status Completada Resultado da tentativa 2 em 2,5 pontos Tempo decorrido 179 horas, 4 minutos Resultados exibidos Respostas enviadas, Respostas corretas, Comentários Pergunta 1 0,25 em 0,25 pontos Cada algoritmo possui uma complexidade para resolver problemas, no qual é analisado as funções implementadas no algoritmo. Assinale a complexidade do caso médio do algoritmo de ordenação Insertion-Sort. Resposta Selecionada: . O(n²). Resposta Correta: . O(n²). Feedback da resposta: Resposta correta. O Algoritmo tem como vantagem ser estável, no qual não altera a ordem dos dados iguais e pode organizar os elementos assim que os recebe, como quando uma pessoa está organizando as cartas em um jogo de baralho Pergunta 2 0,25 em 0,25 pontos A complexidade de um algoritmo se dá por meio das funções que são implementadas no código. Cada laço de repetição aumenta o tempo de execução da aplicação. Assinale a complexidade do melhor caso do algoritmo de ordenação Bubble Sort. Resposta Selecionada: . O(n). Resposta Correta: . O(n). Feedback da resposta: Resposta correta. O Algoritmo é um método mais simples, de fácil implementação e apesar da sua eficiência diminuir `a medida que os dados aumentam, ainda é um dos algoritmos mais utilizados para ordenação. Pergunta 3 0,25 em 0,25 pontos Os algoritmos de ordenação foram desenvolvidos para auxiliar na ordenação e com isso melhor a eficiente de busca dos sistemas. O algoritmo na imagem abaixo está percorrendo o array comparando todos os elementos até encontrar o menor elemento. Encontrando o menor elemento, o algoritmo irá posicioná-lo na posição inicial do array. A imagem abaixo está descrevendo o pseudocódigo de um algoritmo específico. Analise os conceitos descritos acima e a imagem. Assinale a alternativa que corresponde aos conceitos e ao código acima: Resposta Selecionada: . Selection Sort. Resposta Correta: . Selection Sort. Feedback da resposta: Resposta correta. O Algoritmo é estável, no qual não altera a ordem dos dados iguais e pode organizar os elementos assim que os recebe, sem necessitar organizar depois de receber todos os dados. Pergunta 4 0,25 em 0,25 pontos Um algoritmo é uma sequência de passos que resolve algum problema ou alcança algum objetivo. E uma estrutura de dados definem como as informações serão organizadas na memória. Existem métodos ordenação que reduz o uso de memória e outros que aumentam o volume de memória utilizado. Sendo assim, analise a alternativa do método que possui como desvantagem um gasto extra de espaço de memória. Resposta Selecionada: . Merge Sort. Resposta Correta: . Merge Sort. Feedback da resposta: Resposta correta. O Algoritmo é estável, no qual não altera a ordem de dados iguais, e é indicado para aplicações que possuem restrição de tempo. Porém, uma grande desvantagem é possuir um gasto extra de espaço de memória Pergunta 5 0,25 em 0,25 pontos Algoritmos de ordenação são exemplos de algoritmos desenvolvido para solucionar de forma mais rápida e eficiente alguns problemas com o auxílio de um computador. Existem diversos métodos que podem ser utilizados, cada método tem procedimentos distintos para resolver uma determinada tarefa. Assinale a alternativa a seguir que pode ser considerados métodos de ordenação? Resposta Selecionada: . bubble sort, selection sort, merge sort, quick sort. Resposta Correta: .bubble sort, selection sort, merge sort, quick sort. Feedback da resposta: Resposta correta. Existem vários algoritmos de ordenação, alguns mais simples e outros mais sofisticados. Os métodos mais simples são mais adequados para organizar poucos dados, diferente dos mais sofisticados que são mais complexos e organizam uma quantidade de dados maior de forma mais eficiente. Pergunta 6 0,25 em 0,25 pontos Existem algoritmos de ordenação mais complexos e algoritmos mais simples de implementar. Os algoritmos Merge e Quick são considerados algoritmos complexos, sendo mais eficientes e executam as aplicações em tempo menor que os algoritmos mais simples. Analise as afirmativas abaixo sobre os algoritmos de ordenação: I. Os métodos Quick Sort e Merge Sort utilizam a estratégia dividir para conquistar. II. O método de ordenação Quick Sort aloca o maior elemento para o final do array para garantir que os dados fiquem em ordem decrescente. III. No pior caso, o algoritmo bolha executa n 2 operações para ordenar um array de n elementos. IV. O algoritmo de ordenação por inserção possui o menor número de trocas quando o array está ordenado de forma inversa à ordem do procedimento. Julgue e assinale se as afirmativas acima são verdadeiras (V) ou falsas (F). Resposta Selecionada: . V, F, V, F. Resposta Correta: . V, F, V, F. Feedback da resposta: Resposta correta. Tanto o Merge quanto o Quick possuem no melhor caso e no médio caso a complexidade O (n log n). Porém o Quick no pior caso não é tão eficiente quanto o Merge. Pergunta 7 0 em 0,25 pontos A tarefa de obter uma expressão matemática para avaliar o tempo de execução de um algoritmo não é simples, mesmo considerando-se uma expressão aproximada (SZWARCFITER, Jayme Luiz; MARKENZON, Lilian. Estruturas de Dados e seus Algoritmos . 3. ed. Rio de Janeiro: Ltc, 2010). As expressões são representadas por meio de funções, no qual podemos descobrir a complexidade do algoritmo. Desta forma, analise as afirmativas abaixo. I. O algoritmo Bubble Sort não é um algoritmo estável. II. O algoritmo Bublle Sort , possui complexidade O ( n ) para o melhor caso e O ( n 2 ) para o pior caso. III. O algoritmo Quick Sort possui complexidade O ( n log ( n )) para o melhor caso. IV. O algoritmo Quick Sort é um algoritmo estável. Julgue e assinale se as afirmativas acima são verdadeiras (V) ou falsas (F). Resposta Selecionada: Resposta Correta: .F, V, V, F. Feedback da resposta: Sua resposta está incorreta. A estabilidade se dá quando um algoritmo em sua execução não altera os dados quando são iguais. Um exemplo de algoritmo estável é o Insertion-Sort, porém esse algoritmo não é o único algoritmo estável que aprendemos na apostila. Pergunta 8 0,25 em 0,25 pontos O algoritmo Merge-Sort, faz o uso da estratégia dividir para conquistar. Assim, sua ideia é dividir o conjunto de dados em subconjuntos, reorganiza cada subconjunto e depois intercala os resultados. De acordo com o método descrito, assinale a alternativa que descreva a complexidade do algoritmo no melhor caso e no pior caso Resposta Selecionada: Melhor caso: O (n log n) Pior caso: O (n log n). Resposta Correta: Melhor caso: O (n log n) Pior caso: O (n log n). Feedback da resposta: Resposta correta. Apesar de possuir um gasto extra de espaço de memória, o algoritmo é indicado para aplicações que possuem restrição de tempo. Podemos observar isso pela sua complexidade. Pergunta 9 0 em 0,25 pontos O método de ordenação abaixo, é um algoritmo mais complexo e “utiliza a estratégiadividir para conquistar. Assim, a sua ideia é escolher um elemento qualquer chamado pivô, e a partir desse pivô o array é organizado”. (ZIVIANI, Nivio. Projeto de Algoritmos: com implementações em JAVA e C++. Cengage Learning Editores, 2012.). Analise a imagem abaixo. Fonte: https://images.deepai.org/glossary-terms/a5228ea07c794b468efd1b7f758b9ead/Quicksort.png Assinale a alternativa que corresponde ao funcionamento método de ordenação mostrado na imagem acima. Resposta Selecionada: Resposta Correta: .Quick Sort. Feedback da resposta: Sua resposta está incorreta. Existe um método descrito na Unidade 2 que trabalha com o conceito de pivô. O algoritmo escolhe um elemento para ser pivô e depois reorganiza o array de maneira que os elementos menores que o pivô fiquem a sua esquerda e os elementos maiores fiquem a sua direita, como apresenta a imagem acima. Pergunta 10 0,25 em 0,25 pontos Ordenar “corresponde ao processo de rearranjar um conjunto de objetos em ordem ascendente ou descendente. O objetivo principal da ordenação é facilitar a recuperação posterior de itens do conjunto ordenado”. (ZIVIANI, Nivio. Projeto de Algoritmos: com implementações em JAVA e C++. Cengage Learning Editores, 2012). Analise as afirmativas abaixo sobre os conceitos de algoritmos de ordenação. I. Uma vantagem de entender os métodos de ordenação por meio do pseudocódigo faz a transformação do algoritmo para linguagens de programação torna atividade mais simples. II. O algoritmo Bublle Sort, possui complexidade O ( n -1) para o melhor caso e O ( n 2) para o pior caso. III. O algoritmo Quick Sort é baseado no fato de que as interações devem ser preferencialmente empregadas para pares de elementos que guardem entre si distâncias grandes, com a finalidade de se conseguir uma eficiência maior. IV. O algoritmo Selection Sort, possui complexidade O ( n) em todos os casos de complexidade, ou seja, melhor caso, médio caso e pior caso. (F) Julgue e assinale se as afirmativas acima são verdadeiras (V) ou falsas (F). Resposta Selecionada: .V, F, V, F. Resposta Correta: .V, F, V, F. Feedback da resposta: Resposta correta. Podemos utilizar código mais simples para representar conceitos, ou utilizar formas genéricas de escrever um algoritmo, utilizando uma linguagem simples. Quarta-feira, 11 de Setembro de 2019 21h48min56s BRT
Compartilhar