Estrutura de Dados
Forums › MATERIAL DE ESTUDO › Atividades › Estrutura de Dados
-
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
Assinale a alternativa que corresponde ao funcionamento método de ordenação mostrado na imagem acima.
Resposta Correta:
Quick Sort.
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 Correta:
3 trocas.
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 desordenadosAs afirmativas apresentam diferentes possibilidades de sequências, sendo apenas uma alternativa correta:
Resposta Correta:
Insertion-Sort, Selection-Sort, Quick_Sort, Bubble-Sort.
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.
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.
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).
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²).
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 Correta:
Melhor caso: O (n log n)
Pior caso: O (n log n).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 n2 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 Correta:
V, F, V, F.
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 (n2) 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.Julgue e assinale se as afirmativas acima são verdadeiras (V) ou falsas (F).
Resposta Correta:
V, F, V, F.
Para a definição de um nó em uma árvore, precisamos, inicialmente, encapsular a informação armazenada em um novo tipo de dado, ou seja, em uma nova classe Java. Isto é possível por meio da declaração dos atributos na classe, que nada mais são do que variáveis presentes em todos os objetos de determinado tipo.
Os atributos são variáveis, posições na memória do computador que podem armazenar dados, formadas por quatro elementos: nome, tipo, tamanho e valor. Na linguagem Java, é possível, ainda, definir um modificador de visibilidade se a variável for um atributo da classe, sendo os valores permitidos public, private, protected
ou default.A figura a seguir, por exemplo, traz a declaração de uma classe “Pergunta”, com três atributos: texto da pergunta, alternativas e dicas sobre como responder. Observe.
Sendo assim, assinale a alternativa a seguir que contém a inicialização correta do atributo “opcoesResposta” com cinco opções em um objeto do tipo “Pergunta” na linguagem Java.
Resposta Correta:
.String[] opcoesPergunta = {“A”, “B”, “C”, “D”, “E”};.
Em estruturas de dados, de forma geral, tão importante quanto o armazenamento dos dados, é necessário definir um conjunto mínimo de métodos que operam sobre eles. No caso de uma árvore binária, um método utilitário muito comum é aquele que verifica se a árvore está vazia.
Veja com atenção a definição do método “ehVazia” a seguir, que recebe como parâmetro o nó raiz da árvore.
Considerando a implementação anterior, assinale a alternativa que relata corretamente o que acontece com o programa se for removido o comando “return true;”.
Resposta Correta:
.O programa não compilará.
Sabemos que uma árvore binária de busca deve ser construída de forma que a seguinte regra seja preservada: o nó filho da esquerda de um nó raiz deve ser menor que o nó raiz por determinada chave; e o nó filho da direita deve ser sempre maior que o nó raiz. A relação de maior ou menor pode ser atribuída pelo valor da informação no nó ou por meio da definição de um atributo-chave do nó, o qual será utilizado como comparativo.
Dessa forma, considere a árvore binária de busca na sequência.
Com base na figura anterior, qual é o nome do método de percurso em árvore que geraria a seguinte sequência de caracteres como saída: {A, B, C, D, E, F, G}?
Resposta Correta:
.Ordem simétrica.
Um método de busca que pode ser aplicado em uma árvore binária de busca é denominado pós-ordem. Este algoritmo pode ser enunciado a partir de três passos: percorrer a subárvore da esquerda em pós-ordem, percorrer a subárvore da direita em pós-ordem e visitar o nó raiz.
Considere, então, a seguinte árvore binária de busca construída com valores numéricos.
De acordo com a definição anterior, com base na figura retratada, qual é a sequência dos nós visitados em pós-ordem?
Resposta Correta:
.1, 4, 2, 6, 9, 8, 5.
O termo “árvore”, da vida real, pode ser associado ao tipo de estrutura de dados em certos aspectos. Ambos têm um elemento raiz de onde saem todos os galhos ou as conexões para os nós da árvore. Estes, por sua vez, podem ser entendidos como partes da árvore que podem se desmembrar em mais partes, formando o que chamamos de “subárvores” de uma árvore.
Dessa forma, em relação ao tipo de árvore denominada binária, podemos afirmar que:
Resposta Correta:
.um nó de uma árvore binária pode ter 0, 1 ou 2 filhos, no máximo.
You must be logged in to reply to this topic.