Baixe o app para aproveitar ainda mais
Prévia do material em texto
ATIVIDADE 2 (A2) – ESTRUTURA DE DADOS 0 em 1 pontos A complexidade de um algoritmo pode ser calculada por meio da complexidade temporal e espacial, sendo na primeira o cálculo do tempo que as instruções levam para serem executadas (utilizando as funções), e na sequência, o espaço na memória que o algoritmo utiliza. Assinale a alternativa correta que descreva o algoritmo de ordenação que contêm como complexidade O( n 2) para o melhor caso, médio caso e pior caso. Resposta Selecionada: Incorreta . Bubble Sort. Resposta Correta: Correta .Selection Sort. Feedback da resposta: Sua resposta está incorreta. O Algoritmo é estável, não alterando a ordem de dados iguais e organiza os elementos assim que os recebe, sem necessitar organizar depois de receber todos os dados. Porém, como desvantagem, esse algoritmo possui o custo de movimentação elevado para ordenar os elementos do array. Pergunta 2 1 em 1 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: Correta . O(n²). Resposta Correta: 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 3 1 em 1 pontos O método de ordenação Quick Sort, é classificado como um método complexo e não estável. Nesse algoritmo se faz necessária a escolha de um elemento como pivô. Utilize esse algoritmo para ordenar um array unidimensional, contendo os números [5,2,9,6,3] em ordem crescente. Considere o número 9 e, na sequência, o número 3 como pivô. Assinale a alternativa a seguir que apresente a quantidade de trocas que serão realizados para ordenar o array utilizando o algoritmo Quick Sort. Resposta Selecionada: Correta . 3 trocas. Resposta Correta: Correta . 3 trocas. Feedback da resposta: Resposta correta. O algoritmo utiliza a estratégia dividir para conquistar e quando ele vai reorganizando os dados ocorre a troca dos elementos com o pivô. Pergunta 4 1 em 1 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: Correta . bubble sort, selection sort, merge sort, quick sort. Resposta Correta: 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 5 1 em 1 pontos Para descobrir se um algoritmo de ordenação é eficiente, existe uma função que pode ser calculada, essa função é chamada de complexidade de algoritmo. Assim, cada algoritmo possui uma função para representar a sua complexidade, que pode ser analisada em vários cenários, como o melhor caso, médio caso e pior caso. Considere um array com 1000 elementos. Levando em conta que todos os elementos estão organizados de forma decrescente. Para ordenar esse array em ordem crescente utilizando o método Bubble Sort, assinale a alternativa que contem a complexidade para essa ordenação. Resposta Selecionada: Correta . O(n²). Resposta Correta: Correta . O(n²). Feedback da resposta: Resposta correta. Bubble-Sort é um dos métodos mais difundidos. A sua interação se limita em percorrer n vezes o array do início ao fim, sem interrupção, trocando a posição dos elementos sempre que estiverem desordenados. Pergunta 6 1 em 1 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: Correta . O(n). Resposta Correta: 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 7 0 em 1 pontos Em aplicações encontramos problemas que muitas vezes precisam ser ordenados, essa ordenação facilita o tempo de resposta das aplicações. Ordenar pode ser, organizar os números em ordem crescente ou decrescente, organizar nomes em ordem alfabética, entre outros. Para organizar os elementos de uma forma eficiente se faz necessária a utilização de métodos como os algoritmos de ordenação. Assim, analise as afirmativas a seguir. I. Faz uma analogia do método com o modo que algumas pessoas ordem cartas de baralho em jogo. II. Método de ordenação mais complexo, possui a estratégia dividir para conquistar e seleciona um pivô para auxiliar na ordenação dos elementos. III. O algoritmo irá percorrer o array comparando todos os elementos até encontrar o menor elemento e alocar na posição inicial do array IV. A interação do método se limita em percorrer diversas vezes o array do início ao fim, sem interrupção, trocando a posição de dois elementos sempre que estiverem desordenados As afirmativas apresentam diferentes possibilidades de sequências, sendo apenas uma alternativa correta: Resposta Selecionada: Incorreta . Insertion-Sort, Selection-Sort, Merge_Sort, Bubble-Sort. Resposta Correta: Correta .Insertion-Sort, Selection-Sort, Quick_Sort, Bubble-Sort. Feedback da resposta: Sua resposta está incorreta. Existem métodos de ordenação mais simples e cada um possui caraterísticas diferentes para resolver problemas. No qual cada algoritmo possui uma complexidade pelo modo que o algoritmo opera. Revise as diferenças de cada método na apostila. Pergunta 8 1 em 1 pontos O método de ordenação abaixo, é um algoritmo mais complexo e “utiliza a estratégia dividir 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. Resultado de imagem para quick sort 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: Correta . Quick Sort. Resposta Correta: Correta .Quick Sort. Feedback da resposta: Resposta correta. Um dos conceitos do algoritmo é escolher um elemento qualquer (a critério do programador), no qual será o pivô. A partir desse pivô o array será organizado, utilizando a estratégia “dividir para conquistar”. Pergunta 9 1 em 1 pontos As estruturas de dados são aplicadas aos algoritmos para melhorar o tempo de execução nas aplicações. Cada método de ordenação possui um conceito e uma forma de manipular os dados. O método utilizado no algoritmo abaixo é eficiente para resolver problemas com poucos dados e a sua complexidade é O (n) no melhor caso e O (n 2) no pior caso. Analise o código abaixo sobre o método de ordenação citado acima. Qual a alternativa que corresponde aos conceitos de ordenação descritos acima e ao código na imagem representam o algoritmo de ordenação: Resposta Selecionada: Correta . Insertion Sort. Resposta Correta: Correta . Insertion Sort. Feedback da resposta: Resposta correta. O algoritmo é estável, mas possui um alto custo de movimentação dos elementosdo array. Pergunta 10 1 em 1 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: Correta . Merge Sort. Resposta Correta: 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
Compartilhar