Uma sequência de números é um Tipo Abstrato de Dados (TAD) q...

Próximas questões
Com base no mesmo assunto
Q788627 Algoritmos e Estrutura de Dados

Uma sequência de números é um Tipo Abstrato de Dados (TAD) que representa um conjunto finito de valores ordenados, no qual um valor pode ocorrer em duplicidade. Considere as seguintes afirmações sobre a implementação de uma sequência de números utilizando arranjos e listas ligadas:

I Arranjos permitem acesso a qualquer elemento da sequência com complexidade de tempo média constante.

II Listas ligadas não permitem a inserção de um elemento no início da sequência com complexidade de tempo média constante.

III Listas ligadas requerem que a sequência seja armazenada em uma faixa contínua de endereços de memória

IV Arranjos não permitem a inserção de um elemento no meio da sequência com complexidade de tempo média constante.

Estão corretas as afirmações

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é: C - I e IV.

Vamos analisar cada uma das afirmações para entender por que a alternativa C está correta.

I - Arranjos permitem acesso a qualquer elemento da sequência com complexidade de tempo média constante.

Correta: Arranjos, ou arrays, são estruturas de dados que armazenam elementos em posições contíguas de memória. Isso permite que qualquer elemento seja acessado diretamente pelo seu índice em tempo constante, ou O(1). Portanto, esta afirmação está correta.

II - Listas ligadas não permitem a inserção de um elemento no início da sequência com complexidade de tempo média constante.

Incorreta: Na verdade, listas ligadas permitem a inserção de um elemento no início da sequência com complexidade de tempo constante, ou O(1). Isso porque basta ajustar o ponteiro do novo nó para apontar para o nó que anteriormente era o primeiro da lista, e ajustar o ponteiro inicial da lista para apontar para o novo nó.

III - Listas ligadas requerem que a sequência seja armazenada em uma faixa contínua de endereços de memória.

Incorreta: Um dos principais benefícios das listas ligadas é que elas não precisam ser armazenadas em uma faixa contínua de memória. Cada elemento da lista (nó) pode estar em qualquer lugar na memória, e o nó contém um ponteiro para o próximo elemento da lista. Portanto, esta afirmação está incorreta.

IV - Arranjos não permitem a inserção de um elemento no meio da sequência com complexidade de tempo média constante.

Correta: Para inserir um elemento no meio de um arranjo, é necessário mover todos os elementos subsequentes para abrir espaço para o novo elemento. Isso implica que a operação tem complexidade de tempo linear, ou O(n), onde n é o número de elementos no arranjo. Portanto, esta afirmação está correta.

Resumindo, as afirmações I e IV são corretas, e por isso a alternativa correta é C - I e IV.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

I Arranjos permitem acesso a qualquer elemento da sequência com complexidade de tempo média constante.
CORRETA. Tempo de acesso O(1). Para acessar o elemento do arranjo (vetor) é só buscar pelo índice do elemento

II Listas ligadas não permitem a inserção de um elemento no início da sequência com complexidade de tempo média constante.
ERRADA. É necessário apenas apontar o ponteiro inicial da lista para o novo elemento e o ponteiro do novo elemento para o elemento inicial anterior da lista.

III Listas ligadas requerem que a sequência seja armazenada em uma faixa contínua de endereços de memória
ERRADA. Listas ligadas (encadeadas) não requerem que sejam armazenas em faixas contíguas na memória como os vatores. Elas são dinâmicas. A área de memória é alocada a medida que é necessário

IV Arranjos não permitem a inserção de um elemento no meio da sequência com complexidade de tempo média constante.
CORRETA. Para inserir um elemento no meio do vetor, é necessário mover os elementos subsequentes, tendo assim complexidade não constante, pois você não sabe quantos elementos vai mover.

começando pela III:

III - ERRADA:

Tenho blocos de listas. cada lista é um bloco e não necessita estar logo em seguida ao bloco anterior na memoria.

 

-Ja tiro B e D

-Quando falo em "inserção de um elemento" siginifica que quero colocar um novo elemento e não substituir um elemento.

(errei por isso, não prestei atenção)

-Um arranjo ja tem "tamanho pre-definido", ou seja, não posso adicionar mais um elemento.

-Uma lista é formada por outros elementos, ou seja, posso adicionar mais elementos.

 

II esta ERRADO

IV esta CERTO

 

-Não necessitou olhar para o I.

-Não necessitou olhar para "complexidade de tempo média constante".

OBS: se estiver errado favor me corrigirem.

 

Força Guerreiro!!!!!!

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo