Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina: ESTRUTURA DE DADOS EM C AV Aluno: Professor: MAURO CESAR MATIAS Turma: 9001 EEX0059_AV_ (AG) 21/02/2022 09:43:38 (F) Avaliação: 9,0 Nota Partic.: Av. Parcial.: 2,0 Nota SIA: 10,0 pts ENSINEME: ÁRVORES 1. Ref.: 3992760 Pontos: 1,00 / 1,00 Considerando a figura acima, que ilustra uma árvore de busca binária, assinale a opção correta. O percurso a percorrer nessa árvore na pré-ordem é 4 10 15 12 8. Transformando essa árvore em uma nova árvore de ordem 2, as folhas teriam de estar no nível 2. Se a árvore em tela for balanceada, depois da inserção de um nó 9, o nó 12 assume a raiz da árvore. Se a árvore em questão não for balanceada, então, com a remoção do nó 8, o nó 12 deve assumir a raiz da árvore. Se a referida árvore for balanceada, a inserção de um nó 5 fará que ele tome o lugar do nó 4, passando a ser o nó 5 a raiz da subárvore. 2. Ref.: 3992678 Pontos: 1,00 / 1,00 Ano: 2018 Banca: Avança SP Órgão: Escola de Formação Complementar do Exército - EsFCEx Prova: CFO - Informática A estrutura abaixo representa uma célula de uma árvore em linguagem C; typedef struct _no { int chave; struct _no *esq, *dir; } no; Assinale a alternativa correta sobre qual sequência será impressa ao executar um caminhamento na árvore abaixo, conforme o código escrito em linguagem C a seguir: void ordem (no *arvore) { if (arvore != NULL) { printf ( ¿%d¿, arvore -> chave); ordem ( arvore -> esq ); ordem ( arvore -> dir ); } } YXEABBC ABDCEYX AEXYBCD CBDAXEY ABCDEXY ENSINEME: ESTRUTURAS DE DADOS HETEROGÊNEAS 3. Ref.: 3990821 Pontos: 1,00 / 1,00 A linguagem C permite alocar (reservar) dinamicamente (em tempo de execução) blocos de memórias utilizando ponteiros. A esse processo dá-se o nome de alocação dinâmica, que faz uso das funções malloc, calloc, realloc e free, disponíveis na biblioteca stdlib.h. Para liberar um bloco de memória previamente alocado, por meio de um único parâmetro de entrada, faz-se uso de qual função? Malloc Realloc Free Calloc Clear 4. Ref.: 3990822 Pontos: 1,00 / 1,00 Considere uma estrutura de dados do tipo vetor. Com respeito a tal estrutura, é correto que seus componentes são: heterogêneos e com acesso FIFO. homogêneos e de acesso aleatório por intermédio de índices. homogêneos e acesso não indexado. heterogêneos e com acesso indexado-sequencial. heterogêneos e com acesso LIFO. ENSINEME: LISTAS, PILHAS E FILAS 5. Ref.: 3990866 Pontos: 1,00 / 1,00 Se E (x) é uma função que enfileira "x" pela direita da fila F e D () é uma função que desenfileira, a opção que mostra a sequência correta de operações que transforma a fila F = [ A, R, G, O, M ] em F = [ O, M, A, R ] é: D (), D(), D(), D(), E(R), E(A), E(O). E(A), E(R), D (), D(), D(). D (), D(), D(), E(R), E(A), E(O). D (), D(), D(), D(), E(O), E(A), E(R). D (), D(), D(), E(A), E(R), E(O). 6. Ref.: 3990861 Pontos: 1,00 / 1,00 A maioria dos softwares de aplicação possui comandos de "Desfazer" e "Refazer". O primeiro desfaz a última operação ou texto digitado, enquanto que, o segundo refaz uma operação ou texto desfeito, conforme sugerem os nomes dos comandos. Internamente, nos softwares, podem ser usadas duas estruturas de dados que armazenam as sucessivas operações de "Desfazer" e "Refazer", de modo que o próximo "Refazer" sempre recupera o último "Desfazer". Os tipos de estrutura de dados que podem ser usados para "Desfazer" e "Refazer" são, respectivamente: Pilha e Pilha Fila e Fila Fila e Pilha Pilha e Fila duplamente encadeada Pilha e Fila ENSINEME: MODULARIZAÇÃO 7. Ref.: 3993215 Pontos: 1,00 / 1,00 Observe o trecho de código abaixo, escrito na linguagem C. void quadrado(float *r, float *t); int main() { float a, b; printf("Entre com um numero complexo (2 numeros inteiros):"); scanf("%f %f", &a, &b); quadrado(&a, &b); printf("O quadrado do numero e %f + i %f\n", a, b); } Com base nesse código, é correto afirmar que as variáveis a e b Indicam, quando precedidas pelo caracter &, que os parâmetros podem ser modificados pelas funções scanf() e quadrado(). Não podem ser modificadas pela função quadrado(), porque a passagem de parâmetros é por valor. Podem ser modificadas pela função printf(), porque a passagem de parâmetros é por valor. São utilizadas como passagem de parâmetros por resultado na função printf(). São parâmetros formais na chamada da função quadrado() dentro da função main(). 8. Ref.: 3993169 Pontos: 1,00 / 1,00 Na linguagem de programação em C, as funções permitem a criação de programas em módulos, em que todas as variáveis, que são descritas nas definições de função, são locais, pois são conhecidas apenas na função em que são definidas. Cada biblioteca‐padrão tem um cabeçalho que contém os protótipos de função para todas as funções nessa biblioteca, assim como definições de vários tipos de dados e constantes que são necessárias para estas funções. Uma dessas bibliotecas tem a seguinte explicação: contém as definições comuns de tipo usadas pela C para realizar cálculos. Assinale‐a. math.h stdio.h locale.h stddef.h assert.h ENSINEME: ORDENAÇÃO 9. Ref.: 3990840 Pontos: 1,00 / 1,00 É correto afirmar que: O buble sort, o insert sort e o selection sort tem a mesma complexidade computacional, porém, isto não quer dizer que todos executem ao mesmo tempo para a mesma instância. O buble sort é um algoritmo recursivo. O Selection Sort tem complexidade computacional O(n log n) O buble sort é um algoritmo de ordenação instável. O Insert sort é um método de ordenação instável. 10. Ref.: 3990834 Pontos: 0,00 / 1,00 Algoritmos de ordenação baseados em comparação entre elementos da sequência tem complexidade computacional mínima de: O(n33) O(n) O(n22) O(log n) O(n log n)
Compartilhar