Questão 1/5 - Estrutura de Dados
Chamamos de análise assintótica de algoritmos quando encontramos a complexidade de um algoritmo de maneira aproximada através de uma curva de tendência. Este tipo de análise e é a mais adotada para compararmos desempenho de algoritmos.
Acerca da análise assintótica de um algoritmo, assinale a alternativa INCORRETA:
|
A |
Um algoritmo com três laços de repetição não encadeados contém uma complexidade assintótica, para o pior caso, O(n). |
|
B |
Na análise assintótica, fazemos o conjunto de dados de entrada da função custo tender ao infinito, mantendo na equação somente o termo de maior grau, ou seja, aquele que mais cresce na equação. |
|
C |
Um algoritmo com três laços de repetição aninhados contém uma complexidade assintótica, para o pior caso, O(n³). |
|
D |
A complexidade assintótica para o pior caso, também conhecida como BigO, representa o pior cenário para um algoritmo, ou seja, quando mais instruções precisam ser executadas, levando mais tempo para finalizar a execução. |
|
E |
A complexidade assintótica para o pior caso de um algoritmo contendo dois laços de repetição aninhados, sendo que o segundo laço só será executado caso uma condicional simples seja verdadeira, será O(n). |
Questão 2/5 - Estrutura de Dados
O algoritmo de ordenação rápida, também conhecido como quick sort, é um dos algoritmos estudados na AULA 2.
Acerca deste algoritmo, assinale a alternativa CORRETA.
|
A |
A complexidade do quick sort é O(n²). Isso significa que ele sempre terá a mesma eficiência de um bubble sort. |
|
B |
O quick sort trabalha com o conceito de pivô, que é o elemento usado nas comparações, comparando sempre o seu valor com todos os valores do lado direito do pivô, enquanto que o lado esquerdo permanece já ordenado. |
|
C |
O quick sort trabalha com o conceito de pivô, que é o elemento usado nas comparações, comparando sempre o seu valor com todos os valores do lado esquerdo do pivô, enquanto que o lado direito permanece já ordenado. |
|
D |
O quick sort trabalha com uma troca de valores utilizando uma variável auxiliar, da mesma maneira feita no bubble sort. |
|
E |
O quick sort só pode ser executado para um tamanho de conjunto de dados máximo igual a 1000, pois mais do que isso o uso de memória pelo algoritmo é muito grande. |
O algoritmo de ordenação por intercalação, também conhecido como merge sort, é um dos algoritmos estudados na AULA 2.
Acerca deste algoritmo, assinale a alternativa CORRETA.
|
A |
A complexidade do merge sort é O(logn), pois o algoritmo trabalha com o princípio de dividir para conquistar. |
|
B |
O processo do merge sort consiste em dividir uma estrutura de dados de tamanho n (um vetor por exemplo) em 4 partes e ordenar estar partes, agregando-as posteriormente. |
|
C |
Ao dividir o conjunto de dado em duas partes menores, o merge sort sempre calcula a posição central da ruptura, que é dada pela média entre os valores posição inicial com a posição final, arredondando para cima. |
|
D |
A intercalação é realizada utilizando um vetor auxiliar para ir armazenando os dados que vão sendo ordenados naquele momento. |
|
E |
A função merge sort pode ser implementada de forma recursiva, ou seja, realizando chamadas de si mesma até que o conjunto de dados seja indivisível. A ordenação só ocorre quando as partes menores forem agregadas novamente. |
Questão 4/5 - Estrutura de Dados
O algoritmo abaixo foi desenvolvido empregando uma lógica iterativa:
Função Calcula (n: inteiro, x: inteiro): inteiro
y: inteiro
para i de 0 até n faça
se (x < 0) então
para i de 0 até n faça
y = y + 1
fimpara
senão
para i de 0 até x faça
y = y + 1
fimpara
fimse
fimpara
retorne y
Fimfunção
Acerca ao algoritmo acima, e trabalhando com os conceitos de complexidade assintótica e recursividade, assinale a alternativa CORRETA:
|
A |
A função contém três laços de repetição, sendo que todos os três laços podem acabar sendo executados cada vez que esta função por chamada. |
|
B |
A complexidade da função, para o pior caso será O(n³). |
|
C |
A função não realiza chamadas de si mesma, portanto pode ser considerada uma função recursiva. |
|
D |
Caso exista a possibilidade de implementação deste algoritmo usando uma função recursiva, e sem uso de laços de repetição, a complexidade em tempo de execução da implementação irá melhorar. |
|
E |
Caso substituíssemos todos os laços de repetição do tipo para, por laços do tipo enquanto, o desempenho do algoritmo em tempo de execução irá melhorar significativamente, uma vez que o laço enquanto tem um custo inferior ao do para. |
Questão 5/5 - Estrutura de Dados
A complexidade de um algoritmo pode ser mensurada matematicamente em termos de uma função de custo do algoritmo.
Acerca da função custo de um algoritmo, assinale a alternativa CORRETA:
|
A |
A ordem de como os dados de entradas estão organizados não tem impacto no desempenho do algoritmo em tempo de execução. |
|
B |
O custo matemático de um algoritmo é dado, exclusivamente, pelo custo de tempo de execução de um algoritmo. |
|
C |
O custo matemático de tempo de execução de um algoritmo pode ser mensurado através da contagem de instruções em uma linguagem de alto nível. |
|
D |
A função custo é dada em função do tamanho do conjunto de dados de entrada n, ou seja, em função da quantidade de instruções a serem executadas. |
|
E |
O custo de tempo de execução de um algoritmo corresponde a quantos núcleos paralelos o algoritmo está sendo executado. |
Questão 1/5 - Estrutura de Dados
Uma função que implementa parte do algoritmo merge sort pode ser vista abaixo. Todo o resto do algoritmo
foi omitido para que analisemos
somente este método. O algoritmo completo pode ser visto no material PDF da Aula 2.
No código, inicio e fim são variáveis inteiras que correspondem a posições no vetor de dados, parteinteira significa truncar em zero
casas decimais o respectivo cálculo da linha 6 e intercala refere-se a uma função que realiza a ordenação
neste método.
1. Função mergesort(X, inicio, fim)
2. Var
3. Meio: inteiro
4. Inicio
5. Se (inicio < fim) então
6. Meio <- parteinteira((inicio + fim) / 2)
7. Merge (X, inicio, meio)
8. Merge (X, meio + 1, fim)
9. Intercala(X, inicio, fim, meio)
10. Fimse
11. funfunção
A assumindo que a dimensão do vetor de dados X é 10, e que a primeira chamada da função mergesort foi realizada com os
seguintes parâmetros: Função mergesort(X, 0, 9).
Acerca deste algoritmo, assinale a alternativa INCORRETA:
|
A |
Na segunda instância aberta da função mergesort na memória do programa, a variável inicio vale zero e a variável meio vale 2. |
|
B |
Na primeira instância aberta da função mergesort na memória do programa, a variável meio corresponde ao valor 4. |
|
C |
Na segunda instância aberta da função mergesort na memória do programa, a variável inicio vale zero e a variável fim vale 2. |
|
D |
Na terceira instância aberta da função mergesort na memória do programa, a variável inicio vale zero e a variável fim vale 1. |
|
E |
Na primeira instância aberta da função mergesort na memória do programa, a variável inicio vale zero e a variável fim vale 9. |
1(?) |
2E |
3(?) |
4A |
5(?) |
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:
|
A |
Na linha 5, o sinal de MENOR está incorreto. O algoritmo do bubble sort deve apresentar um sinal de MAIOR nesta linha. |
|
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). |
|
C |
Não é possível substituir os laços de repetição do tipo PARA (FOR) por um laço do tipo ENQUANTO (WHILE). |
|
D |
Na linha 3, seria possível fazer a variável n iniciar em zero e terminar em (TAMANHOVETOR-1) |
|
E |
A variável chamada de aux neste código tem como objetivo armazenar temporariamente o vetor de dados completo, para posteriormente ser ordenado. |
1(?) |
2E |
3(?) |
4A |
5(?) |
Questão 3/5 - Estrutura de Dados
No terceiro assunto de nossa disciplina estudamos estruturas de dados que se comportam como uma PILHA.
Acerca de PILHA, assinale a alternativa INCORRETA:
|
A |
Em uma pilha construída utilizando listas encadeadas. Desempilhar nela significa remover o primeiro elemento desta pilha. |
|
B |
Uma pilha pode só pode ser construída empregando uma estrutura de dados que trabalhe de maneira não sequencial. |
|
C |
Uma pilha trabalha com inserção e remoção no topo da pilha. Sendo impossível manipular qualquer outra posição da pilha. |
|
D |
Em uma pilha construída utilizando listas encadeadas. Empilhar nela significa inserir antes do primeiro elemento desta pilha. |
|
E |
Em uma, a cada nova inserção, os elementos anteriores vão ficando para o final da pilha, só sendo possível removê-los desempilhando. |
1(?) |
2E |
3(?) |
4A |
5(?) |
Questão 4/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 SIMPLES, ou LISTA SIMPLESMENTE ENCADEADA.
Acerca de listas encadeadas simples, assinale a alternativa INCORRETA:
|
A |
Uma lista encadeada simples pode ser do tipo circular. Isto significa que o seu último elemento conterá um ponteiro não nulo e que apontará de volta para ele mesmo, fechando círculo. |
|
B |
Uma lista encadeada simples conterá, em cada seu elemento, uma variável do tipo ponteiro que manterá o endereço do próximo elemento da lista encadeada. |
|
C |
O uso de ponteiros serve para que, embora cada elemento da lista encadeada esteja disperso na memória do programa, eles possam ser localizados e conectados em uma estrutura de dados. |
|
D |
Uma lista encadeada simples pode ser do tipo não circular. Isto significa que o seu último elemento conterá um ponteiro nulo (vazio). |
|
E |
Podemos realizar uma inserção em qualquer posição de uma lista encadeada, no início, no fim ou mesmo no meio desta lista. |
1(?) |
2E |
3(?) |
4A |
5(?) |
Questão 5/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:
|
A |
Uma lista encadeada trabalha com alocação sequencial na memória. De maneira similar a uma estrutura de dados do tipo vetor. |
|
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. |
|
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). |
|
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. |
|
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. |
1(?) |
2E |
3(?) |
4A |
5(?) |
Questão 1/5 - Estrutura de Dados
No terceiro assunto da disciplina estudamos a estrutura de dados do tipo lista encadeada. O código abaixo representa a inserção em uma lista encadeada.
1. NovoElemento->dado = numero
2. se (Head == NULO) então
3. Head = NovoElemento
4. Head->prox = NULO
5. Senão
6. NovoElemento->prox = Head
7. Head = NovoElemento
8. fimse
Considerando que NovoElemento é um novo elemento que será inserido nesta lista e Head caracteriza o primeiro elemento da lista. Assinale a alternativa CORRETA sobre este algoritmo.
|
A |
O algoritmo apresentado representa uma inserção no final de uma lista encadeada simples, pois um laço faz a varredura até localizar o final da lista e insere o novo elemento. |
|
B |
O algoritmo apresentado representa uma inserção no início de uma lista encadeada dupla, pois a linha 6 mostra o novo elemento apontando para o Head. |
|
C |
O algoritmo apresentado representa uma inserção no início de uma lista encadeada simples, pois a linha 6 mostra o novo elemento apontando para o Head. |
|
D |
O algoritmo apresentado representa uma inserção no final de uma lista encadeada dupla, pois um laço faz a varredura até localizar o final da lista e insere o novo elemento. |
|
E |
Baseado no algoritmo apresentado, podemos afirmar que este código pertence ao de uma lista encadeada simples e circular. |
Pilhas apresentam características de inserção e remoção na estrutura de dados seguindo a regra do primeiro que entra é o último que sai. Observe o código da pilha abaixo construída utilizando listas encadeadas. O código realiza a inserção de um novo elemento nesta pilha.
1. NovoElemento->dado = numero
2. se (Top == NULO) então
3. NovoElemento->prox = NULO
4. Senão
5. NovoElemento->prox = Top
6. fimse
7. Top = NovoElemento
Considerando que NovoElemento é um novo elemento que será inserido nesta pilha e top é o elemento que
está no topo da pilha, assinale a alternativa CORRETA acerca de pilhas implementadas com listas encadeadas:
|
A |
A linha 2 verifica se o topo da pilha está vazio. Caso esteja vazio, significa que não é possível inserir um novo elemento na pilha. |
|
B |
Se tivermos um só elemento na pilha, significa que a lista não terá um topo. |
|
C |
Caso o topo não esteja vazio, fazemos o elemento do topo apontar para o novo elemento. |
|
D |
Na linha 7, o topo da pilha vira o novo elemento inserida, fazendo com que o antigo topo seja apagado. |
|
E |
O topo da pilha é o único elemento que fica armazenado em uma variável conhecida pelo programa. Todos os outros elementos são acessados a partir dos ponteiros de referencia de cada elemento. |
Questão 3/5 - Estrutura de Dados
Filas apresentam características de inserção e remoção na estrutura de dados seguindo a regra do primeiro que entra é o primeiro que sai. Observe o código da fila abaixo construída utilizando listas encadeadas. O código realiza a inserção de um novo elemento nesta fila.
1. NovoElemento->dado = numero
2. se (Head == NULO) então
3. Head = NovoElemento
4. Senão
5. ElementoVarredura = Head
6. enquanto (ElementoVarredura->prox <> NULO)
7. ElementoVarredura = ElementoVarredura->prox
8. Fimenquanto
9. ElementoVarredura->prox = NovoElemento
10. NovoElemento->prox = NULO
11. Fimse
Considerando que NovoElemento é um novo elemento que será inserido nesta fila, ElementoVarredura é uma variável que servirá para localizar o local de inserção, Head é o elemento que está no início da fila, assinale a alternativa CORRETA acerca de filas implementadas com listas encadeadas:
|
A |
O último elemento da lista encadeada deverá conter um ponteiro nulo, conforme indicado na linha 9. |
|
B |
As linhas 6, 7 e 8 indicam nos dizem que, para realizar a inserção, precisamos varrer até localizarmos o último elemento, o qual não poderá conter um ponteiro nulo. |
|
C |
Se o head estiver nulo, significa que podemos inserir um elemento após o head, mesmo que ele esteja nulo |
|
D |
A varredura pela posição de inserção inicia no primeiro elemento da lista, conforme indicado na linha 5. |
|
E |
Não seria possível substituir o laço de repetição enquanto por uma para-faça devido a condição de parada aplicada. |
Na AULA 4 estudamos árvores binárias.
Acerca de árvore binárias e a inserção dos dados em uma árvore construída para funcionar como uma Binary Search Tree, assinale a alternativa CORRETA.
|
A |
Em uma BST trabalhando com dados numéricos inteiros, cada elemento de valor maior que seu nó pai é inserido no ramo esquerdo. |
|
B |
Em uma BST, podemos inserir elemento em qualquer posição da árvore binária. |
|
C |
Em uma BST trabalhando com dados numéricos inteiros, cada elemento de valor menor que seu nó pai é inserido no ramo direito. |
|
D |
Se tivermos uma árvore com somente uma raiz e com o valor 1, e inserirmos, na sequência, o valor 2, seguido pelo 3, 4 e 5. Isso resultará em uma árvore binária se comportando como se fosse uma lista encadeada simples, pendendo para o ramo esquerdo. |
|
E |
Caso já exista um elemento inserido, tanto no ramo esquerdo quanto no ramo direito de um nó, deve-se avançar para o próximo nó para tentar a inserção, pois não será possível inserir neste. |
Questão 5/5 - Estrutura de Dados
No terceiro assunto da disciplina estudamos a estrutura de dados do tipo lista encadeada. O código abaixo representa a inserção em uma posição específica da lista encadeada simples.
1. NovoElemento->dado = numero
2. se (posicao == 0) então
3. Head = NovoElemento
4. Head->prox = NULO
5. Senão
6. ElementoVarredura = Head
7. para i de 0 até posicao faça
8. ElementoVarredura = ElementoVarredura->prox
9. Fimpara
10. ElementoAuxiliar = ElementoVarredura->prox
11. ElementoVarredura->prox = NovoElemento
12. NovoElemento->prox = ElementoAuxiliar
13. Fimse
Considerando que NovoElemento é um novo elemento que será inserido nesta lista, ElementoVarredura é uma variável que servirá para localizar o local de inserção, ElementoAuxiliar é uma variável temporária para auxiliar na inserção do dado, Head caracteriza o primeiro elemento da lista e prox é o ponteiro para o próximo elemento da lista. Assinale a alternativa INCORRETA sobre este algoritmo.
|
A |
Nas linhas 7 a 9 temos o laço de repetição que localiza a posição em que o elemento será inserido. |
|
B |
Na linha 8, a variável ElementoVarredura salta de elemento em elemento da lista, sempre utilizando como referencia o ponteiro para o próximo elemento. |
|
C |
Nas linhas 10, 11 e 12 fazemos uma troca entre 2 valores da lista encadeada utilizando uma variável auxiliar. |
|
D |
Na linha 10 uma variável auxiliar armazena temporariamente o elemento subsequente ao da posição desejada para inserção. |
|
E |
Na linha 12, o novo elemento, agora já inserido na respectiva posição da lista, aponta para o elemento armazenado na variável auxiliar, que corresponde ao elemento subsequente ao da posição inserida. |
Questão 1/5 - Estrutura de Dados
N o terce iro ass unto d e nossa d isc ip lina est uda mos uma no va est r ut ura de dados de no minada de LISTA
EN C ADEA D A. U m t ipo de lista e ncadeada é a c ha mada de LIS TA ENC A DEA DA DUP LA, o u LISTA
DUP LA MEN TE EN C A DEA DA.
Acerca de lis tas e ncadeadas s imp les, as s ina le a a lter na t iva CO R R ETA :
C
Uma li sta e nc adead a dup la c ir c ular c onterá e m seu ú lti mo e le men to, o end ereç o do
pri mei r o ele me nto d a lis ta. E c onterá no seu primeiro ele men to, o end ereç o do últi mo
ele me nto da lis ta. Fec hando d ois c í rc ulos.
Questão 2/5 - Estrutura de Dados
N o terce iro ass unto d e nossa d isc ip lina est uda mos es tr ut uras de dado s q ue se co mport a m co mo uma FI L A .
Acerca de F ILAS, ass ina le a a lter na t iva C O R RETA :
D
Em u ma f ila tr abalha mos c o m o c onc eito de: “ o pri meir o que entr a é o pr imei r o que sai” .
Questão 3/5 - Estrutura de Dados
U ma função q ue imp le me nta pa rte do a lgor it mo m erge sort pode ser vist a aba ixo. Todo o re sto do a lgor it mo fo i
omit ido para q ue a na lise mo s so me nte es te mé todo. O a lgor it mo co mp leto pode ser visto no mate r ia l PDF da A ula 2.
N o código, inic io e f im são var iá ve is inte iras q ue corre spo nde m a po s ições no vetor de d ad os, parteinteira s ignifica
tr uncar e m zero casas dec ima is o r espectivo cá lc ulo da linha 6 e inte rca la re fe re - se a uma função q ue rea liza a
ordenação nes te mé todo.
1. Função m ergesort (X, inicio, f im )
2. Var
3. Meio: int eiro
4. Inicio
5. Se (inic io < f im ) ent ão
6. Meio < - part eint ei ra(( inic io + f im ) / 2)
7. m ergesort (X, inic io, meio)
8. m ergesort (X, m eio + 1, f im)
9. Intercala(X, in icio, f im, m eio)
10. Fimse
11. f unf unção
A ass umindo q ue a d ime nsão do veto r de dados X é 10, e q ue a pr ime ira c ha mada da função m ergesort fo i rea lizada
co m os se guintes pa râ me tros : Função m ergesort (X, 0, 9).
Acerca de ste a lgor it mo, ass ina le a a lte r nat iva IN CO RR ETA :
C
Na s egun da i ns tânc i a aberta da funç ão mer ges or t na me móri a do progr ama, a vari á vel
inic io vale zer o e a variá ve l fi m vale 2.
Questão 4/5 - Estrutura de Dados
U ma função q ue imp le me nta o a lgor it mo bubble so rt pode ser vista aba ixo. Todo o res to do a lgo r it mo fo i omit ido
para q ue a na lise mos so me nte o método de o rde nação. No cód igo, TAMAN H OVE TO R re fe re a um va lor in te iro q ue
correspo nde a d ime nsão do veto r de dados.
1 - v oid BubbleSort ( int v et[] ) {
2 - int aux ;
3 - for (int n = 1; n <= TA MAN HOVET OR ; n++) {
4 - for (int i = 0; i < (TAMAN H OVET O R - 1) ; i+ +) {
5 - if (v et[ i] < v et[ i + 1] ) {
6 - aux = v et[ i] ;
7 - v et[ i] = v et [ i + 1] ;
8 - v et[ i + 1] = aux ;
9 - } } } }
Acerca de ste a lgor it mo, ass ina le a a lte r nat iva CO RRE TA :
D
N a linha 3, ser ia poss íve l fa zer a var iá ve l n inic iar e m zero e ter minar e m ( TA MANH OVETO R- 1)
Questão 5/5 - Estrutura de Dados
No terc eir o assunto de nos sa disci pli na estu da mos u ma n o va estr u tura de dad os den omin a da de
LISTA E NCADE ADA.
Ac erc a de li stas enc adea das, assi n ale a alternati va C ORRE TA:
D
Podemo s loca liza r o pró ximo e le me nto da lista e ncadeada a tra vés do uso de uma var iá ve l q ue a r ma ze na o
ende reço do pró ximo e le me nto da lista
Questão 1/5 - Estrutura de Dados
O segundo assunto de nossa disciplina diz respeito a algoritmos de ordenação de dados.
Acerca deste assunto, assinale a alternativa INCORRETA:
|
E |
A lógica algorítmica de cada método de ordenação difere para cada tipo de estrutura de dados que se deseja manipular. AULA 2 – TEMA 1. A estrutura de dados não muda a lógica de funcionamento do algoritmo de ordenação, só muda a estrutura a ser manipulada. |
Questão 2/5 - Estrutura de Dados
A complexidade de um algoritmo pode ser mensurada matematicamente em termos de uma função de custo do algoritmo.
Acerca da função custo de um algoritmo, assinale a alternativa CORRETA:
|
C |
O custo matemático de tempo de execução de um algoritmo pode ser mensurado através da contagem de instruções em uma linguagem de alto nível. AULA 1 – TEMA 2. CORRETO. |
Questão 3/5 - Estrutura de Dados
O algoritmo de ordenação por intercalação, também conhecido como merge sort, é um dos algoritmos estudados na AULA 2.
Acerca deste algoritmo, assinale a alternativa CORRETA.
|
D |
A intercalação é realizada utilizando um vetor auxiliar para ir armazenando os dados que vão sendo ordenados naquele momento. AULA 2 – TEMA 3. Figura 10. |
Questão 4/5 - Estrutura de Dados
No primeiro assunto de nossa disciplina investigamos o que são estruturas de dados e como podemos classificá-las em tipos.
Acerca deste assunto, assinale a alternativa INCORRETA:
|
C |
Podemos classificar uma estrutura de dados como sendo do tipo homogênea (como registros) ou do tipo heterogênea (como vetores e matrizes). Você acertou! AULA 1 – TEMA 1. Podemos classificar uma estrutura de dados como sendo do tipo heterogênea (como registros) ou do tipo homogênea (como vetores e matrizes). |
Questão 5/5 - Estrutura de Dados
Chamamos de análise assintótica de algoritmos quando encontramos a complexidade de um algoritmo de maneira aproximada através de uma curva de tendência. Este tipo de análise e é a mais adotada para compararmos desempenho de algoritmos.
Acerca da análise assintótica de um algoritmo, assinale a alternativa INCORRETA:
|
E |
A complexidade assintótica para o pior caso de um algoritmo contendo dois laços de repetição aninhados, sendo que o segundo laço só será executado caso uma condicional simples seja verdadeira, será O(n). AULA 1 – TEMA 3. O pior caso (BigO) nos diz que todas as linhas devem ser executadas, ou seja, a condicional será sempre verdadeira, e ambos laços de repetição serão sempre executados, sendo assim, complexidade O(n²). |
Para escrever sua resposta aqui, entre ou crie uma conta.
Estrutura de Dados I
•ESTÁCIO
Compartilhar