Prévia do material em texto
AGRADEÇO SEU ACESSO! CLICA NO JOINHA LA EM CIMA E CONTINUE NOS INCENTIVANDO • Pergunta 1 1 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: . Insertion-Sort, Selection-Sort, Quick_Sort, Bubble-Sort. Resposta Correta: .Insertion-Sort, Selection-Sort, Quick_Sort, Bubble-Sort. Feedback da resposta: Resposta correta. Existem vários métodos que são utilizados para ordenar, alguns mais simples e outros mais complexos. Esses métodos são estrutura de dados e a utilização de métodos corretos nos algoritmos faz com que aumente a eficiência das aplicações. • Pergunta 2 1 em 1 pontos Existem estruturas de dados com métodos específicos para ordenação. Os conceitos dessas estruturas são aplicados 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. Assim, analise o código abaixo: Qual a alternativa que corresponde aos conceitos de ordenação do pseudocódigo (imagem) acima: Resposta Selecionada: . Bubble Sort. Resposta Correta: .Bubble Sort. Feedback da resposta: Resposta correta. O algoritmo 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. • Pergunta 3 1 em 1 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. • Pergunta 4 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: . 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 5 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: . 3 trocas. Resposta 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 6 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: . Merge Sort. Resposta 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 7 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. Fonte: https://images.deepai.org/glossary- https://images.deepai.org/glossary-terms/a5228ea07c794b468efd1b7f758b9ead/Quicksort.png terms/a5228ea07c794b468efd1b7f758b9ead/Quicksort.png Assinale a alternativa que corresponde ao funcionamento método de ordenação mostrado na imagem acima. Resposta Selecionada: . Quick Sort. Resposta 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 8 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: . O(n²). Resposta 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 9 1 em 1 pontos Algoritmos são desenvolvidos para facilitar a nossa vida e fornecer respostas de maneira rápida e eficiente. Podemos descrever a complexidade que um algoritmo possui analisando as funções existentes no código. O algoritmo Quick Sort possui complexidade ______________ no melhor caso, ___________ no caso médio e _____________ no pior caso. Assinale a alternativa que imprima a complexidade dos algoritmos na ordem correta. Resposta Selecionada: .O (n log n), O (n log n), O (n 2). Resposta Correta: .O (n log n), O (n log n), O (n2). Feedback da resposta: Resposta correta. O Algoritmo Quick-Sort trabalha com eficiência e com uma base de dados grande, dividindo https://images.deepai.org/glossary-terms/a5228ea07c794b468efd1b7f758b9ead/Quicksort.png o array em pequenos arrays com base em um elemento chamado pivô. • 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: . 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 AGRADEÇO SEU ACESSO! CLICA NO JOINHA LA EM CIMA E CONTINUE NOS INCENTIVANDO