Prévia do material em texto
Questão 1/5 - Estrutura de Dados No último tópico da AULA 2 vimos algoritmos de busca. Acerca de algoritmos de busca sequencial e binária, assinale a alternativa INCORRETA: Nota: 20.0 A Uma busca binária pode ser implementada utilizando o princípio de dividir para conquistar, e portanto, complexidade O(n²). Você acertou! O(logn) B A busca binária só funcionará com um vetor de dados já ordenado. Portanto, além de sua complexidade, existe a complexidade atrelada a uma possível ordenação prévia dos dados. C O algoritmo de busca sequencial pode ser implementado com um só laço de repetição, caracterizando O(n). D A busca sequencial poderá funcionar com um conjunto de dados ordenação ou não ordenado. E A busca binária realiza seu algoritmo de localização do dado dividindo o conjunto de dados ao meio, e comparando o valor central com o buscado. Questão 2/5 - Estrutura de Dados Uma função que implementa o algoritmo bubble sort pode ser vista abaixo. Todo o resto do algoritmo foi omitido para que analisemos somente o método de ordenação. No código, TAMANHOVETOR refere a um valor inteiro que corresponde a dimensão do vetor de dados. 1 - void BubbleSort(int vet[]) { 2 - int aux; 3 - for (int n = 1; n <= TAMANHOVETOR; n++) { 4 - for (int i = 0; i < (TAMANHOVETOR - 1); i++) { 5 - if (vet[i] < vet[i + 1]) { 6 - aux = vet[i]; 7 - vet[i] = vet[i + 1]; 8 - vet[i + 1] = aux; 9 - } } } } Acerca deste algoritmo, assinale a alternativa CORRETA: Nota: 20.0 A Na linha 5, o sinal de MENOR está incorreto. O algoritmo do bubble sort deve apresentar um sinal de MAIOR nesta linha. Tanto faz o sinal. Invertendo sinal inverte a forma como irá ordenar, o que não caracteriza um erro. B Não é possível substituir os laços de repetição do tipo PARA (FOR) por um laço do tipo REPITA (DO-WHILE). É possível implementar com qualquer laço de repetição. C Não é possível substituir os laços de repetição do tipo PARA (FOR) por um laço do tipo ENQUANTO (WHILE). É possível implementar com qualquer laço de repetição. D Na linha 3, seria possível fazer a variável n iniciar em zero e terminar em (TAMANHOVETOR-1) Você acertou! CORRETO. AULA 2 – TEMA 2 e conceitos básicos de programação e algoritmos. E A variável chamada de aux neste código tem como objetivo armazenar temporariamente o vetor de dados completo, para posteriormente ser ordenado. Ela serve para ajudar na troca individual de cada elemento. Questão 3/5 - Estrutura de Dados No terceiro assunto de nossa disciplina estudamos uma nova estrutura de dados denominada de LISTA ENCADEADA. Um tipo de lista encadeada é a chamada de LISTA ENCADEADA DUPLA, ou LISTA DUPLAMENTE ENCADEADA. Acerca de listas encadeadas simples, assinale a alternativa CORRETA: Nota: 20.0 A Uma lista encadeada dupla só permite a inserção no início desta lista. Permite em qualquer posição. B Uma lista encadeada dupla conterá, em cada elemento, dois ponteiros de endereços. Um endereço corresponderá ao primeiro elemento da lista e o outro endereço ao último elemento dalista. Um endereço é do elemento imediatamente subsequente e do anterior, e não do primeiro e último. C Uma lista encadeada dupla circular conterá em seu último elemento, o endereço do primeiro elemento da lista. E conterá no seu primeiro elemento, o endereço do último elemento da lista. Fechando dois círculos. Você acertou! CORRETO. D Os dados de uma lisa dupla podem ser acessados mais rapidamente que uma simples, devido ao emprego de um ponteiro a mais. Os ponteiros nada impactam no tempo de acesso da lista. E Uma lista encadeada dupla ocupa o dobro de memória do programa em relação a uma lista simples, pois precisa armazenar duas vezes os dados de cada elemento. O fato de existir um ponteiro a mais não impacta significativamente a ponto de dobra o uso de memória. Questão 4/5 - Estrutura de Dados No terceiro assunto de nossa disciplina estudamos uma nova estrutura de dados denominada de LISTA ENCADEADA. Acerca de listas encadeadas, assinale a alternativa CORRETA: Nota: 20.0 A Uma lista encadeada trabalha com alocação sequencial na memória. De maneira similar a uma estrutura de dados do tipo vetor. Uma lista é não sequencial. B Uma lista encadeada trabalha com o conceito de índice. Ou seja, podemos acessar qualquer posição da lista usando o seu índice como referência. Não existe o conceito de índice em uma lista encadeada. C O acesso a qualquer dado em uma lista pode ser feito com a mesma eficiência em tempo de execução, caracterizando uma complexidade de acesso aos dados como O(1). Complexidade de acesso é O(n). D Podemos localizar o próximo elemento da lista encadeada através do uso de uma variável que armazena o endereço do próximo elemento da lista. Você acertou! CORRETO. Basta usar uma variável do tipo ponteiro. E Cada elemento de uma lista encadeada só poderá armazenar dados do tipo numérico. Não é permitido o uso de dados do tipo caractere ou lógico, por exemplo. Qualquer tipo de dados é permitido. Questão 5/5 - Estrutura de Dados No terceiro assunto de nossa disciplina estudamos estruturas de dados que se comportam como uma FILA. Acerca de FILAS, assinale a alternativa CORRETA: Nota: 20.0 A Uma fila onde o primeiro elemento é o 66, o segundo é o 33 e o terceiro é o 99. Inserir na fila significaria inserir um elemento que aponte para o valor 66. Inseriria depois do valor 99 (inserção no final da fila). B Em uma fila, podemos ter a inserção dos dados início desta fila. Inserção somente no final. C Em uma fila, podemos ter a remoção dos dados final ou no meio desta fila. Remoção somente no início. D Em uma fila trabalhamos com o conceito de: “o primeiro que entra é o primeiro que sai”. Você acertou! Correto. FIFO. E Uma fila onde o primeiro elemento é o 66, o segundo é o 33 e o terceiro é o 99. Remover da fila significaria remover o elemento 99. Removeria o 66 (remoção no início da fila).