Desenvolvimento (No Code) Flashcards
- (Instituto Cidades - 2012 - TCM-GO - Auditor de Controle Externo - Informática) São exemplos de algoritmos de ordenação, exceto:
a) Bubble Sort
b) Select Sort
c) Shell Sort
d) Busca Sequencial;
e) Quick Sort;
Conforme vimos em aula, a Busca Sequencial não é um algoritmo de ordenação! Na verdade, ele é um método de pesquisa sobre estruturas de dados.
- BubbleSort(Troca)(Bolhas subindo cada vez menos): Repetidamente troca elementos adjacentes se estiverem na ordem errada.
- InsertionSort(Inserção)(Baralho): Insere cada elemento na posição correta dentro da parte ordenada da lista.
- SelectionSort(Seleção): Seleciona o menor (ou maior) elemento e o coloca na posição correta.
- QuickSort(Troca): Ordena dividindo a lista em sublistas ao redor de um pivô.
- MergeSort(Intercalação): Divide a lista em sublistas, ordena recursivamente e mescla as sublistas.
- HeapSort(Seleção): Constrói um heap (árvore binária) e extrai repetidamente o maior elemento para ordenar a lista.
- ShellSort(Inserção): Ordena elementos comparando e movendo incrementos de distância decrescentes.
Gabarito: D
- (FUMARC - 2012 - TJ-MG - Técnico Judiciário - Analista de Sistemas – I) Quicksort divide um conjunto de itens em conjuntos menores, que são ordenados de forma independe, e depois os resultados são combinados para produzir a solução de ordenação do conjunto maior.
Conforme vimos em aula, está perfeito! Sendo um algoritmo do tipo Dividir Para Conquistar, ele reparte o conjunto de dados em conjuntos menores, que são ordenados independentemente e depois combinados em uma solução maior.
- BubbleSort(Troca)(Bolhas subindo cada vez menos): Repetidamente troca elementos adjacentes se estiverem na ordem errada.
- InsertionSort(Inserção)(Baralho): Insere cada elemento na posição correta dentro da parte ordenada da lista.
- SelectionSort(Seleção): Seleciona o menor (ou maior) elemento e o coloca na posição correta.
- QuickSort(Troca): Ordena dividindo a lista em sublistas ao redor de um pivô.
- MergeSort(Intercalação): Divide a lista em sublistas, ordena recursivamente e mescla as sublistas.
- HeapSort(Seleção): Constrói um heap (árvore binária) e extrai repetidamente o maior elemento para ordenar a lista.
- ShellSort(Inserção): Ordena elementos comparando e movendo incrementos de distância decrescentes.
Gabarito: C
- (CESPE - 2012 - MPE-PI - Analista Ministerial - Informática - Cargo 6) O heapsort é um algoritmo de ordenação em que a quantidade de elementos armazenada fora do arranjo de entrada é constante durante toda a sua execução.
Inicialmente, insere-se os elementos da lista em um heap.
Em seguida, fazemos sucessivas remoções do
menor elemento do heap, colocando os elementos removidos do heap de volta na lista – a lista estará então em ordem crescente.
O heapsort é um algoritmo de ordenação em que a sua estrutura auxiliar de armazenamento fora do arranjo de entrada é constante durante toda a sua execução.
Essa questão é polêmica. O arranjo tem tamanho constante, mas a quantidade de elementos é variável.
Diferente de outros algoritmos de ordenação que tem uma estrutura auxiliar de tamanho variável (assim como seus elementos), o Heap Sort tem uma estrutura auxiliar de tamanho fixo (porém a quantidade de elementos é variável).
Como é dito por Neil Dale: “A heapsort is just as efficient in terms of space; only one array is used to store the data. The heap sort requires only constante extra space”. No entanto, a questão foi dada como correta!
- BubbleSort(Troca)(Bolhas subindo cada vez menos): Repetidamente troca elementos adjacentes se estiverem na ordem errada.
- InsertionSort(Inserção)(Baralho): Insere cada elemento na posição correta dentro da parte ordenada da lista.
- SelectionSort(Seleção): Seleciona o menor (ou maior) elemento e o coloca na posição correta.
- QuickSort(Troca): Ordena dividindo a lista em sublistas ao redor de um pivô.
- MergeSort(Intercalação): Divide a lista em sublistas, ordena recursivamente e mescla as sublistas.
- HeapSort(Seleção): Constrói um heap (árvore binária) e extrai repetidamente o maior elemento para ordenar a lista.
- ShellSort(Inserção): Ordena elementos comparando e movendo incrementos de distância decrescentes.
Gabarito: C
- (CESPE - 2010 - ABIN - Oficial Técnico de Inteligência - Área de Suporte a Rede de Dados) A eficácia do método de ordenação rápida (quicksort) depende da escolha do pivô mais adequado ao conjunto de dados que se deseja ordenar. A situação ótima ocorre quando o pivô escolhido é igual ao valor máximo
ou ao valor mínimo do conjunto de dados.
Alguns autores consideram a divisão em três subconjuntos, sendo o terceiro contendo valores iguais ao pivô.
O Melhor Caso ocorre quando o conjunto é dividido em subconjuntos de mesmo tamanho;
o Pior Caso ocorre quando o pivô corresponde a um dos extremos (menor ou maior valor). Alguns o consideram um algoritmo frágil e não-estável, com baixa tolerância a erros.
Conforme vimos em aula, a questão se refere ao pior caso!
Gabarito: E
- (CESPE - 2010 - ABIN - Oficial Técnico de Inteligência - Área de Suporte a Rede de Dados)
A estabilidade de um método de ordenação é importante quando o conjunto de dados já está parcialmente ordenado.
Na imagem acima, foi colocado um sinal de aspas simples e duplas apenas para diferenciá-los, mas trata-se do mesmo número.
Um algoritmo estável ordena todo o restante e não perde tempo trocando as posições de elementos que possuam chaves idênticas.
Já um algoritmo instável ordena todos os elementos, inclusive aqueles que possuem chaves idênticas (sob algum outro critério).
Conforme vimos em aula, a estabilidade é irrelevante com dados parcialmente ordenados ou não!
A estabilidade é importante quando se deseja ordenar um conjunto de dados por mais de um critério (Ex: primeiro pelas chaves e segundo por índices). Se esse não for o caso (e a questão não disse que era!), a estabilidade “não fede nem cheira”. O fato de os dados estarem parcialmente ordenados não fará diferença em termos de ordenação – ambos serão ordenados da mesma maneira.
Gabarito: E
- (CESPE - 2010 - Banco da Amazônia - Técnico Científico - Tecnologia da Informação - Administração de Dados)
A classificação interna por inserção é um método que realiza a ordenação de um vetor por meio da inserção de cada elemento em sua posição correta dentro de um subvetor classificado.
Conforme vimos em aula, trata-se do InsertionSort!
- BubbleSort(Troca)(Bolhas subindo cada vez menos): Repetidamente troca elementos adjacentes se estiverem na ordem errada.
- InsertionSort(Inserção)(Baralho): Insere cada elemento na posição correta dentro da parte ordenada da lista.
- SelectionSort(Seleção): Seleciona o menor (ou maior) elemento e o coloca na posição correta.
- QuickSort(Troca): Ordena dividindo a lista em sublistas ao redor de um pivô.
- MergeSort(Intercalação): Divide a lista em sublistas, ordena recursivamente e mescla as sublistas.
- HeapSort(Seleção): Constrói um heap (árvore binária) e extrai repetidamente o maior elemento para ordenar a lista.
- ShellSort(Inserção): Ordena elementos comparando e movendo incrementos de distância decrescentes.
Gabarito: C
- (FCC - 2009 - TRT - 15ª Região - Analista Judiciário - Tecnologia da Informação) São algoritmos de classificação por trocas apenas os métodos:
a) SelectionSort e InsertionSort.
b) MergeSort e BubbleSort.
c) QuickSort e SelectionSort.
d) BubbleSort e QuickSort.
e) InsertionSort e MergeSort.
- BubbleSort(Troca)(Bolhas subindo cada vez menos): Repetidamente troca elementos adjacentes se estiverem na ordem errada.
- InsertionSort(Inserção)(Baralho): Insere cada elemento na posição correta dentro da parte ordenada da lista.
- SelectionSort(Seleção): Seleciona o menor (ou maior) elemento e o coloca na posição correta.
- QuickSort(Troca): Ordena dividindo a lista em sublistas ao redor de um pivô.
- MergeSort(Intercalação): Divide a lista em sublistas, ordena recursivamente e mescla as sublistas.
- HeapSort(Seleção): Constrói um heap (árvore binária) e extrai repetidamente o maior elemento para ordenar a lista.
- ShellSort(Inserção): Ordena elementos comparando e movendo incrementos de distância decrescentes.
Gabarito: D
- (CESGRANRIO - 2011 - PETROBRÁS – Analista de Sistemas – I)
O tempo de pior caso do algoritmo QuickSort é de ordem menor que o tempo médio do algoritmo Bubblesort.
Tempo: O(n) < O(n log n) < O(n²)
Métodos Estáveis: BIM - Bub, Ins e Mer
São iguais: O(n²).
Gabarito: E
- (CESGRANRIO - 2011 - PETROBRÁS – Analista de Sistemas – II)
O tempo médio do QuickSort é O(nlog2n), pois ele usa como estrutura básica uma árvore de prioridades.
Tempo: O(n) < O(n log n) < O(n²)
Métodos Estáveis: BIM - Bub, Ins e Mer
Conforme vimos em aula, de fato, ele tem tempo médio O(n log n), mas ele usa como estrutura básica uma lista ou um vetor!
Gabarito: E
- (CESGRANRIO - 2011 - PETROBRÁS – Analista de Sistemas – III)
O tempo médio do QuickSort é de ordem
igual ao tempo médio do MergeSort.
Tempo: O(n) < O(n log n) < O(n²)
Métodos Estáveis: BIM - Bub, Ins e Mer
Conforme vimos em aula, ambos têm tempo O(n log n).
Gabarito: C
- (CESGRANRIO - 2012 - CMB – Analista de Sistemas – III)
Em uma reunião de análise de desempenho de um sistema WEB, um programador apontou corretamente que a complexidade de tempo do algoritmo bubblesort, no pior caso, é:
a) O(1)
b) O(log n)
c) O(n)
d) O(n log n)
e) O(n2)
Tempo: O(n) < O(n log n) < O(n²)
Métodos Estáveis: BIM - Bub, Ins e Mer
Conforme vimos em aula, trata-se de O(n²)!
Gabarito: E
- (CESPE - 2010 – INMETRO – Analista de Sistemas) Se f é uma função de complexidade para um algoritmo F, então O(f) é considerada a complexidade assintótica ou o comportamento assintótico do algoritmo F.
Assinale a opção que apresenta somente algoritmos que possuem complexidade assintótica quando f(n) = O(n log n).
a) HeapSort e BubbleSort
b) QuickSort e InsertionSort
c) MergeSort e BubbleSort
d) InsertionSort
e) HeapSort, QuickSort e MergeSort
Tempo: O(n) < O(n log n) < O(n²)
Métodos Estáveis: BIM - Bub, Ins e Mer
Conforme vimos em aula, trata-se da última opção. Vejam que ele não utilizou, nessa questão, o Pior Caso.
Gabarito: E
- (FGV - 2013 – MPE/MS – Analista de Sistemas) Assinale a alternativa que indica o algoritmo de ordenação capaz de funcionar em tempo O(n) para alguns conjuntos de entrada.
a) Selectionsort (seleção)
b) Insertionsort (inserção)
c) Merge sort
d) Quicksort
e) Heapsort
Tempo: O(n) < O(n log n) < O(n²)
Métodos Estáveis: BIM - Bub, Ins e Mer
Conforme vimos em aula, trata-se da segunda opção.
Gabarito: B
- (CESGRANRIO - 2010 – BACEN – Analista de Sistemas)
Uma fábrica de software foi contratada para desenvolver um produto de análise de riscos. Em determinada funcionalidade desse software, é necessário realizar a ordenação de um conjunto formado por muitos números inteiros.
Que algoritmo de ordenação oferece melhor complexidade de tempo (Big O notation) no pior caso?
a) Merge sort
b) Insertion sort
c) Bubble sort
d) Quick sort
e) Selection sort
Tempo: O(n) < O(n log n) < O(n²)
Métodos Estáveis: BIM - Bub, Ins e Mer
Conforme vimos em aula, trata-se da primeira opção!
Gabarito: A
- (CESPE - 2011 – FUB – Analista de Sistemas) Os métodos de ordenação podem ser classificados como estáveis ou não estáveis. O método é estável se preserva a ordem relativa de dois valores idênticos.
Alguns métodos eficientes como shellsort ou quicksort não são estáveis, enquanto alguns métodos pouco eficientes, como o método da bolha, são estáveis.
Tempo: O(n) < O(n log n) < O(n²)
Métodos Estáveis: BIM - Bub, Ins e Mer
Métodos Instáveis: SelectionSort, QuickSort,
HeapSort e ShellSort.
Portanto, item perfeito!
Gabarito: C
- (CESPE - 2012 – BASA – Analista de Sistemas) O método de classificação Shellsort iguala-se ao método Quicksort em termos de complexidade temporal, porém é mais eficiente para quantidades pequenas a moderadas de dados.
Tempo: O(n) < O(n log n) < O(n²)
Métodos Estáveis: BIM - Bub, Ins e Mer
Não há correlação direta entre complexidade de custo e complexidade temporal, logo eu não posso usar a função de um para calcular o outro.
Gabarito: E
- (CESPE - 2012 – BASA – Analista de Sistemas) O método de classificação Quicksort é estável e executado em tempo linearmente dependente da quantidade de dados que estão sendo classificados.
Tempo: O(n) < O(n log n) < O(n²)
Métodos Estáveis: BIM - Bub, Ins e Mer
QuickSort é instável e não possui complexidade temporal linear!
Gabarito: E
- (CESPE - 2012 – BASA – Analista de Sistemas)
No método de ordenamento denominado shellsort, as comparações e as trocas são feitas conforme determinada distância entre dois elementos, de modo que, uma distância igual a 6 seria a comparação entre o primeiro elemento e o sétimo, ou entre o segundo elemento e o oitavo, e assim sucessivamente, repetindo-se esse processo até que as últimas
comparações e trocas tenham sido efetuadas e a distância tenha diminuído até chegar a 1.
É o algoritmo mais eficiente dentre os de ordem quadrática. Nesse método, as comparações e as trocas são feitas conforme determinada distância (gap) entre dois elementos, de modo que, se gap = 6, há comparação entre o 1º e 7º elementos ou entre o 2º e 8º elementos e assim sucessivamente, repetindo até que as últimas
comparações e trocas tenham sido efetuadas e o gap tenha chegado a 1.
Conforme vimos em aula, a questão descreveu perfeitamente o mecanismo de ordenação do Shellsort.
Gabarito: C
- (FGV - 2008 – PETROBRÁS – Analista de Sistemas) Sobre o algoritmo de ordenação heapsort, assinale a afirmação correta.
a) Utiliza ordenação por árvore de decisão, ao invés de ordenação por comparação.
b) A estrutura de dados que utiliza, chamada heap, pode ser interpretada como uma árvore binária.
c) Seu desempenho de pior caso é pior do que o do algoritmo quicksort.
d) Seu desempenho de pior caso é o mesmo da ordenação por inserção.
e) Seu desempenho de pior caso é menor do que o da ordenação por intercalação.
Tempo: O(n) < O(n log n) < O(n²)
Métodos Estáveis: BIM - Bub, Ins e Mer
(a) Utiliza ordenação por seleção;
(b) Perfeito;
(c) Não, é melhor que o QuickSort;
(d) Não, é melhor que o InsertionSort;
(e) Não, é idêntico ao MergeSort.
Gabarito: B
- (CESGRANRIO – 2009 – BASA – Analista de Sistemas)
Com relação aos algoritmos quicksort e mergesort, o tempo de execução para o:
a) pior caso do quicksort é (n lg n).
b) pior caso do mergesort é (n2).
c) pior caso do mergesort é (n lg n).
d) caso médio do mergesort é O(lg n).
e) caso médio do quicksort é O(n2).
Tempo: O(n) < O(n log n) < O(n²)
Métodos Estáveis: BIM - Bub, Ins e Mer
Conforme vimos em aula, trata-se da terceira opção. Gabarito: C
- (CESPE – 2009 – UNIPAMPA – Analista de Sistemas)
O algoritmo quicksort, que divide uma instrução em quatro blocos diferentes de busca, é um exemplo de estrutura de ordenação de dados.
Conforme vimos em aula, são dois blocos diferentes de busca.
Gabarito: E
- (CESPE - 2013 – CPRM – Analista de Sistemas)
No algoritmo de ordenação denominado quicksort, escolhe-se um ponto de referência, denominado pivô, e separam-se os elementos em dois grupos: à esquerda, ficam os elementos menores que o pivô, e à direita ficam os maiores. Repete-se esse processo para os grupos de elementos formados (esquerda e direita) até que todos os elementos estejam ordenados.
Esse algoritmo divide um conjunto de itens em conjuntos menores, que são ordenados de forma independente, e depois os resultados são combinados para produzir a solução de ordenação do conjunto maior.
Trata-se, portanto, de um algoritmo do tipo Divisão-e-Conquista, i.e., repartindo os dados em subgrupos, dependendo de um elemento chamado pivô.
Neste método, a lista é dividida em parte esquerda e parte direita, sendo que os elementos da parte esquerda são todos menores que os elementos da parte direita. Essa fase do processo é chamada de
partição.
Em seguida, as duas partes são ordenadas recursivamente (usando o próprio QuickSort). A lista está, portanto, ordenada corretamente!
Conforme vimos em aula, é exatamente assim!
Gabarito: C
- (CESPE - 2013 – MPU – Analista de Sistemas)
Entre os algoritmos de ordenação e pesquisa bubble sort, quicksort e heapsort, o quicksort é considerado o mais eficiente, pois se caracteriza como um algoritmo de dividir-para-conquistar, utilizando operações de particionamento.
Conforme vimos em aula, o HeapSort é o mais eficiente no pior caso!
Gabarito: E
- (CESPE - 2013 – TRT/9 – Analista de Sistemas)
No método Quicksort, o pivô é responsável pelo número de partições em que o vetor é dividido. Como o pivô não pode ser um elemento que esteja repetido no vetor, o Quicksort não funciona quando há elementos repetidos.
O pivô não é responsável pelo número de partições em que o vetor é dividido. Ademais, ele pode sim ser um elemento que esteja repetido no vetor!
Gabarito: E
- (FCC - 2011 - TRT - 14ª Região (RO e AC) - Analista Judiciário - Tecnologia da Informação)
NÃO se trata de um método de ordenação (algoritmo):
a) inserção direta.
b) seleção direta.
c) inserção por meio de incrementos decrescentes.
d) direta em cadeias.
e) particionamento.
(a) Trata-se do InsertionSort;
(b) Trata-se do SelectionSort;
(c) Trata-se do ShellSort;
(d) Trata-se de um método de busca;
(e) Trata-se do QuickSort.
Portanto, é a quarta opção! Gabarito: D
- (FCC - 2016 - TRT - 23ª REGIÃO (MT) - Analista Judiciário - Tecnologia da Informação)
Utilizando um algoritmo de ordenação, percorre-se a lista dada da esquerda para a direita, comparando pares de elementos consecutivos, trocando de lugar os que estão fora da ordem. Em cada troca, o maior elemento é deslocado uma posição para a direita. Trata-se de um algoritmo de
ordenação:
a) Select Sort.
b) Insert Sort.
c) Bubble Sort.
d) Shell Sort.
e) Quick Sort.
O algoritmo realiza trocas de dois em dois, percorrendo todos os elementos. Como vimos, esse algoritmo é o Bubble Sort.
Gabarito: C
- (VUNESP – 2012 – TJ/SP - Analista Judiciário - Tecnologia da Informação)
Considerando o conceito de Complexidade de Algoritmos, representado por O(função), assinale a alternativa que apresenta, de
forma crescente, as complexidades de algoritmos.
a) O(2n); O(n3); O(n2); O(log2 n); O(n.log2 n).
b) O(n2); O(n3); O(2n); O(log2 n); O(n.log2 n).
c) O(n3); O(n2); O(2n); O(n.log2 n); O(log2 n).
d) O(log2 n); O(n.log2 n); O(n2); O(n3); O(2n).
e) O(n.log2 n); O(log2 n); O(2n); O(n3); O(n2).
Em ordem crescrente de complexidade:
O(log2 n)
O(n.log2 n)
O(n2)
O(n3)
O(2n)
Gabarito: D
- (CESPE - 2013 – TRT/MS – Analista de Sistemas)
Considerando que se deseje efetuar uma pesquisa de um valor sobre a chave primária de uma tabela de um banco de dados com uma chave primária com um tipo de campo que receba um valor inteiro e que se possa fazer essa pesquisa utilizando-se a busca sequencial ou a busca binária, assinale a opção correta.
a) O método de busca binária requer, no máximo, ln(n) comparações para determinar o elemento pesquisado, em que n é o número de registros.
b) O método de busca binária será sempre mais rápido que o método de busca sequencial, independentemente de a tabela estar ordenada com base no elemento pesquisado.
c) O método de busca sequencial requererá, no máximo, n² comparações para determinar o elemento pesquisado, em que n será o número de registros.
d) O método de busca binária sempre efetuará menos comparações que o método de pesquisa sequencial.
e) O método de busca sequencial efetuará menos comparações para encontrar o elemento pesquisado quando a tabela estiver ordenada em comparação à situação quando a tabela estiver desordenada.
Busca Sequencial:
- Método:
Percorre linearmente cada elemento da lista até encontrar o item desejado ou concluir que ele não está presente.
- Eficiência:
( O(n) ) no pior caso, onde ( n ) é o número de elementos na lista.
- Aplicação:
Útil para listas não ordenadas ou quando não se tem conhecimento prévio sobre a organização dos dados.
- Complexidade:
Simples de implementar e adequado para pequenas quantidades de dados.
Busca Binária:
- Método:
Divide repetidamente uma lista ordenada pela metade, descartando a metade onde o item não pode estar até encontrar o item desejado.
- Eficiência:
( O(\log n) ) no caso médio e no melhor caso, onde ( n ) é o número de elementos na lista. No pior caso, é ( O(n) ) se a lista não estiver ordenada.
- Aplicação:
Eficiente para grandes conjuntos de dados ordenados, minimizando o número de comparações necessárias.
- Complexidade: Requer que a lista esteja ordenada antes da busca, mas oferece uma busca muito mais rápida em comparação com a busca sequencial.
Considerações Finais:
- A busca sequencial é direta, mas pode ser ineficiente para grandes conjuntos de dados.
- A busca binária é mais eficiente, mas requer que a lista esteja ordenada e é mais complexa de implementar.
- A escolha entre os métodos depende da natureza dos dados (ordenados ou não) e dos requisitos de desempenho do sistema.
Gabarito: A
- (CESPE - 2013 – TCE/RO – Analista de Sistemas)
Considere uma tabela de um banco de dados com chave primária e tipo de campo que receba um valor inteiro.
Ao se efetuar uma pesquisa de um valor sobre
a chave primária dessa tabela, o método de busca binária requer, no máximo, lg(n) comparações para localizar o elemento pesquisado, em que n é o número de registros.
A Busca Binária é um algoritmo de busca em vetores que segue o paradigma de divisão-e-conquista.
Parte-se do pressuposto de que o vetor está ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento chave com o elemento do meio do vetor.
Possui complexidade da ordem de O(log2
n), em que N é o tamanho do vetor de busca.
Conforme vimos em aula, de fato a complexidade da Busca Binária é O(log2 n).
Gabarito: C
- (FCC – 2016 - TRT - 14ª Região (RO e AC) - Analista Judiciário - Tecnologia da Informação)
Dada uma coleção de n elementos ordenados por ordem crescente, pretende-se saber se um determinado elemento x existe nessa coleção.
Supondo que essa coleção está implementada como sendo um vetor a[0…n-1] de n elementos inteiros, utilizando-se um algoritmo de pesquisa binária, o número de vezes que a comparação x==a[i] será executada, no pior caso, é calculada por:
a) n/2.
b) n−1.
c) √n.
d) log2(n).
e) n−=2.
A Busca Binária é um algoritmo de busca em vetores que segue o paradigma de divisão-e-conquista.
Parte-se do pressuposto de que o vetor está ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento chave com o elemento do meio do vetor.
Possui complexidade da ordem de O(log2
n), em que N é o tamanho do vetor de busca.
Gabarito: D
(UFRPE – 2022 – UFRPE) Sobre algoritmos e estrutura de dados, assinale a afirmativa correta.
a) Listas encadeadas ou ligadas são estruturas de dados estáticas, o que significa que o número de nós não pode ser modificado durante a execução do programa.
b) Pilhas são estruturas de dados do tipo FIFO (first-in first-out), em que o primeiro elemento a ser inserido será o primeiro a ser retirado.
c) Árvores são estruturas de dados do tipo FIFO (first-in first-out), em que o primeiro elemento a ser inserido será o primeiro a ser retirado.
d) Filas podem ser implementadas em listas encadeadas ou em vetores.
e) Pilhas só podem ser implementadas em listas encadeadas.
Para começar, as listas encadeadas são estruturas de dados dinâmicas, não estáticas, permitindo que o número de nós seja modificado durante a execução do programa, contrariando a primeira afirmação. Portanto, a afirmação sobre listas encadeadas serem estáticas é incorreta.
Além disso, a caracterização das pilhas como estruturas do tipo FIFO (first-in first-out) Também está equivocada, pois na realidade elas operam segundo o princípio LIFO, em que o último elemento inserido é o primeiro a ser retirado.
Quanto às árvores, a afirmação de que operam sob o princípio FIFO é igualmente falsa, pois as árvores são estruturas hierárquicas e não sequenciais, não se enquadrando nessa descrição de operação.
Já a afirmação de que pilhas só podem ser
implementadas em listas encadeadas também não é verdadeira, visto que pilhas podem ser implementadas tanto em listas encadeadas quanto em vetores, oferecendo flexibilidade na escolha da implementação.
A única afirmação correta é a que menciona que filas podem ser implementadas em listas encadeadas ou em vetores. Esta é uma descrição acurada das possibilidades de implementação de filas, uma vez que ambas as
estruturas permitem o funcionamento adequado do modelo FIFO, no qual o primeiro elemento inserido é oprimeiro a ser retirado.
Assim, nosso gabarito é a alternativa D. (Gabarito: Letra D).
(CESPE/CEBRASPE – 2019 – MPC-PA) Assinale a opção que apresenta a denominação da estrutura de dados constituída por um conjunto de elementos individualizados, em que cada um dos elementos — com exceção
dos elementos inicial e final — referencia sempre outros dois, um que o antecede e outro que o sucede.
a) lista circular
b) grafo
c) lista duplamente encadeada
d) árvore
e) pilha
Vamos analisar item a item:
a) lista circular
Uma lista em que cada elemento referencia o outro, porém com uma diferença: o último elemento referencia o primeiro também. A questão deixa claro que quer uma estrutrua de dados em que os elementos inicial e final não estejam ligados. Falso.
b) Grafo
Estrutura de dados com um conjunto de vértices ligados entre si por arestas. Falso.
c) lista duplamente encadeada
Uma lista em que cada elemento referencia o outro em ambas as direções: um elemento referencia o anterior e o próximo, exceto os elementos inicial e final. É isso aí. Verdadeiro.
d) Árvore
Estrutura de dados em que um nó possui 1 ou mais filhos, mas cada filho possui somente um pai. Falso.
e) pilha
Estrutura de dados usando a regra LIFO, last-in first-out, ou seja, o último a entrar é o primeiro a sair. Falso.
(Gabarito: Letra C).
(CESPE/CEBRASPE – 2017 – TRT-7) Considere uma estrutura de dados em que cada elemento armazenado apresenta ligações de apontamento com seu sucessor e com o seu predecessor, o que possibilita que ela seja percorrida em qualquer sentido. Trata-se de
a) uma fila.
b) um grafo.
c) uma lista duplamente encadeada.
d)uma pilha.
Vamos analisar item a item:
a) uma fila.
Estrutura de dados que segue a lógica FIFO (first-in, first-out), ou “primeiro a entrar é o primeiro a sair”. Os elementos são inseridos no fim da fila e removidos no início. Falso.
b)um grafo.
Grafo é uma estrutura de dados com um conjunto de vértices e arestas que os ligam. Falso.
c) uma lista duplamente encadeada.
É uma estrutura de dados que armazena uma sequência de elementos que possuem ligações de apontamento, ou ponteiros, entre si, em ambas as direções. Isso permite percorrer a lista em qualquer sentido. Verdadeiro.
d) uma pilha.
Estrutura de dados que segue a lógica LIFO, ou last-in first-out, que significa “o último a entrar é o primeiro a sair”. Falso.
(Gabarito: Letra C).
(CESPE/CEBRASPE – 2017 – TRE-TO) A estrutura de dados que consiste no armazenamento de cada elemento em um endereço calculado a partir da aplicação de uma função sobre a chave de busca denomina-se
a) lista.
b) tabela hashing.
c) deque.
d) fila.
e) árvore binária balanceada.
Vamos analisar item a item:
a) lista.
Estrutura de dados que armazena uma sequência de elementos, cada um apontando para o seu sucessor na lista. Falso.
b) tabela hashing.
Estrutura de dados que permite armazenar e recuperar os elementos diretamente ou quase diretamente, por meio de uma chave de busca.
Cada elemento é armazenado em um endereço que é calculado por uma função de hash, que é aplicada sobre a chave de busca.
A função de hash gera um índice, que é um endereço do elemento na tabela.
Dessa forma, o acesso é direto, ou próximo do direto, sem precisar percorrer toda a tabela. Verdadeiro.
c) deque.
Estrutura de dados para inserir e remover tanto no início quanto no fim da estrutura. Falso.
d) fila.
Estrutura de dados que segue a lógica FIFO (first-in, first-out), ou “primeiro a entrar é o primeiro a sair”. Os elementos são inseridos no fim da fila e removidos no início. Falso.
e) árvore binária balanceada.
É uma estrutura de dados em formato de árvore. Cada nó possui, no máximo, dois filhos, e os níveis da árvore estão balanceados, o que garante eficiência nas operações de inserção, remoção e busca.
(Gabarito: Letra B)
(CESPE/CEBRASPE – 2017 – TRF-1) Acerca de estrutura de dados, julgue o próximo item.
A fila é uma lista de elementos em que os itens são sempre inseridos em uma das extremidades e excluídos da outra.
Fila é uma estrutura de dados que segue a lógica FIFO (first-in first-out) armazena elementos de forma sequencial, permitindo a inserção de novos elementos no final da estrutura e a remoção de elementos do
início. Então, está certo.
(Gabarito: Certo)
(CESPE - 2012 - Banco da Amazônia - Técnico Científico - Administração de Dados) O tipo de dados árvore representa organizações hierárquicas entre dados.
Comentários: Perfeito, observem que alguns autores tratam Tipos de Dados como sinônimo de Estruturas de Dados.
Gabarito: C
(CETAP - 2010 - AL-RR - Analista de Sistemas - A) Uma árvore binária é aquela que tem como conteúdo somente valores binários.
Não! Uma árvore binária é aquela que tem, no máximo, grau 2!
Gabarito: E
(CESPE/CEBRASPE – 2017 – TRF-1) Acerca dos conceitos de árvores e grafos, julgue o item que se segue.
A soma dos graus de todos os vértices de um grafo é sempre par.
Um vértice é um nó do grafo. Já o grau de um vértice é o número de arestas do vértice. Cada aresta conta dois graus para a soma total, sendo um grau para cada vértice que ela conecta. Por isso, a soma será sempre par.
Gabarito: Correto.
(CESPE/CEBRASPE – 2020 – TJ-PA)
De acordo com a figura anterior, o procedimento
CONSULTA (x)
1 while esquerda [x] ≠ NIL
2 do x <- esquerda [x]
3 return x
realiza, na árvore, a consulta de
a) search.
b) minimum.
c) maximum.
d) successor.
e) predecessor.
Trata-se de uma árvore binária. Nessa estrutura, os nós filhos da esquerda sempre possuem um valor menor do que os da direita.
Os menores valores da árvore estarão à esquerda.
Dito isso, o algoritmo percorre os nós da esquerda sempre. Ou seja, vai chegar no número 2.
Significa que está procurando o menor valor da árvore. Ou seja, resposta é minimum.
(Gabarito: Letra B)
- (CESPE/CEBRASPE – 2020 – Ministério da Economia)
A respeito de dados, informação, conhecimento e inteligência, julgue o próximo item.
Embora com características particulares, dados não estruturados podem ser classificados em sua totalidade, assim como os dados estruturados.
Dados não estruturados não possuem uma estrutura pré-definida e, portanto, é computacionalmente muito difícil que sejam classificados ou processados por meio de métodos automatizados.
Já os dados estruturados possuem uma
estrutura pré-definida, tornando mais fácil de serem classificados ou processados por métodos automatizados.
Ou seja, os dois não são a mesma coisa para serem classificados em sua totalidade.
Gabarito: Errado
- (FGV – 2015 – DPE/MT – Analista de Sistemas) No desenvolvimento de sistemas, a escolha de
estruturas de dados em memória é especialmente relevante.
Dentre outras classificações, é possível
agrupar essas estruturas em lineares e não lineares, conforme a quantidade de sucessores e antecessores que os elementos da estrutura possam ter.
Assinale a opção que apresenta, respectivamente, estruturas de dados lineares e não lineares.
a) Tabela de dispersão e fila.
b) Estrutura de seleção e pilha.
c) Pilha e estrutura de seleção.
d) Pilha e árvore binária de busca.
e) Fila e pilha.
Além dessa classificação, existe outra também importante: Estruturas Lineares e Estruturas Não-Lineares.
As Estruturas Lineares são aquelas em que cada elemento pode ter um único predecessor (exceto o primeiro elemento) e um único sucessor (exceto o último elemento). Como exemplo, podemos citar Listas, Pilhas, Filas, Arranjos, entre outros.
Já as Estruturas Não-Lineares são aquelas em que cada elemento pode ter mais de um predecessor e/ou mais de um sucessor. Como exemplo, podemos citar Árvores, Grafos e Tabelas de Dispersão.
Essa é uma classificação muito importante e muito simples de entender.
Pessoal, vocês perceberão que esse assunto é
cobrado de maneira superficial na maioria das questões, mas algumas são nível doutorado!
Conforme vimos em aula, trata-se de pilha e árvore respectivamente.
Gabarito: Letra D
- (CESPE – 2010 – DETRAN/ES – Analista de Sistemas)
Um tipo abstrato de dados apresenta uma parte destinada à implementação e outra à especificação. Na primeira, são descritas, em forma sintática e semântica, as operações que podem ser realizadas; na segunda, os objetos e as operações são representados por meio de representação, operação e inicialização.
A Especificação Sintática define o nome do tipo, suas operações e o tipo dos argumentos das operações, definindo a assinatura do TAD.
A Especificação Semântica descreve propriedades e efeitos das operações de
forma independente de uma implementação específica.
E a Especificação de Restrições estabelece as
condições que devem ser satisfeitas antes e depois da aplicação das operações.
Conforme vimos em aula, temos duas partes: Especificação e Implementação. Sendo que a especificação se divide em Especificação Sintática e Semântica e Implementação se divide em Representação e Algoritmos.
Logo, a questão está invertida: na segunda, são descritas, em forma sintática e semântica, as operações que podem ser realizadas; na primeira, os objetos e as operações são representados por meio de representação,
operação e inicialização.
Gabarito: Errado
- (CESPE – 2010 – TRT/RN – Analista de Sistemas)
O tipo abstrato de dados consiste em um modelo matemático (v,o), em que v é um conjunto de valores e o é um conjunto de operações que podem ser realizadas sobre valores.
Por fim, vamos falar sobre Tipos Abstratos de Dados (TAD). Podemos defini-lo como um modelo matemático (v,o), em que v é um conjunto de valores e o é um conjunto de operações que podem ser realizadas sobre
valores. Eu sei, essa definição é horrível de entender! Para compreender esse conceito, basta lembrar de abstração, i.e., apresentar interfaces e esconder detalhes.
Conforme vimos em aula, a questão está conforme nós descrevemos em nossa aula. Essa é a definição formal de Tipos Abstratos de Dados.
Gabarito: Correto
- (CESPE – 2010 – BASA – Analista de Sistemas)
A escolha de estruturas internas de dados utilizados por um programa pode ser organizada a partir de TADs que definem classes de objetos com características
distintas.
Em outras palavras, o nível semântico trata do comportamento de um tipo abstrato de dados; e o nível sintático trata da apresentação de um tipo abstrato de dados.
Podemos dizer, então, que o TAD encapsula uma estrutura de dados com características semelhantes – podendo ser formado por outros TADs –, e esconde a efetiva implementação dessa estrutura de quem a manipula.
Conforme vimos em aula, definem classes de objetos com características semelhantes.
Gabarito: Errado
- (CESPE – 2010 – BASA – Analista de Sistemas) A descrição dos parâmetros das operações e os efeitos da ativação das operações representam, respectivamente, os níveis sintático e semântico em que ocorre a especificação dos TDAs.
A Especificação Sintática define o nome do tipo, suas operações e o tipo dos argumentos das operações, definindo a assinatura do TAD.
A Especificação Semântica descreve propriedades e efeitos das operações de
forma independente de uma implementação específica.
E a Especificação de Restrições estabelece as
condições que devem ser satisfeitas antes e depois da aplicação das operações.
Conforme vimos em aula, realmente se trata respectivamente do nível sintático e semântico.
Gabarito: Correto
- (FCC – 2010 – TRE/AM – Analista de Sistemas) Em relação aos tipos abstratos de dados - TAD, é correto afirmar:
a) O TAD não encapsula a estrutura de dados para permitir que os usuários possam ter acesso a todas as operações sobre esses dados.
b) Na transferência de dados de uma pilha para outra, não é necessário saber como a pilha é
efetivamente implementada.
c) Alterações na implementação de um TAD implicam em alterações em seu uso.
d) Um programador pode alterar os dados armazenados, mesmo que não tenha conhecimento de sua implementação.
e) TAD é um tipo de dados que esconde a sua implementação de quem o manipula.
Em outras palavras, o nível semântico trata do comportamento de um tipo abstrato de dados; e o nível sintático trata da apresentação de um tipo abstrato de dados. Podemos dizer, então, que o TAD encapsula uma estrutura de dados com características semelhantes – podendo ser formado por outros TADs –, e esconde a efetiva implementação dessa estrutura de quem a manipula.
(a) Errado, ele encapsula a estrutura de dados;
(b) Correto, não é necessário saber a implementação, porém a FCC marcou o gabarito como errado;
(c) Errado, a implementação pode mudar livremente;
(d) Errado, sem conhecimento da implementação, ele não poderá alterar dados armazenados;
(e) Correto, esse item também está correto
(Lembrem-se: Na FCC, muitas vezes tempos que marcar a mais correta ou a menos errada – infelizmente!).
Gabarito: Letra E
- (FCC – 2009 – TRE/PI – Analista de Sistemas) Em relação a tipos abstratos de dados, é correto afirmar que:
a) o TAD não encapsula a estrutura de dados para permitir que os usuários possam ter acesso a todas as operações disponibilizadas sobre esses dados.
b) algumas pilhas admitem serem declaradas como tipos abstratos de dados.
c) filas não permitem declaração como tipos abstratos de dados.
d) os tipos abstratos de dados podem ser formados pela união de tipos de dados primitivos, mas não por outros tipos abstratos de dados.
e) são tipos de dados que escondem a sua implementação de quem o manipula; de maneira geral as operações sobre estes dados são executadas sem que se saiba como isso é feito.
Em outras palavras, o nível semântico trata do comportamento de um tipo abstrato de dados; e o nível sintático trata da apresentação de um tipo abstrato de dados. Podemos dizer, então, que o TAD encapsula uma estrutura de dados com características semelhantes – podendo ser formado por outros TADs –, e esconde a efetiva implementação dessa estrutura de quem a manipula.
(a) Errado. Pelo contrário, ele encapsula a estrutura de dados de modo que o usuário não tem acesso a implementação das operações;
(b) Correto. Todas elas admitem, porém a FCC marcou o gabarito como errado;
(c) Errado. Elas permitem a declaração como tipos abstratos de dados;
(d) Errado. Um TAD pode ser formado por outros TADs;
(e) Correto. Escondem a implementação de quem os manipula.
Gabarito: Letra E
- (IBFC – 2022 – DETRAN-AM)
Relacione as duas colunas quanto aos respectivos tipos de Estruturas de Dados:
(A) Vetores
(B) Registros
(C) Matrizes
(1) Homogêneas
(2) Heterogêneas
a) A2 - B1 - C2
b) A1 - B1 - C2
c) A2 - B2 - C1
d) A1 - B2 - C1
Por definição, temos que:
- Estruturas de dados homogêneas: seus elementos possuem o mesmo tipo de dado básico.
- Estrutura de dados heterogênea: seus elementos possuem tipos de dados distintos.
Via de regra, um vetor e uma matriz possuem sempre o mesmo tipo de dados: um vetor de inteiro, um vetor de string, um vetor de booleanos, e assim por diante. Portanto, são homogêneos.
Já um registro é um agrupamento de várias variáveis, cada uma podendo ter um tipo de dados diferente. Portanto, é heterogêneo.
Assim, A1 – B2 – C1.
Gabarito: Letra D
- (IADES – 2022 – ADASA)
Com base nas definições referentes à estrutura de dados digitais, à vetorização e à digitalização, assinale a alternativa correta.
a) A estrutura vetorial é composta por uma grade homogênea de linhas e colunas.
b) A digitalização é o processo de mudança de documentos cartográficos do formato vetorial para o formato raster.
c) A digitalização é o processo de transformação de documentos cartográficos do formato vetorial para o formato digital.
d) A vetorização é o processo de conversão de um arquivo vetorial para o formato raster.
e) A estrutura matricial é representada por uma matriz com “n” linhas e “m” colunas, na qual cada célula apresenta um valor “z” que pode indicar, por exemplo, uma cor ou um tom de cinza a ele atribuída.
Vamos analisar item a item:
a) A estrutura vetorial é composta por uma grade homogênea de linhas e colunas.
A estrutura vetorial é linear e homogênea. O correto seria dizer que a estrutura matricial é composta por uma grade homogênea de linhas e colunas, e não vetorial. Falso.
b) A digitalização é o processo de mudança de documentos cartográficos do formato vetorial para o formato raster.
A digitalização vai transformar documentos analógicos em formato digital. Falso.
c) A digitalização é o processo de transformação de documentos cartográficos do formato vetorial para o formato digital.
A digitalização vai transformar documentos analógicos em formato digital. Falso.
d) A vetorização é o processo de conversão de um arquivo vetorial para o formato raster.
A vetorização converte um arquivo raster em arquivo vetorial. Falso.
e) A estrutura matricial é representada por uma matriz com “n” linhas e “m” colunas, na qual cada célula apresenta um valor “z” que pode indicar, por exemplo, uma cor ou um tom de cinza a ele atribuída. Esta é uma boa definição de matriz. Correto!
Gabarito: Letra E
- (UFPRE – 2022 – UFPRE)
A estrutura de dados “vetor” (array) é um arranjo unidimensional que pode acomodar múltiplos dados.
Sobre essas estruturas de dados, assinale a alternativa incorreta.
a) Os dados de um vetor são mapeados numa área contígua da memória.
b) Os dados de um vetor são do mesmo tipo.
c) Cada um dos dados de um vetor pode ser acessado informando-se o identificador do vetor e o inteiro que indica a ordem do dado na sequência.
d) Os dados de um vetor são armazenados na memória ordenadamente, em modo crescente.
e) Pode-se atribuir um dado a um elemento de qualquer posição do vetor, independentemente do que foi atribuído aos demais elementos.
A questão quer a alternativa falsa. Vamos analisar item a item:
a) Os dados de um vetor são mapeados numa área contígua da memória.
É isso mesmo, os vetores ficam numa área sequencial ou contígua da memória. Verdadeiro.
b) Os dados de um vetor são do mesmo tipo.
De fato, o vetor é homogêneo, ou seja, todos os seus elementos têm o mesmo tipo básico. Verdadeiro.
c) Cada um dos dados de um vetor pode ser acessado informando-se o identificador do vetor e o inteiro que indica a ordem do dado na sequência.
Isso mesmo, os dados do vetor podem ser acessados considerando um valor inteiro. Por exemplo, iniciando se no 0, vetor[0] acessa o elemento na primeira posição, enquanto vetor[3] acessa o elemento na quarta posição. Verdadeiro.
d) Os dados de um vetor são armazenados na memória ordenadamente, em modo crescente.
Não é regra que os dados em si do vetor estejam armazenados de modo crescente. Eles podem estar, mas não é regra. Falso.
e) Pode-se atribuir um dado a um elemento de qualquer posição do vetor, independentemente do que foi atribuído aos demais elementos.
Sim, um dado pode ser atribuído a qualquer posição, e os valores das demais posições são irrelevantes. Verdadeiro.
Gabarito: Letra D
- (FUNDATEC – 2022 – Prefeitura de Restinga Sêca - RS)
Assinale a estrutura de dados linear e estática, caracterizada por uma sequência de elementos de um mesmo tipo de dado e que são armazenados em posições consecutivas de memória.
a) Matriz.
b) Lista ligada.
c) Registro.
d) Árvore binária.
e) Vetor.
Vamos de item a item:
a) Matriz.
Matriz é uma estrutura de dados bidimensional, e não linear. Falso.
b) Lista ligada.
Uma lista ligada não tem, necessariamente, os seus elementos em posições consecutivas de memória. Falso.
c) Registro.
Um registro não necessariamente tem os elementos do mesmo tipo. Falso.
d) Árvore binária.
Uma árvore binária é uma estrutura hierárquica, e não linear. Falso.
e) Vetor.
A definição do enunciado é uma ótima definição de vetor. Verdadeiro.
Gabarito: Letra E
- (FCC – 2019 – SANASA Campinas)
Um Analista de TI necessitou usar uma estrutura de dados simples que utilizasse pouca carga de memória de armazenamento.
Tal estrutura é vista como um arranjo cuja
capacidade pode variar dinamicamente, isto é, se o espaço reservado for totalmente ocupado e algum espaço adicional for necessário, este será alocado automaticamente não havendo a necessidade de se preocupar com a capacidade de armazenamento ou sua ocupação.
Contudo, para que se possa utilizar essa coleção de dados de forma adequada, algumas informações necessárias devem ser mantidas
internamente, tais como a quantidade total de elementos e a última posição ocupada na coleção, conforme exemplificado na figura abaixo.
Trata-se da estrutura linear unidimensional
a) string.
b) hashing.
c) árvore.
d) matriz.
e) vetor.
Vamos analisar item a item:
a) string.
Para ser uma string, deveria armazenar caracteres, o que não é informado no enunciado. Falso.
b) hashing.
Para ser hashing, deveria ser mencionado um algoritmo de hashing, o que não é informado. Falso.
c) árvore.
Para ser uma árvore, deveriam ser mencionadas estruturas como nós e filhos, o que não é o caso. Falso.
d) matriz.
Para ser uma matriz, a estrutura deveria ter linhas e colunas. Mas ela é uma estrutura unidirecional. Falso.
e) vetor.
As informações ditas no enunciado se referem a um vetor. Verdadeiro.
Gabarito: Letra E
- (FCC – 2012 – TJ-RJ) O algoritmo conhecido como busca binária é um algoritmo de desempenho ótimo para encontrar a posição de um item em
a) uma árvore B.
b) uma lista ligada ordenada.
c) uma árvore de busca binária.
d) um heap binário.
e) um vetor ordenado.
O algoritmo de busca binária realiza buscas em uma estrutura linear e ordenada, que permita acesso direto aos seus elementos por meio de um índice numérico, e dividindo a estrutura ao meio e buscando em suas metades.
Por isso, vamos analisar item a item:
a) uma árvore B.
Uma árvore é uma estrutura hierarquizada, e não linear. Falso.
b) uma lista ligada ordenada.
Uma lista ligada não permite o acesso direto aos seus elementos por meio de um índice numérico. Falso.
c) uma árvore de busca binária.
Uma árvore é uma estrutura hierarquizada, e não linear. Falso.
d) um heap binário.
Um heap binário não está necessariamente com os dados ordenados. Falso.
e) um vetor ordenado.
Essa é a resposta correta, pois o vetor está ordenado, e permite acesso direto aos elementos por um índice numérico. Correto!
Gabarito: Letra E
- (FCC - 2009 - TJ-PA - Analista Judiciário - Tecnologia da Informação)
Considere uma estrutura de dados do tipo vetor. Com respeito a tal estrutura, é correto que seus componentes são, caracteristicamente,
a) heterogêneos e com acesso FIFO.
b) heterogêneos e com acesso LIFO.
c) heterogêneos e com acesso indexado-sequencial.
d) homogêneos e acesso não indexado.
e) homogêneos e de acesso aleatório por intermédio de índices.
Vetores possuem componentes homogêneos, i.e., todos os dados são de apenas um único tipo básico de dados.
Ademais, seu acesso é aleatório por meio de índices!
Bem, seria mais correto dizer que seu acesso é
direto.
Gabarito: E
- (CETAP - 2010 - AL-RR - Analista de Sistemas) Matrizes são estruturas de dados de n-dimensões. Por simplicidade, chamaremos de matrizes as matrizes bidimensionais numéricas (que armazenam números inteiros).
Sendo assim, marque a alternativa INCORRETA.
a) Uma matriz de m linhas e n colunas contêm (m * n) dados.
b) Uma matriz pode ser representada utilizando listas ligadas.
c) A soma dos elementos de uma matriz pode ser calculada fazendo dois laços aninhados, um sobre as linhas e o outro sobre as colunas.
d) A soma de duas matrizes de m linhas e n colunas resulta em uma matriz de 2m linhas e 2n colunas.
e) O produto de duas matrizes de n linhas e n colunas resulta em uma matriz de n linhas e n colunas.
(a) Perfeito, são M x N colunas;
(b) Perfeito, podem ser utilizadas listas ligadas;
(c) Perfeito, um laço para as linhas e outro para as colunas;
(d) Não, a soma de uma Matriz 3x5 com outra Matriz 3x5 resulta em uma Matriz 3x5;
(e) Perfeito, uma Matriz 2x2 multiplicada por outra Matriz 2x2 resulta em uma Matriz 2x2.
Gabarito: Letra D
- (CESPE - 2010 - Banco da Amazônia - Técnico Científico - Tecnologia da Informação - Arquitetura de Tecnologia)
Os dados armazenados em uma estrutura do tipo matriz não podem ser acessados de
maneira aleatória. Portanto, usa-se normalmente uma matriz quando o volume de inserção e remoção de dados é maior que o volume de leitura dos elementos armazenados.
Podem, sim, ser acessados de maneira aleatória ou direta, por meio de seus índices. Ademais, usa-se normalmente uma matriz quando o volume de leitura de elementos armazenados é maior que o volume de inserção e remoção de dados. Ora, é possível fazer acesso direto, logo é eficiente mesmo com alto volume de leitura.
Gabarito: Errado
- (CESPE - 2008 - TRT - 5ª Região (BA) - Técnico Judiciário - Tecnologia da Informação)
Entre alguns tipos de estrutura de dados, podem ser citados os vetores, as pilhas e as filas.
Questão extremamente simples – realmente são exemplos de estruturas de dados.
Gabarito: Correto
- (CESPE - 2011 - EBC - Analista - Engenharia de Software)
Vetores são utilizados quando estruturas
indexadas necessitam de mais que um índice para identificar um de seus elementos.
Não! Se são necessários mais de um índice, utilizam-se Matrizes! Vetores necessitam apenas de um índice.
Gabarito: Errado
- (CESPE - 2010 - TRE-BA - Analista Judiciário - Análise de Sistemas)
Vetores podem ser considerados como listas de informações armazenadas em posição contígua na memória.
Perfeito! Vetores podem ser considerados como listas de informações? Sim!
As informações (dados) são armazenadas em posição contígua na memória? Sim, em geral são armazenados de forma contígua.
Gabarito: Correto
- (CESPE - 2010 - TRE-BA - Analista Judiciário - Análise de Sistemas)
Uma posição específica de um vetor pode ser acessada diretamente por meio de seu índice.
Perfeito! Observem que vetores são diferentes de listas, nesse sentido. Eu posso acessar qualquer elemento diretamente por meio de seu índice.
Gabarito: Correto
- (UFV – 2022 – UFV-MG) Considere as afirmativas a seguir sobre estrutura de dados:
I. Uma estrutura de dados heterogênea envolve a utilização de mais de um tipo básico de dado.
II. Uma lista encadeada pode ser definida como uma sequência de células em que cada célula contém um elemento e o endereço da célula seguinte.
III. Uma pilha é uma estrutura de dados baseada no princípio “First In First Out” (FIFO).
IV. Filas e pilhas são estruturas de dados lineares; o organograma de uma empresa pode ser representado por uma estrutura de árvore.
Está CORRETO o que se afirma, apenas, em:
a) I e II.
b) I e III.
c) I, II e IV.
d) II, III e IV.
Vamos analisar item a item:
I. Uma estrutura de dados heterogênea envolve a utilização de mais de um tipo básico de dado.
Isso mesmo. Significa que cada elemento da estrutura de dados pode ter mais de um tipo básico de dado. Por exemplo, um inteiro, uma string, um booleano, etc. Verdadeiro.
II. Uma lista encadeada pode ser definida como uma sequência de células em que cada célula contém um elemento e o endereço da célula seguinte. Essa é a definição de lista encadeada simples. Certo.
III. Uma pilha é uma estrutura de dados baseada no princípio “First In First Out” (FIFO).
Na verdade, a pilha segue a estrutura de dados com a regra LIFO (last-in first-out), ou seja, o último a entrar é o primeiro a sair. Falso.
IV. Filas e pilhas são estruturas de dados lineares; o organograma de uma empresa pode ser representado por uma estrutura de árvore.
Filas e pilhas são estruturas lineares de fato, e uma árvore é uma estrutura hierárquica, e, por isso, um organograma de uma empresa pode ser representado por ela. Verdadeiro.
Corretas: I, II e IV.
Gabarito: Letra C
- (Quadrix – 2022 – PRODAM-AM)
Assinale a alternativa que apresenta o nome do tipo de estrutura em que cada elemento armazena um ou vários dados e um ponteiro para o próximo elemento, que permite o encadeamento e mantém a estrutura linear, sendo que, nesse tipo de estrutura, são
abordadas as seguintes operações: inserir no início da lista; inserir no fim; consultar toda a lista; remover um elemento qualquer dela; e esvaziá-la.
a) lista simplesmente encadeada e não ordenada
b) lista simplesmente encadeada e ordenada
c) lista duplamente encadeada e não ordenada
d) lista duplamente encadeada e não ordenada
e) lista triplamente encadeada
O enunciado fala em ponteiro para o próximo elemento, e não cita ponteiro para o elemento anterior.
Portanto, dá para inferir que se trata de uma lista simplesmente encadeada.
O enunciado também não fala em ordenação. Portanto, seria uma lista simplesmente encadeada e não ordenada.
Gabarito: Letra A
- (FUNDATEC – 2022 – IF-RS)
Que tipo de estrutura de dados está representada na Figura 1 abaixo?
a) Árvore binária.
b) Fila.
c) Pilha.
d) Lista ligada.
e) Vetor.
Note que cada elemento possui um ponteiro para o próximo, exceto o último, que aponta para “null”. Trata-se de uma lista ligada.
Como a questão não fala sobre regras de inserção e remoção (LIFO ou FIFO), não pode ser fila ou pilha.
Como é uma estrutura sequencial, não pode ser árvore, que é uma estrutura hierárquica.
Para ser um vetor, deveria ter seus elementos em posições de memória sequenciais, e não utilizando ponteiros.
Portanto, é uma lista ligada.
Gabarito: Letra D
- (IBADE – 2022 – SES-MG)
Uma estrutura de dados onde existe uma coleção ordenada de entidades sendo a metodologia de busca com base no deslocamento relativo ao primeiro (cabeça) da coleção, chama-se:
a) árvore.
b) lista.
c) pilha.
d) fila.
e) árvore binária.
Vamos analisar item a item:
a) árvore.
Em uma árvore, o deslocamento é feito a partir do nó raiz, e não da cabeça. Falso.
b) lista.
Em uma lista, temos a referência ao primeiro elemento, que é chamado de cabeça. Depois, cada elemento tem um apontamento para o próximo. Dessa forma, para buscar, temos que, de fato, ir da cabeça e seguir aos seguintes.
Verdadeiro.
c) pilha.
Em uma pilha, temos o topo da pilha. Neste caso, temos apenas 3 operações: top, para ver qual elemento está no topo da pilha; pop, para remover o elemento do topo da pilha; e push, para incluir um elemento na pilha. Não há
operação para deslocar sobre ela. Falso.
d) fila.
Em uma fila, temos duas extremidades, e duas operações: uma para inserir um elemento ao final, e outra pra retirar do início. Não é o caso de haver uma “cabeça” inicial para percorrer as demais. Falso.
e) árvore binária.
Em uma árvore binária, percorre-se do nó raiz, e não da cabeça. Falso.
Gabarito: Letra B
- CESPE/CEBRASPE – 2019 – MPC-PA)
Assinale a opção que apresenta a denominação da estrutura de dados constituída por um conjunto de elementos individualizados, em que cada um dos elementos — com exceção dos elementos inicial e final — referencia sempre outros dois, um que o antecede e outro que o sucede.
a) lista circular
b) grafo
c) lista duplamente encadeada
d) árvore
e) pilha
Vamos analisar item a item:
a) lista circular
Uma lista em que cada elemento referencia o outro, porém com uma diferença: o último elemento referencia o primeiro também. A questão deixa claro que quer uma estrutrua de dados em que os elementos inicial e final não
estejam ligados. Falso.
b) Grafo
Estrutura de dados com um conjunto de vértices ligados entre si por arestas. Falso.
c) lista duplamente encadeada
Uma lista em que cada elemento referencia o outro em ambas as direções: um elemento referencia o anterior e o próximo, exceto os elementos inicial e final. É isso aí. Verdadeiro.
d) Árvore
Estrutura de dados em que um nó possui 1 ou mais filhos, mas cada filho possui somente um pai. Falso.
e) pilha
Estrutura de dados usando a regra LIFO, last-in first-out, ou seja, o último a entrar é o primeiro a sair. Falso.
Gabarito: Letra C
- (CESPE/CEBRASPE – 2017 – TRT-7)
Considere uma estrutura de dados em que cada elemento armazenado apresenta ligações de apontamento com seu sucessor e com o seu predecessor, o que possibilita que ela seja percorrida em qualquer sentido. Trata-se de
a) uma fila.
b) um grafo.
c) uma lista duplamente encadeada.
d) uma pilha.
Vamos analisar item a item:
a) uma fila.
Estrutura de dados que segue a lógica FIFO (first-in, first-out), ou “primeiro a entrar é o primeiro a sair”. Os elementos são inseridos no fim da fila e removidos no início. Falso.
b) um grafo.
Grafo é uma estrutura de dados com um conjunto de vértices e arestas que os ligam. Falso.
c) uma lista duplamente encadeada.
É uma estrutura de dados que armazena uma sequência de elementos que possuem ligações de apontamento, ou ponteiros, entre si, em ambas as direções. Isso permite percorrer a lista em qualquer sentido. Verdadeiro.
d) uma pilha.
Estrutura de dados que segue a lógica LIFO, ou last-in first-out, que significa “o último a entrar é o primeiro a sair”. Falso.
Gabarito: Letra C
- (CESPE/CEBRASPE – 2018 – BNB)
Uma lista encadeada é basicamente uma estrutura de dados em lista em que cada nó possui três campos: um para os dados, um para o endereço do nó anterior, e outro para o endereço do nó posterior.
Este é o conceito de lista duplamente encadeada, e não da lista encadeada. No caso, uma lista encadeada possui um endereço apenas para o nó posterior, e não para o anterior.
Gabarito: Errado
- (CESPE/CEBRASPE – 2018 – BNB)
Uma lista encadeada é basicamente uma estrutura de dados em lista em que cada nó possui três campos: um para os dados, um para o endereço do nó anterior, e outro para o endereço do nó posterior.
Este é o conceito de lista duplamente encadeada, e não da lista encadeada. No caso, uma lista encadeada possui um endereço apenas para o nó posterior, e não para o anterior.
Gabarito: Errado
- (FCC – 2013 – DPE-SP) Em uma ___I____ , para cada novo elemento inserido na estrutura, alocamos um espaço de memória para armazená-lo. Desta forma, o espaço total de memória gasto pela estrutura é proporcional ao número de elementos nela armazenados.
No entanto, não podemos garantir que os elementos armazenados na lista ocuparão um espaço de ___II____ contíguo, portanto, não temos acesso direto aos elementos da lista.
Para que seja possível percorrer todos os elementos da ____III____ , devemos explicitamente guardar o encadeamento dos elementos, o que é feito armazenando-se, junto com a informação de cada elemento, um ______IV______ para o próximo elemento da ____V____ .
As lacunas de I a V, são preenchidas, corretas e respectivamente, por:
a) estrutura de pilha - tamanho - memória - array - pilha
b) lista encadeada - memória - lista - ponteiro - lista
c) estrutura de filas (FIFO) - disco - sequência - buffer - memória alocada
d) arquitetura de memória primária - tamanho - fila - contador sequencial - conexão
e) arquitetura TCP/IP - tamanho fixo - conexão - número de roteamento - tabela MTU
Podemos perceber que o enunciado está falando de listas encadeadas, já que, para cada novo elemento, alocamos um espaço na memória para armazená-lo, e não necessariamente estes espaços são contíguos, de modo que são ligados entre si por ponteiros ou referências. Portanto, é letra B.
A letra a) fala de pilha, portanto está errada já no primeiro item.
A letra c) fala de filas, e, portanto, também está errada.
Os demais itens d) e e) não têm nada a ver com o assunto.
Gabarito: Letra B
- (FCC – FAURGS – SES-RS) Qual é a afirmativa correta sobre estruturas de dados?
a) Uma pilha armazena os dados em uma estrutura de dados do tipo árvore binária.
b) Listas encadeadas são estruturas que encadeiam os elementos através de um ponteiro no qual todos os elementos, exceto o último, apontam para o seguinte.
c) Em uma pilha, o primeiro elemento a ser inserido será o primeiro a ser retirado, ou seja, adicionam-se itens no fim e removem-se do início.
d) Uma fila armazena os dados em uma estrutura de dados do tipo grafo.
e) Em uma fila, o primeiro elemento a ser inserido será o último a ser retirado, ou seja, adicionam-se e removem- se itens no início.
Vamos analisar item a item:
a) Uma pilha armazena os dados em uma estrutura de dados do tipo árvore binária. Não. Uma pilha armazena dados em uma estrutura de dados do tipo lista, seguindo a regra LIFO (last-in first-out), ou
seja, o último a entrar é o primeiro a sair. Falso.
b) Listas encadeadas são estruturas que encadeiam os elementos através de um ponteiro no qual todos os elementos, exceto o último, apontam para o seguinte. Definição correta de listas encadeadas simples. Verdadeiro.
c) Em uma pilha, o primeiro elemento a ser inserido será o primeiro a ser retirado, ou seja, adicionam-se itens no fim e removem-se do início. Na verdade, uma pilha armazena dados em uma estrutura de dados do tipo lista, seguindo a regra LIFO (last-in firstout),
ou seja, o último a entrar é o primeiro a sair. Falso.
d) Uma fila armazena os dados em uma estrutura de dados do tipo grafo. Não. Uma fila armazena dados em uma estrutura de dados do tipo lista, seguindo a regra FIFO (first-in last-out), ou seja, o primeiro a entrar é o primeiro a sair. Falso.
e) Em uma fila, o primeiro elemento a ser inserido será o último a ser retirado, ou seja, adicionam-se e removem- se itens no início. Não. A regra da fila é a FIFO (first-in last-out), ou seja, o primeiro a entrar é o primeiro a sair. Falso.
Gabarito: Letra B
- (CESPE - 2012 - Banco da Amazônia - Técnico Científico - Administração de Dados) O tempo de busca de um elemento em uma lista duplamente encadeada é igual à metade do tempo da busca de um elemento em uma lista simplesmente encadeada.
Não! Apesar de permitir que se percorra a lista em ambas as direções, em média ambas possuem o mesmo tempo de busca de um elemento.
Gabarito: Errado
- (CESPE - 2012 - Banco da Amazônia - Técnico Científico - Administração de Dados) Em algumas implementações, uma lista vazia pode ter um único nó, chamado de sentinela, nó cabeça ou header.
Entre suas possíveis funções, inclui-se simplificar a implementação de algumas operações realizadas sobre a lista, como inserir novos dados, recuperar o tamanho da lista, entre outras.
Perfeito! Ele simplifica a implementação de algumas operações porque se guarda o endereço do primeiro e do último elemento de uma estrutura de dados de modo que o programador não precisa conhecer a estrutura de implementação da lista para realizar suas operações.
Gabarito: Correto
- (CESPE - 2012 - Banco da Amazônia - Técnico Científico - Administração de Dados) Estruturas ligadas como listas encadeadas superam a limitação das matrizes que não podem alterar seu tamanho inicial.
Perfeito! Listas Encadeadas admitem alocação dinâmica, em contraste com as matrizes.
Gabarito: Correto
- (CESPE - 2012 - Banco da Amazônia - Técnico Científico - Administração de Dados) As listas duplamente encadeadas diferenciam-se das listas simplesmente encadeadas pelo fato de, na
primeira, os nós da lista formarem um anel com o último elemento ligado ao primeiro da lista.
Não, a diferença é que Listas Duplamente Encadeadas possuem dois ponteiros, que apontam para o nó sucessor e para o nó predecessor e Listas Simplesmente Encadeadas possuem apenas um ponteiro, que aponta para o nó sucessor.
Gabarito: Errado
- (FCC - 2012 - TRE-SP - Analista Judiciário - Análise de Sistemas - E) Numa lista singularmente encadeada, para acessar o último nodo é necessário partir do primeiro e ir seguindo os campos de ligação até chegar ao final da lista.
Perfeito! Se é uma lista singularmente encadeada, é necessário percorrer cada elemento um-a-um até chegar ao final da lista.
Gabarito: Correto
- (CESPE - 2011 - EBC - Analista - Engenharia de Software) Uma lista é uma coleção de elementos do mesmo tipo dispostos linearmente, que podem ou não seguir determinada organização. As listas
podem ser dos seguintes tipos: de encadeamento simples, duplamente encadeadas e ordenadas.
Uma lista é, por natureza, heterogênea, i.e., seus elementos são compostos por tipos de dados primitivos diferentes. A questão afirmou que a lista é uma coleção de elementos do mesmo tipo. E ela está certa, veja só o peguinha da questão:
Eu crio um tipo composto por dois tipos de dados diferentes: tipoEstrategia = {curso: caractere; duracao: inteiro}. Observe que o tipo tipoEstrategia é composto por tipos de dados primitivos diferentes (caractere e inteiro).
Agora eu crio uma lista ListaEstrategia: tipoEstrategia. Veja que todos os elementos dessa lista terão o mesmo tipo (tipoEstrategia). Em outras palavras: a Lista Heterogênea é composta por elementos do
mesmo tipo que, em geral, são compostos por mais de um tipo primitivo.
Além disso, as listas podem ser simplesmente encadeadas, duplamente encadeadas e ordenadas. E ainda podem ser circulares. Observem que alguns autores consideram Listas Ordenadas como um tipo de lista! Como, professor? Ela é uma lista em que seus elementos são ordenados (crescente ou decrescente).
Gabarito: Correto
- (CESPE - 2009 - ANAC - Técnico Administrativo - Informática) Em uma lista circular duplamente encadeada, cada nó aponta para dois outros nós da lista, um anterior e um posterior.
Perfeito! Há dois ponteiros: uma para o nó anterior e um para o nó posterior.
Gabarito: Correto
- (CESPE - 2008 - TRT - 5ª Região (BA) - Técnico Judiciário - Tecnologia da Informação) A principal característica de uma lista encadeada é o fato de o último elemento da lista apontar para o elemento imediatamente anterior.
Não, o último elemento da lista não aponta para nenhum outro nó em uma lista não-circular.
Gabarito: Errado
- (CESPE - 2009 - TCE-AC - Analista de Controle Externo - Processamentos de Dados)
Uma lista encadeada é uma coleção de nodos que, juntos, formam uma ordem linear. Se é possível os nodos se deslocarem em ambas as direções na lista, diz-se que se trata de uma lista simplesmente encadeada.
Se é possível os nodos se deslocarem em ambas as direções na lista, diz-se que se trata de uma lista duplamente encadeada.
Gabarito: Errado
- (CESPE - 2008 – HEMOBRÁS – Técnico de Informática)
Uma estrutura do tipo lista, em que é desejável percorrer o seu conteúdo nas duas direções indiferentemente, é denominado lista duplamente encadeada.
Perfeito, é exatamente isso!
Gabarito: Correto
- (CESPE - 2010 – TRE/MT – Analista de Sistemas – C)
Uma lista duplamente encadeada é uma lista em que o seu último elemento referencia o primeiro.
Não, isso se trata de uma Lista Circular!
Gabarito: Errado
- (CESPE - 2006 – SGA/AC – Analista de Sistemas)
O principal problema da alocação por lista encadeada é a fragmentação.
Não! Em geral, a alocação por lista encadeada elimina a fragmentação.
Gabarito: Errado
- (CESPE - 2008 – MCT – Analista de Sistemas)
O armazenamento de arquivos em disco pode ser feito por meio de uma lista encadeada, em que os blocos de disco são ligados por ponteiros. A utilização de lista encadeada elimina completamente o problema de fragmentação interna.
Não, ela elimina a fragmentação externa!
Gabarito: Errado
- (CESPE - 2009 – FINEP – Analista de Sistemas)
Uma lista encadeada é uma representação de objetos na memória do computador que consiste de uma sequência de células em que:
a) cada célula contém apenas o endereço da célula seguinte.
b) cada célula contém um objeto e o tipo de dados da célula seguinte.
c) o último elemento da sequência aponta para o próximo objeto que normalmente possui o
endereço físico como not null.
d) cada célula contém um objeto de algum tipo e o endereço da célula seguinte.
e) a primeira célula contém o endereço da última célula.
Cada célula contém um objeto de algum tipo e o endereço da célula seguinte!
Gabarito: Letra D
- (CESPE - 2010 – BASA – Analista de Sistemas)
Em uma lista encadeada, o tempo de acesso a qualquer um de seus elementos é constante e independente do tamanho da estrutura de dados.
Claro que não! Em uma busca sequencial, o tempo de acesso é proporcional ao tamanho da estrutura de dados, i.e., quanto mais ao final da lista, maior o tempo de acesso!
Por que, professor? Porque a lista é acessada sequencialmente (ou seja, é preciso percorrer elemento por elemento) e, não, diretamente (ou
seja, pode-se acessar de modo direto).
Um vetor tem acesso direto, portanto seu tempo de acesso é igual independentemente do tamanho da estrutura.
Gabarito: Errado
- (CESPE - 2010 – INMETRO – Analista de Sistemas – C) Considere que Roberto tenha feito uso de uma lista encadeada simples para programar o armazenamento e o posterior acesso aos dados acerca dos equipamentos instalados em sua empresa.
Considere, ainda, que, após realizar uma consulta acerca do equipamento X, Roberto precisou acessar outro equipamento Y que se encontrava, nessa lista, em posição anterior ao equipamento X.
Nessa situação, pela forma como os ponteiros são implementados em uma lista encadeada simples, o algoritmo usado por Roberto realizou a consulta ao equipamento Y sem reiniciar a pesquisa do começo da lista.
Não! Infelizmente, ele teve que reiniciar a pesquisa a partir do primeiro elemento da lista, na medida em que ele não pode voltar.
Por que, professor? Porque se trata de uma lista encadeada simples e, não, dupla.
Portanto, a lista só é percorrida em uma única direção.
Gabarito: Errado
- (FCC - 2003 – TRE/AM – Analista de Sistemas) Os dados contidos em uma lista encadeada estão:
a) ordenados seqüencialmente.
b) sem ordem lógica ou física alguma.
c) em ordem física e não, necessariamente, em ordem lógica.
d) em ordem lógica e, necessariamente, em ordem física.
e) em ordem lógica e não, necessariamente, em ordem física.
A Ordem Física é sua disposição na memória do computador e a Ordem Lógica é como ela pode ser lida e entendida.
Ora, a ordem em que ela se encontra na memória pouco importa, visto que cada sistema
operacional e cada sistema de arquivos tem sua maneira.
Portanto, trata-se da ordem lógica e, não,
necessariamente física.
Gabarito: Letra E
- (FCC - 2010 – DPE/SP – Analista de Sistemas)
Uma estrutura de dados que possui três campos: dois ponteiros e campo de informação denomina-se:
a) lista encadeada dupla.
b) Lista encadeada simples.
c) pilha.
d) fila.
e) vetor.
Trata-se da Lista Encadeada Dupla: dois ponteiros (Ant e Prox) e um campo de informação.
Gabarito: Letra A
- (CESPE - 2010 – TRE/MT – Analista de Sistemas)
O algoritmo para inclusão de elementos em uma pilha é usado sem nenhuma alteração para incluir elementos em uma lista.
Galera… uma pilha pode ser implementada por meio de uma lista! Ademais, o algoritmo para inclusão de elementos de ambas necessita do primeiro elemento (ou topo).
Portanto, questão correta!
Gabarito: Correto
- (FGV – 2022 – PC-AM) Assinale as operações características de uma estrutura de dados do tipo pilha (stack).
a) IMPORT, EXPORT.
b) INPUT, OUPUT.
c) INSERT, REMOVE.
d) PUSH, POP.
e) READ, READLN.
Push e pop são duas operações de uma pilha:
● Push: inserir um elemento no topo da pilha;
●Pop: remover o último elemento inserido na pilha.
Quanto aos demais itens:
● IMPORT, EXPORT: operações de arquivos.
● INPUT, OUPUT: entrada e saída de dados. Não tem a ver com pilhas.
● INSERT, REMOVE: inserir e remover. Embora na pilha tenhamos inserção e remoção, estas operações, com este nome, estão associadas a listas.
● READ, READLN: operações para a entrada de dados.
Gabarito: Letra D
- (FGV – 2022 – TJDFT)
Júlio está desenvolvendo uma aplicação e precisa implementar um mecanismo de desfazer/refazer de um editor de texto utilizando o algoritmo LIFO (Last In, First Out).
Para implementar o algoritmo LIFO, Júlio deve usar a estrutura de dados:
a) fila;
b) pilha;
c) árvore;
d) nó folha;
e) tabela hash.
Vamos analisar item a item:
a) fila;
A fila segue a regra FIFO (first-in first-out), ou seja, o primeiro a entrar é o primeiro a sair. Falso.
b) pilha;
A pilha segue a regra LIFO (last-in first-out), ou seja, o último a entrar é o primeiro a sair. A operação de inserir um valor é o push, e a operação de remover o último inserido é o pop. Verdadeiro.
c) árvore;
Árvores não seguem necessariamente regras de inserção, além de não serem estruturas sequenciais. Falso.
d) nó folha;
Nó folha é o nó de uma árvore que não possui filhos. Não tem nada a ver com o enunciado. Falso.
e) tabela hash.
Tabelas hash não seguem regra LIFO. Falso.
Gabarito: Letra B
- (CESPE/CEBRASPE – 2022 – DPE-RO)
Em um sistema operacional, a estrutura de dados utilizada para organizar chamadas de funções recursivas por meio da inserção ou remoção de elementos via operações como push e pop é denominada
a) lista estática.
b) fila.
c) hash.
d) pilha.
e) lista dinâmica.
Push e pop são duas operações de uma pilha:
● Push: inserir um elemento no topo da pilha;
● Pop: remover o último elemento inserido na pilha.
A pilha leva em consideração o padrão LIFO, ou seja, last-in first-out, ou seja, o último a entrar é o primeiro a sair.
Por isso, suas duas operações são push e pop.
Quanto aos demais itens:
● lista estática: uma lista em que o número de elementos é fixo e pré-alocado.
● fila: segue o padrão FIFO, ou seja, first-in first-out, ou seja, o primeiro a entrar é o primeiro a sair.
● Hash: uma estrutura de dados para inserção, busca e remoção de forma rápida.
● lista dinâmica: uma lista em que o número de elementos é alterado dinamicamente enquanto o programa executa.
Gabarito: Letra D
- (UFV – 2022 – UFV-MG)
Considere as afirmativas a seguir sobre estrutura de dados:
I. Uma estrutura de dados heterogênea envolve a utilização de mais de um tipo básico de dado.
II. Uma lista encadeada pode ser definida como uma sequência de células em que cada célula contém um elemento e o endereço da célula seguinte.
III. Uma pilha é uma estrutura de dados baseada no princípio “First In First Out” (FIFO).
IV. Filas e pilhas são estruturas de dados lineares; o organograma de uma empresa pode ser representado por uma estrutura de árvore.
Está CORRETO o que se afirma, apenas, em:
a) I e II.
b) I e III.
c) I, II e IV.
d) II, III e IV.
Vamos analisar item a item:
I. Uma estrutura de dados heterogênea envolve a utilização de mais de um tipo básico de dado.
Isso mesmo. Significa que cada elemento da estrutura de dados pode ter mais de um tipo básico de dado. Por exemplo, um inteiro, uma string, um booleano, etc. Verdadeiro.
II. Uma lista encadeada pode ser definida como uma sequência de células em que cada célula contém um elemento e o endereço da célula seguinte.
Essa é a definição de lista encadeada simples. Certo.
III. Uma pilha é uma estrutura de dados baseada no princípio “First In First Out” (FIFO).
Na verdade, a pilha segue a estrutura de dados com a regra LIFO (last-in first-out), ou seja, o último a entrar é o primeiro a sair. Falso.
IV. Filas e pilhas são estruturas de dados lineares; o organograma de uma empresa pode ser representado por uma estrutura de árvore.
Filas e pilhas são estruturas lineares de fato, e uma árvore é uma estrutura hierárquica, e, por isso, um organograma de uma empresa pode ser representado por ela. Verdadeiro.
Corretas: I, II e IV.
Gabarito: Letra C
- (IBFC – 2022 – DPE-MT) Assinale a alternativa que apresenta a relação entre as duas estruturas de dados da coluna da esquerda com as respectivas características técnicas da coluna da direita.
Assinale a alternativa correta.
a) 1BC - 2AD
b) 1AD - 2BC
c) 1BD - 2AC
d) 1AC - 2BD
Uma pilha sege a regra LIFO (last-in first-out), ou seja, o elemento inserido por último é o primeiro elemento a sair da
lista. Portanto, 1-B.
A pilha, também precisa de apenas um ponteiro, que aponta para o topo da pilha. Portanto, 1-BC.
Já a fila segue a regra FIFO (first-in first-out), ou seja, o elemento inserido primeiro é o primeiro a sair da lista.
Portanto, 2-A.
A fila também precisa de dois ponteiros para ser acessada, já que suas operações envolvem adicionar sempre os elementos no final, e remover do início. Portanto, 2-AD.
Gabarito: Letra A
- (FUNDATEC – 2022 – IPE Saúde) Uma sequência de valores é armazenada em uma estrutura de dados, onde novos elementos são inseridos no final da lista e removidos também do final da mesma. Dessa forma, qualquer elemento só pode ser removido quando todos os elementos inseridos após ele também forem removidos. Essa descrição caracteriza uma estrutura de dados conhecida como:
a) Lista duplamente encadeada.
b) Lista simplesmente encadeada.
c) Fila.
d) Pilha.
e) Árvore binária.
Precisamos considerar dois pontos importantes:
● Os elementos são apenas inseridos ao final da lista.
● Os elementos também são removidos apenas no fim da lista.
● Os elementos só podem ser removidos se todos os inseridos após ele tiverem sido removidos. Ou seja, o último a ser inserido é o primeiro a ser removido, ou seja, regra LIFO.
A estrutura de dado que segue a regra LIFO é a pilha. Na pilha, temos a operação push, que é inserir um elemento no fim da lista; e a operação pop, que é remover o elemento do fim da lista. E temos a regra LIFO.
Analisemos as demais estruturas de dados:
● Lista duplamente encadeada: cada nó tem uma referência ao nó anterior e ao próximo, exceto o primeiro e o último. A inserção e remoção é livre.
● Lista simplesmente encadeada: cada nó tem uma referência ao próximo nó, exceto o último. A inserção e remoção é livre.
● Fila: segue o padrão FIFO (first-in first-out), ou seja, o primeiro a entrar é o primeiro a sair. Além disso, no caso da fila, os elementos são sempre adicionados no fim, e removidos do início da lista.
● Árvore binária: uma árvore binária possui nós com no máximo dois filhos. Não seguem as regras do enunciado.
Gabarito: Letra D
- (FGV – 2021 – FUNSAÚDE-CE) As operações POP e PUSH aplicáveis às estruturas de dados são conhecidas como
a) árvores binárias.
b) bitmaps.
c) hashtables.
d) listas encadeadas.
e) pilhas.
Quando se fala em operações pop e push, só podemos estar falando de pilhas.
As pilhas segrem a regra LIFO (last-in first-out), ou seja, o último a entrar é o primeiro a sair. Isso faz com que tenha duas operações:
● PUSH: inclui um elemento na pilha.
● POP: retira o último elemento incluído da pilha.
Gabarito: Letra E
- (CESPE/CEBRASPE – 2018 – ABIN) Julgue o item subsequente, relativo à lógica de programação.
Pilha é uma estrutura de dados em que o último elemento a ser inserido será o primeiro a ser retirado.
A pilha é uma estrutura de dados que usa o princípio LIFO (Last In, First Out), que significa justamente “último a entrar, primeiro a sair”.
Gabarito: Certo
- (FGV – 2018 – AL-RO) Considere uma pilha de latas de sardinhas na prateleira de um supermercado.
Assinale a estrutura de dados que mais se assemelha ao modo como essas latas são manuseadas.
a) Array.
b) Binary tree.
c) Hashing.
d) Linked list.
e) Stack.
Essa é praticamente uma questão de inglês… Precisamos saber o que cada uma dessas estruturas significa:
a) Array
Significa vetor. É uma sequência de elementos de um determinado tipo, em posições sequenciais de memória. Falso.
b) Binary tree.
Árvore binária. É uma árvore em que cada nó pode ter, no máximo, 3 filhos. Falso.
c) Hashing.
Técnica para mapear conjuntos de dados em um conjunto de índices de um array, permitindo rápida busca dos dados. Falso.
d) Linked list.
Lista encadeada. Uma estrutura de dados em que cada elemento possui uma referência ao próximo elemento da lista. Falso.
e) Stack.
Também conhecida como pilha. Veja só que o enunciado fala justamente sobre pilha de sardinhas! É uma estrutura em que vale a regra LIFO (last-in first-out), ou seja, o último a entrar é o primeiro a sair. Verdadeiro.
Gabarito: Letra E
- (CESPE - 2011 - FUB - Analista de Tecnologia da Informação - Específicos)
As pilhas são listas encadeadas cujos elementos são retirados e acrescentados sempre ao final, enquanto as filas são listas encadeadas cujos elementos são retirados e acrescentados sempre no início.
Bem… o que é o final de uma Pilha? Pois é, não se sabe! O que existe é o Topo da Pilha, de onde sempre são retirados e acrescentados elementos. Em Filas, elementos são retirados do início e acrescentados no final.
Gabarito: Errado
- (CESPE - 2013 - INPI - Analista de Planejamento - Desenvolvimento e Manutenção de Sistemas)
Na estrutura de dados do tipo lista, todo elemento novo que é introduzido na pilha torna-se o elemento do topo.
Que questão confusa!
Vamos comigo: vocês sabem muito bem que filas e pilhas são considerados espécies de listas.
A questão inicialmente fala de uma lista, mas depois ela menciona uma pilha – podemos inferir, então, que se trata de uma lista do tipo pilha. Em uma pilha, todo elemento novo que é introduzido tornase o elemento do topo, logo… questão correta!
Bem, esse foi o Gabarito Preliminar, mas a banca mudou de opinião e, no Gabarito Definitivo, permaneceu como errada.
E a justificativa dela foi: “A ausência de especificação do tipo de lista no item torna correta ainformação nele apresentada, razão pela qual se opta pela alteração de seu gabarito”.
Vejam que bizarro: se torna correta a informação apresentada, o gabarito definitivo deveria ser C e, não, E.
Além disso, a questão informa em sua segunda parte que se trata de uma pilha. Logo, não há que se falar em “ausência de especificação do tipo de lista”.
Enfim, questão péssima, horrível e mal redigida :(
Gabarito: Errado
- (CESPE - 2012 - TJ-RO - Analista Judiciário - Analista de Sistemas Suporte – E)
Visitas a sítios armazenadas em um navegador na ordem last-in-first-out é um exemplo de lista.
Não! Last-In-First-Out (LIFO) é um exemplo de Pilha! Cuidado, pilhas podem ser implementadas como listas, mas esse não é o foco da questão.
Gabarito: Errado
- (ESAF - 2013 - DNIT - Analista Administrativo - Tecnologia da Informação) Assinale a opção correta relativa às operações básicas suportadas por pilhas.
a) Push: insere um novo elemento no final da pilha.
b) Pop: adiciona elementos ao topo da pilha.
c) Pull: insere um novo elemento no interior da pilha.
d) Top: transfere o último elemento para o topo da pilha.
e) Top: acessa o elemento posicionado no topo da pilha.
(a) Não, é no topo;
(b) Não, remove do topo;
(c) Não, não existe;
(d) Não, simplesmente acessa e consulta o
elemento do topo;
(e) Perfeito! Gabarito: E
Gabarito: Letra
- (FCC - 2012 – TST - Analista de Sistemas – C) As pilhas e as filas são estruturas de dados essenciais para os sistemas computacionais. É correto afirmar que a pilha é conhecida como lista FIFO - First In First Out.
Não! Pilha é LIFO e Fila é FIFO.
Gabarito: Errado
- (FCC - 2012 – TRE/CE - Analista de Sistemas) Sobre pilhas é correto afirmar:
a) Uma lista LIFO (Last-In/First-Out) é uma estrutura estática, ou seja, é uma coleção que não pode aumentar e diminuir durante sua existência.
b) Os elementos na pilha são sempre removidos na mesma ordem em que foram inseridos.
c) Uma pilha suporta apenas duas operações básicas, tradicionalmente denominadas push (insere um novo elemento no topo da pilha) e pop (remove um elemento do topo da pilha).
d) Cada vez que um novo elemento deve ser inserido na pilha, ele é colocado no seu topo e, em qualquer momento, apenas aquele posicionado no topo da pilha pode ser removido.
e) Sendo P uma pilha e x um elemento qualquer, a operação Push(P,x) diminui o tamanho da pilha P, removendo o elemento x do seu topo.
(a) Não, é uma estrutura dinâmica;
(b) Não, é na ordem inversa (último a entrar é o primeiro a sair);
(c) Não, há também Top ou Check, que acessar e consulta o elemento do topo;
(e) Push é a operação de inserção de novos elementos na pilha, portanto aumenta seu tamanho adicionando o elemento x no topo.
E a letra D? Vamos lá! Sabemos que uma pilha é um tipo de lista - o que muda é apenas a perspectiva.
Como assim? Eu vejo um monte de elementos em sequência. Ora, se eu coloco uma regra em que o primeiro elemento a entrar é o primeiro a sair, chamamos essa lista de fila; se eu coloco uma regra em que o primeiro elemento a entrar é o último a sair, chamamos essa lista de pilha.
Ok! Dito isso, o algoritmo é exatamente o mesmo, eu vou simplesmente mudar a perspectiva e a minha visão sobre a estrutura. Bacana?
Gabarito: Letra D
- (CESPE - 2011 - EBC - Analista - Engenharia de Software)
As pilhas, também conhecidas como listas LIFO ou PEPS, são listas lineares em que todas as operações de inserção e remoção de elementos são feitas por um único extremo da lista, denominado topo.
Não! LIFO é similar a UEPS (Último a Entrar, Primeiro a Sair). PEPS refere-se a Primeiro a Entrar, Primeiro aSair, ou seja, FIFO.
Gabarito: Errado
- (VUNESP - 2011 - TJM-SP - Analista de Sistemas - Judiciário)
Lista do tipo LIFO (Last in, First Out) e lista do tipo FIFO (Firstin,First Out) são, respectivamente, características das estruturas de dados denominadas:
a) Fila e Pilha.
b) Pilha e Fila.
c) Grafo e Árvore.
d) Árvore e Grafo.
e) Árvore Binária e Árvore Ternária.
E aí, já está automático para responder? Tem que ser automática: Pilha (LIFO) e Fila (FIFO).
Gabarito: Letra B
- (CESPE - 2010 - Banco da Amazônia - Técnico Científico - Tecnologia da Informação - Arquitetura de Tecnologia)
A definição da estrutura pilha permite a inserção e a eliminação de itens, de modo que
uma pilha é um objeto dinâmico, cujo tamanho pode variar constantemente.
Essa questão é polêmica, porque é inevitável pensar em Pilhas Sequenciais (implementadas por vetores estáticos)!
No entanto, é comum que as bancas tratem por padrão Pilha como Pilha Encadeada (implementadas por listas dinâmicas). Dessa forma, a questão está perfeita!
Gabarito: Correto
- (CESPE - 2010 - Banco da Amazônia - Técnico Científico - Tecnologia da Informação - Administração de Dados)
Na representação física de uma pilha sequencial, é necessário uso de uma variável ponteiro externa que indique a extremidade da lista linear onde ocorrem as operações de inserção e retirada de nós.
As Pilhas oferecem três operações básicas: push, que insere um novo elemento no topo da pilha; pop, que remove um elemento do topo da pilha; e top (também conhecida como check), que acessa e consulta o elemento do topo da pilha.
Pilhas podem ser implementadas por meio de Vetores (Pilha Sequencial - Alocação Estática de Memória) ou Listas (Pilha Encadeada - Alocação Dinâmica de Memória).
Conforme vimos em aula, a questão trata de uma Pilha Sequencial (i.e., implementada por meio de Vetores). Dessa forma, não é necessário o uso de ponteiros – esse seria o caso de uma Pilha Encadeada.
Eu posso realmente dizer que é suficiente, mas não posso afirmar que é necessária a utilização de um ponteiro externo. Eu até poderia dizer que é necessário o uso de um indicador, mas ele também não necessariamente será um ponteiro.
Logo, discordo do gabarito!
Gabarito: Correto
- (CESPE - 2009 - ANAC - Técnico Administrativo - Informática)
As operações de inserir e retirar sempre
afetam a base de uma pilha.
Não, sempre afetam o topo da pilha!
Gabarito: Errado
- (FCC - 2009 - TRT - 16ª REGIÃO (MA) - Técnico Judiciário - Tecnologia da Informação) Pilha é uma estrutura de dados:
a) cujo acesso aos seus elementos segue tanto a lógica LIFO quanto a FIFO.
b) cujo acesso aos seus elementos ocorre de forma aleatória.
c) que pode ser implementada somente por meio de vetores.
d) que pode ser implementada somente por meio de listas.
e) cujo acesso aos seus elementos segue a lógica LIFO, apenas.
(a) Não, somente LIFO;
(b) Não, somente pelo Topo;
(c) Não, pode ser por listas;
(d) Não, pode ser por vetores;
(e) Perfeito, é exatamente isso.
Gabarito: E
- (CESPE - 2004 – STJ – Analista de Sistemas)
Em geral, em uma pilha só se admite ter acesso ao elemento localizado em seu topo. Isso se adapta perfeitamente à característica das seqüências em que só o primeiro componente é diretamente acessível.
Perfeito, é exatamente isso – muda-se apenas a perspectiva!
Gabarito: Correto
- (CESPE - 2010 – TRE/MT - Analista de Sistemas – A)
O tipo nó é inadequado para implementar
estruturas de dados do tipo pilha.
Não! Uma pilha pode ser implementada por meio de um vetor ou de uma lista. Nesse último caso, temos tipos nós!
Gabarito: Errado
- (FGV – 2015 – DPE/MT – Analista de Sistemas) Assinale a opção que apresenta a estrutura de dados na qual o primeiro elemento inserido é o último a ser removido.
a) Árvore
b) Fila
c) Pilha
d) Grafo
e) Tabela de dispersão
Também conhecida como Lista LIFO (Last In First Out), basta lembrar de uma pilha de pratos esperando para serem lavados, i.e., o último a entrar é o primeiro a sair.
A ordem em que os pratos são retirados da
pilha é o oposto da ordem em que eles são colocados sobre a pilha e, como consequência, apenas o prato do topo da pilha está acessível.
Conforme vimos em aula, trata-se da Pilha.
Gabarito: C
- (FCC – 2012 – MPE/AP – Técnico Ministerial - Informática) Nas estruturas de dados,
a) devido às características das operações da fila, o primeiro elemento a ser inserido será o último a ser retirado. Estruturas desse tipo são conhecidas como LIFO.
b) as pilhas são utilizadas para controlar o acesso de arquivos que concorrem a uma única impressora.
c) a fila é uma lista linear na qual as operações de inserção e retirada ocorrem apenas no início da lista.
d) a pilha é uma lista linear na qual as operações de inserção e retirada são efetuadas apenas no seu topo.
e) devido às características das operações da pilha, o último elemento a ser inserido será o último a ser retirado. Estruturas desse tipo são conhecidas como FIFO.
(a) as filas não são LIFO, mas sim FIFO, ou seja, o primeiro elemento da fila será, na verdade, o primeiro a ser retirado. Só pensarmos numa fila de banco, se alguém chega por último e é atendido primeiro, ficaria bem bravo, e vocês?? :D Item errado;
(b) os trabalhos que chegam a uma impressora devem ser do tipo FIFO, ou seja, o primeiro trabalho enviado deve ser o primeiro a ser impresso. Item errado;
(c) na fila os elementos são incluídos numa das extremidades e retirados da outra. Item errado;
(d) na pilha as operações de inclusão na pilha quanto de retirada acontecem numa mesma extremidade. A extremidade escolhida é o topo da pilha. Item certo;
(e) na verdade essas características são das filas. Item errado.
Gabarito: Letra D
- (IBFC – 2022 – AFEAM) Assinale, das alternativas abaixo, a única que identifica respectivamente uma Estrutura de Dados do tipo FIFO (First In, First Out) e uma outra com a Estrutura de dados do tipo LIFO (Last In, First Out):
a) lista – vetor
b) pilha – fila
c) vetor – lista
d) fila - pilha
Uma estrutura que segue a regra de dados FIFO (first-in first-out), ou seja, o primeiro a entrar é o primeiro a sair, é a fila.
Já a estrutura que segue a regra de dados LIFO (last-in first-out), ou seja, o último a entrar é o primeiro a sair, é uma pilha.
Gabarito: Letra D
- (IF-TO – 2022 – IF-TO) Em estrutura de dados os conceitos de FILAS e PILHAS são usados para
implementar diversos recursos computacionais que vão desde compiladores e interpretadores a mecanismos usados nas linguagens de programação para auxiliar os desenvolvedores no dia a dia.
Sobre essas estruturas, quais das definições abaixo são corretas?
a) Nas FILAS é usado o princípio do primeiro a entrar é o último a sair, já as PILHAS obedecem a regra do primeiro a entrar é o último a sair.
b) Nas FILAS é usado o princípio do primeiro a entrar é o primeiro a sair, já as PILHAS obedecem a regra do primeiro a entrar é o primeiro a sair.
c) Nas FILAS é usado o princípio do segundo a entrar é o primeiro a sair, já as PILHAS obedecem a regra do último a entrar é o último a sair.
d) Nas FILAS é usado o princípio do primeiro a entrar é o primeiro a sair, já as PILHAS obedecem a regra do primeiro a entrar é o último a sair.
e) Nas FILAS é usado o princípio do primeiro a entrar é o segundo a sair, já as PILHAS obedecem a regra do segundo a entrar é o terceiro a sair.
As filas seguem o padrão FIFO (first-in first-out), ou seja, o primeiro a entrar é o primeiro a sair.
Já as pilhas seguem o padrão LIFO (last-in first-out), ou seja, o último a entrar é o primeiro a sair.
Gabarito: Letra D
- (UFRPE – 2022 – UFRPE) Sobre algoritmos e estrutura de dados, assinale a afirmativa correta.
a) Listas encadeadas ou ligadas são estruturas de dados estáticas, o que significa que o número de nós não pode ser modificado durante a execução do programa.
b) Pilhas são estruturas de dados do tipo FIFO (first-in first-out), em que o primeiro elemento a ser inserido será o primeiro a ser retirado.
c) Árvores são estruturas de dados do tipo FIFO (first-in first-out), em que o primeiro elemento a ser inserido será o primeiro a ser retirado.
d) Filas podem ser implementadas em listas encadeadas ou em vetores.
e) Pilhas só podem ser implementadas em listas encadeadas.
Vamos analisar item a item:
a) Listas encadeadas ou ligadas são estruturas de dados estáticas, o que significa que o número de nós não pode ser modificado durante a execução do programa.
Não são estáticas, mas, sim, dinâmicas: havendo memória livre, podem ser expandidas ou reduzidas conforme a necessidade. Falso.
b) Pilhas são estruturas de dados do tipo FIFO (first-in first-out), em que o primeiro elemento a ser inserido será o primeiro a ser retirado.
Não, pilhas são LIFO (last-in first-out), ou seja, o último a entrar é o primeiro a sair. Falso.
c) Árvores são estruturas de dados do tipo FIFO (first-in first-out), em que o primeiro elemento a ser inserido será o primeiro a ser retirado.
Árvores são estruturas hierárquicas, e não sequenciais, portanto, não podem seguir a regra FIFO. Falso.
d) Filas podem ser implementadas em listas encadeadas ou em vetores. De fato, filas podem ser implementadas usando listas encadeadas ou vetores. O importante é que siga a regra FIFO (first-in first-out), ou seja, o primeiro a entrar é o primeiro a sair. Verdadeiro.
e) Pilhas só podem ser implementadas em listas encadeadas. Não, é possível implementar pilhas com vetores também. Falso.
Gabarito: Letra D
- (CESPE/CEBRASPE – 2021 – SEED-PR) Em determinada estrutura de dados, os valores seguem a regra segundo a qual o último a entrar é o primeiro a sair.
Essa estrutura é do tipo
a) pilha.
b) fila.
c) lista encadeada.
d) lista duplamente encadeada.
e) matriz.
A estrutura de dados que segue a regra “último a entrar, primeiro a sair” é chamada de pilha. Uma pilha é uma estrutura de dados que armazena elementos em uma ordem específica, seguindo o método LIFO (Last In First Out).
Isso significa que o último elemento a ser inserido na pilha será o primeiro a ser removido.
Imagine uma pilha de pratos: o último prato a ser colocado na pilha será o primeiro a ser retirado.
Gabarito: Letra A
- (CESPE/CEBRASPE – 2021 – SEED-PR) Na estrutura de dados denominada FILA,
a) o último elemento a ser inserido será o primeiro a ser retirado.
b) o primeiro elemento a ser inserido será o primeiro a ser retirado: adiciona-se item no fim e remove-se item do início.
c) os elementos de um mesmo tipo de dado estão organizados de maneira sequencial e ordenada.
d) os elementos não estão necessariamente armazenados sequencialmente na memória por ordem descrente de valores.
e) os elementos são formados de índices em duas dimensões: linhas e colunas.
Vamos analisar item a item:
a) o último elemento a ser inserido será o primeiro a ser retirado. Na fila, o padrão é o FIFO, ou seja, primeiro a ser inserido é o primeiro a ser retirado. Falso.
b) o primeiro elemento a ser inserido será o primeiro a ser retirado: adiciona-se item no fim e remove-se item do início.
Isso, devido ao padrão FIFO, é o correto. Verdadeiro.
c) os elementos de um mesmo tipo de dado estão organizados de maneira sequencial e ordenada. Os elementos podem até ser organiszados de maneira sequencial e ordenada, se assim for desejado, mas não é um
requisito de uma fila. Falso.
d) os elementos não estão necessariamente armazenados sequencialmente na memória por ordem descrente de valores.
De fato, os elementos não necessariamente estão armazenados sequencialmente na memória por ordem decrescente
de valores. Este item, para mim, deveria estar certo, mas a banca considerou como errado. Penso que, nestes casos, o melhor é considerar o “mais certo”, e, sem dúvidas, a letra B é a definição certíssima de fila!
e) os elementos são formados de índices em duas dimensões: linhas e colunas. Isso seria uma matriz, e não uma fila. Falso.
Gabarito: Letra B
- (CESPE/CEBRASPE – 2017 – TRT-7) A lógica FIFO (first-in first-out) é utilizada na estrutura de dados do tipo
a) pointer ou ponteiros.
b) queue ou filas.
c) stack ou pilhas.
d) array ou matrizes.
O FIFO, que significa first-in first-out, ou “primeiro a entrar, primeiro a sair”, é usado na estrutura de dados de queue, ou filas. Nela, os elementos são colocados no fim da fila, e removidos no início. O primeiro elemento que é inserido é o primeiro a ser removido.
Quanto aos demais itens, vamos analisar:
- Pointer ou ponteiros: variáveis que armazenam endereços de memória de outras variáveis.
- Stack ou pilhas: estrutura de dados que segue a lógica LIFO, ou last-in first-out, que significa “o último a entrar é o primeiro a sair”.
- Array ou matrizes: estruturas de dados que permitem armazenar e acessar vários valores de uma vez, sem seguir lógica FIFO ou LIFO.
Gabarito: Letra B
- (CESPE/CEBRASPE – 2017 – TRF-1) Acerca de estrutura de dados, julgue o próximo item.
A fila é uma lista de elementos em que os itens são sempre inseridos em uma das extremidades e excluídos da outra.
Fila é uma estrutura de dados que segue a lógica FIFO (first-in first-out) armazena elementos de forma sequencial, permitindo a inserção de novos elementos no final da estrutura e a remoção de elementos do início.
Então, está certo.
Gabarito: Certo
- (CESPE/CEBRASPE – 2018 – TCE-MG)
Uma estrutura de dados em que o primeiro elemento inserido seja o primeiro elemento a ser retirado é denominada
a) pilha.
b) matriz.
c) árvore binária.
d) fila.
e) lista.
A lógica em questão refere-se ao padrão FIFO, que é first-in first-out, ou seja, primeiro a entrar é o primeiro a sair.
Vamos analisar item a item:
a) pilha.
Uma pilha segue o padrão LIFO, que é last-in first-out, ou seja, último a entrar é o primeiro a sair. Falso.
b) matriz.
É uma estrutura de dados com um conjunto de elementos de um determinado tipo e que estão organizados em linhas e colunas. Não há uma regra especial quanto à inserção ou remoção dos elementos. Falso.
c) árvore binária.
Estrutura de dados do tipo árvore, mas com uma restrição: cada nó pode ter apenas dois filhos. Falso.
d) fila.
Isso mesmo, uma fila segue justamente o padrão FIFO. Verdadeiro.
e) lista.
Numa lista, é possível inserir ou remover de qualquer posição. Falso.
Gabarito: Letra D
- (FCC – 2019 – TRF-4) O Round-Robin é um tipo de escalonamento preemptivo mais simples e consiste em repartir uniformemente o tempo da CPU entre todos os processos prontos para a execução. Os processos são organizados em uma estrutura de dados, alocando-se a cada um uma fatia de tempo da
CPU, igual a um número de quanta. Caso um processo não termine dentro de sua fatia de tempo, retorna para o fim da estrutura e uma nova fatia de tempo é alocada para o processo que está no começo da estrutura e que dela sai para receber o tempo de CPU.
A estrutura de dados utilizada nesse tipo de escalonamento é:
a) pilha.
b) árvore B.
c) fila circular.
d) fila simples.
e) árvore binária.
No Round-Robin, os processos são organizados em uma estrutura de dados. Fatias de tempo da CPU são locadas para cada um desses processos.
No caso de um processo não terminar dentro da sua fatia de tempo, ele retorna ao fim da estrutura, e uma nova fatia de tempo é alocada para ele. Essa nova fatia está no começo da estrutura.
Assim, a estrutura de dados precisa ser uma fila, já que permite que os processos sejam inseridos no final e removidos no início. Além disso, precisa ser circular, já que o processo sai do fim da fila e volta para o início.
Sobre as demais estruturas de dados:
- pilha: não serve, pois a inserção e a remoção dos elementos é sempre no final.
- árvore B: não é uma estrutura de dados linear.
- fila simples: não serve, pois o final não é ligado ao início.
- árvore binária: també, não é uma estrutura de dados linear.
Gabarito: Letra C
- (FCC – 2013 – MPE-MA) Ana precisa utilizar uma estrutura de dados para gerenciar trabalhos de impressão em uma impressora compartilhada por vários computadores em uma rede. As regras dessa estrutura devem permitir que os trabalhos sejam impressos na ordem em que forem enviados, ou seja, o primeiro a enviar um pedido de impressão deve ser o primeiro a ter sua solicitação atendida. Não deve ser permitido inserir pedidos de impressão no meio dos pedidos já realizados.
A estrutura de dados mais adequada para Ana utilizar é
a) pilha.
b) lista encadeada ordenada.
c) árvore binária.
d) tabela hash.
e) fila.
A estrutura de dados utilizada deve seguir a regra FIFO (first-in first-out), ou seja, o primeiro a entrar é o primeiro a sair também. Sair significa ter a solicitação atendida.
Portanto, vamos analisar item a item:
a) pilha.
A pilha segue o padrão LIFO (last-in first-out), ou seja, o último a entrar é o primeiro a sair. Não serve. Falso.
b) lista encadeada ordenada.
Uma lista encadeada não é o mais adequado, por não seguir padrões de inserção. Falso.
c) árvore binária.
Árvore binária também não tem um padrão de inserção e remoção desejado, e também serve para dados estruturados hierarquicamente, o que não é o caso. Falso.
d) tabela hash.
Tabelas hash servem para facilitar operações de inserção, remoção e busca. Não é o caso, não é necessário realizar busca. Falso.
e) fila.
A fila é justamente a descrição do necessário: segue a regra FIFO, portanto, o primeiro a entrar é o primeiro a sair. Certo!
Gabarito: Letra E
- (FCC – 2013 – TRE-SP) No que se refere a estruturas de dados é INCORRETO afirmar:
a) Numa fila dupla, os elementos podem ser inseridos e removidos de qualquer um dos extremos da fila.
b) Em qualquer situação é possível usar uma única fila dupla para representar duas filas simples.
c) A implementação de uma fila dupla normalmente é mais eficiente com uma lista duplamente encadeada que com uma encadeada simples.
d) Pela definição de fila, se os elementos são inseridos por um extremo da lista linear, eles só podem ser removidos pelo outro.
e) Numa lista singularmente encadeada, para acessar o último nodo é necessário partir do primeiro e ir seguindo os campos de ligação até chegar ao final da lista.
O enunciado pede a incorreta. Vamos analisar item a item:
a) Numa fila dupla, os elementos podem ser inseridos e removidos de qualquer um dos extremos da fila.
Isso mesmo. Como uma fila é dupla, ou seja, vai em ambas as direções, os elementos podem ser inseridos ou removidos de qualquer lado. Verdadeiro.
b) Em qualquer situação é possível usar uma única fila dupla para representar duas filas simples.
Uma única fila dupla não pode representar duas filas simples. Isso porque uma fila precisa seguir o padrão FIFO (first in first-out), ou seja, o primeiro a entrar é o primeiro a sair. Na prática, você tem um lado onde você insere elementos,
e o outro lado de onde você remove. Uma fila dupla não pode representar duas filas simples porque, nela, você insere ou remove de qualquer lado. Seria necessário poder inserir de um lado e remover de outro, exclusivamente, e em quatro pontos. Errado.
c) A implementação de uma fila dupla normalmente é mais eficiente com uma lista duplamente encadeada que com uma encadeada simples. Está correto. Se já usa uma lista duplamente encadeada, em que cada nó faz referência ao próximo e ao anterior, fica
mais fácil implementar uma fila dupla. Certo!
d) Pela definição de fila, se os elementos são inseridos por um extremo da lista linear, eles só podem ser removidos pelo outro.
É isso, como já disse anteriormente. Correto.
e) Numa lista singularmente encadeada, para acessar o último nodo é necessário partir do primeiro e ir seguindo os campos de ligação até chegar ao final da lista.
Isso. Numa lista singularmente encadeada, cada nó só possui referência ao próximo da lista, e você só sabe qual é o endereço do primeiro. Então, é preciso percorrer todos. Certo.
Gabarito: Letra B
- (CESPE - 2010 - Banco da Amazônia - Técnico Científico - Tecnologia da Informação - Análise de Sistemas)
Em um programa existe a necessidade de guardar todas as alterações feitas em determinado dado para que seja possível desfazer alterações feitas ao longo de toda a sua existência.
Nessa situação, a estrutura de dados mais adequada para o armazenamento de todas as alterações citadas seria uma fila.
Não! Pensem comigo: eu faço uma atividade, depois outra, depois mais uma e, por fim, mais outra.
Se eu desejo desfazer a última atividade realizada para retornar a um estado anterior, eu preciso de uma pilha.
Dessa forma, resgata-se o último estado válido e, não, o primeiro.
Gabarito: Errado
- (CESPE - 2012 – TST – Analista de Sistemas – A)
As pilhas e as filas são estruturas de dados essenciais para os sistemas computacionais. É correto afirmar que a fila é conhecida como lista LIFO - Last In First Out.
Não, Fila é FIFO!
Gabarito: Errado
- (CESPE - 2012 - TRE-RJ - Técnico Judiciário - Programação de Sistemas)
As filas são estruturas com base no princípio LIFO (last in, first out), no qual os dados que forem inseridos primeiro na fila serão os
últimos a serem removidos.
Existem duas funções que se aplicam a todas as filas: PUSH, que insere um dado no topo da fila, e POP, que remove o item no topo da fila.
Não, isso é uma Pilha (LIFO).
Gabarito: Errado
- (FCC - 2012 - MPE-AP – Analista de Sistemas - A)
Nas estruturas de dados, devido às características das operações da fila, o primeiro elemento a ser inserido será o último a ser retirado. Estruturas desse tipo são conhecidas como LIFO.
Não, será o primeiro a ser retirado – são do tipo FIFO!
Gabarito: Errado
- (FCC - 2012 - MPE-AP – Analista de Sistemas - C)
Nas estruturas de dados, a fila é uma lista linear na qual as operações de inserção e retirada ocorrem apenas no início da lista.
Não, isso é a definição de Pilha!
Gabarito: Errado
- (FCC - 2012 - TRE-SP - Analista Judiciário - Análise de Sistemas – D)
Pela definição de fila, se os elementos são inseridos por um extremo da lista linear, eles só podem ser removidos pelo outro.
Exato! Essa é a definição de fila: insere-se por um extremo e remove-se por outro.
Gabarito: Correto
- (FCC - 2011 - TRT - 19ª Região (AL) - Analista Judiciário - Tecnologia da Informação)
FIFO refere-se a estruturas de dados do tipo:
a) fila.
b) árvore binária.
c) pilha.
d) matriz quadrada.
e) cubo.
Trata-se da Fila!
Gabarito: Letra A
- (ESAF - 2010 - CVM - Analista de Sistemas - prova 2)
Uma fila é um tipo de lista linear em que:
a) as inserções são realizadas em um extremo e as remoções no outro extremo.
b) as inserções e remoções são realizadas em um mesmo extremo.
c) podem ser realizadas apenas inserções.
d) a inserção de um elemento requer a remoção de outro elemento.
e) a ordem de saída não corresponde à ordem de entrada dos elementos.
As inserções são realizadas em um extremo e as remoções são realizadas no outro extremo, por isso é FIFO!
Gabarito: Letra A
- (CESPE - 2010 - DETRAN-ES - Analista de Sistemas)
No armazenamento de dados pelo método FIFO (first in - first out), a estrutura de dados é representada por uma fila, em cuja posição final ocorrem inserções e, na inicial, retiradas.
Perfeito! Basta lembrar de uma fila: o primeiro a entrar é o primeiro a sair.
Gabarito: Correto
- (CESPE - 2008 - TRT - 5ª Região (BA) - Técnico Judiciário - Tecnologia da Informação)
Entre alguns tipos de estrutura de dados, podem ser citados os vetores, as pilhas e as filas.
Perfeito, são todos exemplos de estruturas de dados!
Gabarito: Correto
- (CESPE - 2004 – SES/PA – Analista de Sistemas)
Uma estrutura mais geral que as pilhas e filas é o deque, em que as inserções, retiradas e acessos são permitidos em ambas as extremidades.
Perfeito, deques permitem todas essas operações!
A estrutura de dados deque (abreviação de double-ended queue ou “fila de duas pontas”) é uma variação da fila que aceita inserção e remoção de elementos tanto do início quanto do final da fila.
Gabarito: Correto
- (CESPE - 2009 – TCE/AC – Analista de Sistemas – D)
Um deque (double ended queue) requer inserção e remoção no topo de uma lista e permite a implementação de filas com algum tipo de prioridade. A implementação de um deque, geralmente é realizada com a utilização de uma lista simplesmente encadeada.
Não, pode ser do início ou fim da lista! De fato, permite a implementação de filas com algum tipo de prioridade, mas geralmente é realizada com a utilização de filas duplamente encadeadas.
Gabarito: Errado