Baixe o app para aproveitar ainda mais
Prévia do material em texto
Pergunta 1 0 em 0,25 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 Correta: . O(n²). 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 Correta: O(n). Pergunta 3 0,25 em 0,25 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 Correta: . Insertion Sort. Pergunta 4 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 Correta: . O(n²). Pergunta 5 0,25 em 0,25 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 Correta: Merge Sort. Pergunta 6 0,25 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 Correta: .F, V, V, F. Pergunta 7 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 Correta: . Merge Sort. Pergunta 8 0 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 Correta: . Selection Sort. Pergunta 9 0,25 em 0,25 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 Correta: .Bubble Sort. Pergunta 10 0,25 em 0,25 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 Correta: .O (n log n), O (n log n), O (n2).
Compartilhar