Baixe o app para aproveitar ainda mais
Prévia do material em texto
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 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 3 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 4 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 5 1 em 1 pontos A complexidade de um algoritmo é calculada por meio da complexidade temporal e espacial, sendo na primeira o cálculo do tempo que as instruções levam para serem executadas em uma aplicação (utilizando as funções), e na sequência, o espaço na memória que o algoritmo utiliza enquanto é executado. Existem algoritmos que necessitam de muito mais espaço, como o Algoritmo _____________. Assinale a alternativa que complete o nome de algoritmo que exige mais espaço na memória. Resposta Selecionada: . Merge Sort. Resposta Correta: . Merge Sort. Feedback da resposta: Resposta correta. Um algoritmo estável, muito indicado para organizar uma grande quantidade de dados, com um desempenho de (n log n) para todos os casos. Sendo muito eficiente quando levamos em conta o tempo de execução do algoritmo. Pergunta 6 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 7 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. Pergunta 8 1 em 1 pontos O método de ordenação Bubble Sort , também conhecido como método bolha, é classificado como um método simples e também um dos métodos mais utilizados. Utilize esse algoritmo para ordenar um array unidimensional, contendo os números [6,5,0,3,2] em ordem crescente. Assinale a alternativa a seguir que apresente a quantidade de comparações e trocas que serão realizados para ordenar o array utilizando o algoritmo Bubble Sort . Resposta Selecionada: .10 comparações e 8 trocas. Resposta Correta: .10 comparações e 8 trocas. Feedback da resposta: Resposta correta. O algoritmo Bubble Sort se limita em percorrer n vezes os elementos do array do início ao fim, sem interrupção, trocando a posição dos elementos sempre que estiverem desordenados. Pergunta 9 0 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: . Quick Sort. Resposta Correta: . Selection Sort. Feedback da resposta: Sua resposta está incorreta. O Algoritmo é estável, não alterando a ordem dos dados quando possuem o mesmo valor. Esse algoritmo também organiza os elementos assim que os recebe, sem precisar que todos os elementos estejam armazenados. Pergunta 10 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. Terça-feira, 26 de Maio de 2020 20h29min05s BRT
Compartilhar