Baixe o app para aproveitar ainda mais
Prévia do material em texto
• Pergunta 1 1 em 1 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 2 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 • Pergunta 3 1 em 1 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 4 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: . 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 5 1 em 1 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 6 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 7 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: . 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 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. 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: . 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 9 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 doiní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 https://images.deepai.org/glossary-terms/a5228ea07c794b468efd1b7f758b9ead/Quicksort.png https://images.deepai.org/glossary-terms/a5228ea07c794b468efd1b7f758b9ead/Quicksort.png métodos corretos nos algoritmos faz com que aumente a eficiência das aplicações. • Pergunta 10 1 em 1 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: .F, V, V, F. Resposta Correta: .F, V, V, F. Feedback da resposta: Resposta correta. Existem algoritmos que são estáveis e outros não, esse conceito se refere ao fato do algoritmo não alterar os dados quando os mesmos são iguais.
Compartilhar