Buscar

ESTRUTURA DE DADOS EM C

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1. 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 ); 
 } 
} 
 
 
ABDCEYX 
 ABCDEXY 
 
AEXYBCD 
 
YXEABBC 
 
CBDAXEY 
 
 
 2. Ref.: 3992763 Pontos: 1,00 / 1,00 
 
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203992678.');
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203992763.');
Acerca das estruturas de dados Árvores, analise as afirmativas a seguir. 
I. A árvore AVL é uma árvore binária com uma condição de balanço, porém não completamente 
balanceada. 
II. Árvores admitem tratamento computacional eficiente quando comparadas às estruturas 
mais genéricas como os grafos. 
III. Em uma Árvore Binária de Busca, todas as chaves da subárvore esquerda são maiores que 
a chave da raiz. 
Assinale: 
 
 
Se somente as afirmativas I e III estiverem corretas. 
 
Se todas as afirmativas estiverem corretas. 
 
Se somente as afirmativas II e III estiverem corretas. 
 Se somente as afirmativas I e II estiverem corretas. 
 
Se somente a afirmativa I estiver correta. 
 
 
 
 
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? 
 
 Realloc 
 Clear 
 Calloc 
 Malloc 
 Free 
 
 
 4. Ref.: 3990824 Pontos: 1,00 / 1,00 
 
Com relação à struct, é correto afirmar que: 
 
 Cada elemento da struct é denominado membro ou campo, sendo que 
a struct pode armazenar elementos de tipos diferentes ou não. 
 Cada elemento da struct é chamado componente. 
 Cada elemento da struct é chamado campo e cada campo 
deve ser, obrigatoriamente, de um tipo de dados distinto de outro 
campo. 
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203990821.');
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203990824.');
 A struct é sempre definida dentro da main. 
 Não é possível criar um vetor de structs, pois o vetor trabalha apenas 
com dados do mesmo tipo. 
 
 
 
 
ENSINEME: LISTAS, PILHAS E FILAS 
 
 
 5. Ref.: 3990863 Pontos: 1,00 / 1,00 
 
Considere uma lista circular simplesmente encadeada com "n" elementos. 
Após "n - 1" remoções realizadas no final da lista podemos afirmar que: 
 
 O primeiro elemento estará apontando para o nulo. 
 A lista restante será duplamente encadeada. 
 A lista estará vazia. 
 O primeiro elemento estará apontando para si mesmo. 
 A lista restante não será mais uma lista circular. 
 
 
 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: 
 
 Fila e Fila 
 Pilha e Fila 
 Fila e Pilha 
 Pilha e Fila duplamente encadeada 
 Pilha e Pilha 
 
 
 
 
ENSINEME: MODULARIZAÇÃO 
 
 
 7. Ref.: 3993164 Pontos: 1,00 / 1,00 
 
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203990863.');
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203990861.');
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203993164.');
Em programação de computadores uma sub-rotina pode ser uma função ou um procedimento. 
Sobre funções e procedimentos, pode-se afirmar: 
 
 
Nem função nem procedimento retornam valores. 
 Que as funções retornam um único valor e procedimentos não retornam valores. 
 
Procedimentos retornam valores do mesmo tipo recebido e função nunca retornam tipo. 
 
Funções sempre retornam valor do mesmo tipo recebido e procedimentos não. 
 
Que funções não retornam um único valor e procedimentos retornam valores. 
 
 
 8. Ref.: 3993217 Pontos: 1,00 / 1,00 
 
Assinale a alternativa correta em relação à definição de variáveis globais e locais. 
 
 
Uma variável local pode ser considerada global quando declarada no cabeçalho de uma 
sub-rotina, porém só é válida dentro da rotina à qual está declarada. 
 
Uma variável global não pode ser visível a todas as sub-rotinas hierarquicamente 
subordinadas à rotina principal. 
 Uma variável global é declarada no início do algoritmo principal de um programa, pode 
ser utilizada por qualquer sub-rotina subordinada ao algoritmo principal. 
 
As variáveis definidas como globais e locais precisam ser declaradas repetidas vezes 
dentro de cada sub-rotina. 
 
Uma variável global não pode ser utilizada por qualquer sub-rotina subordinada ao 
algoritmo principal. 
 
 
 
 
ENSINEME: ORDENAÇÃO 
 
 
 9. Ref.: 3990840 Pontos: 1,00 / 1,00 
 
É correto afirmar que: 
 
 O Selection Sort tem complexidade computacional O(n log n) 
 O buble sort é um algoritmo recursivo. 
 O Insert sort é um método de ordenação instável. 
 O buble sort é um algoritmo de ordenação instável. 
 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. 
 
 
 10. Ref.: 3990837 Pontos: 0,00 / 1,00 
 
Um método de ordenação é dito estável quando preserva a ordem original 
dos elementos da lista durante a execução. Analise as afirmativas abaixo e 
marque a opção correta. 
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203993217.');
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203990840.');
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203990837.');
1- A estabilidade não impacta na complexidade computacional teórica. 
2- A estabilidade pode impactar no tempo de execução do algoritmo uma vez 
que, em algoritmos estáveis, sequências "quase" ordenadas implicam em 
tempo de execução menor. 
3- O conceito de estabilidade é puramente teórico e não tem implicação 
prática. 
 
 1, 2 são verdadeiras e 3 é falsa. 
 Todas são verdadeiras. 
 Todas são falsas. 
 1, 2 e 3 são verdadeiras. 
 1 é verdadeira e 2 e 3 são falsas.

Continue navegando