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 02/03/2022 Avaliação: 8,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. 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. Transformando essa árvore em uma nova árvore de ordem 2, as folhas teriam de estar no nível 2. 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. O percurso a percorrer nessa árvore na pré-ordem é 4 10 15 12 8. Se a árvore em tela for balanceada, depois da inserção de um nó 9, o nó 12 assume a raiz da á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; javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203992760.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203992678.'); 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 ); } } CBDAXEY ABCDEXY YXEABBC ABDCEYX AEXYBCD 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? Calloc Free Malloc Realloc 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: javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203990821.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203990822.'); homogêneos e acesso não indexado. heterogêneos e com acesso FIFO. heterogêneos e com acesso LIFO. homogêneos e de acesso aleatório por intermédio de índices. heterogêneos e com acesso indexado-sequencial. ENSINEME: LISTAS, PILHAS E FILAS 5. Ref.: 6090499 Pontos: 0,00 / 1,00 Se E (x) é uma função que insere "x" pela direita da fila F e D () é uma função que remove pela esquerda, 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). D (), D(), D(), E(R), E(A), E(O). D (), D(), D(), E(A), E(R). D (), D(), D(), E(A), E(R), E(O). D (), D(), D(), D(), E(O), E(A), E(R). 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 Pilha e Fila duplamente encadeada Pilha e Fila Fila e Pilha Fila 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() { javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%206090499.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203990861.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203993215.'); 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 São parâmetros formais na chamada da função quadrado() dentro da função main(). 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(). 8. Ref.: 3993169 Pontos: 0,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. stddef.h stdio.h assert.h math.h locale.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 de ordenação instável. O Insert sort é um método de ordenação instável. O Selection Sort tem complexidade computacional O(n log n) O buble sort é um algoritmo recursivo. 10. Ref.: 3990834 Pontos: 1,00 / 1,00 javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203993169.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203990840.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203990834.'); Algoritmos de ordenação baseados em comparação entre elementos da sequência tem complexidade computacional mínima de: O(n log n) O(log n) O(n) O(n33) O(n22)
Compartilhar