Questões de Concurso
Sobre estrutura de dados em algoritmos e estrutura de dados
Foram encontradas 1.673 questões
I. Uma fila é uma lista linear em que todas as inserções são realizadas em um extremo da lista, e todas as retiradas no outro extremo. Normalmente, os acessos são realizados no mesmo extremo da lista em que são feitas as retiradas.
II. Em uma implementação por meio de arranjo (vetores), os itens são armazenados em posições contíguas de memória. Por causa das características da fila, o enfileiramento (inserção na fila) faz a parte de trás da fila expandir-se e o desenfileiramento (remoção) faz a parte da frente da fila contrair-se. Consequentemente, a fila tende a caminhar pela memória do computador, ocupando espaço na parte de trás e descartando espaço na frente da fila. Com poucas inserções e retiradas de itens, a fila vai ao encontro do limite do espaço da memória alocado para ela.
III. Em uma fila implementada por meio de apontadores, a implementação se dá por meio de células. Cada célula contém um item da fila e um apontador para a outra célula. Também é necessário utilizar apontadores para a frente da fila e para a parte de trás da fila.
I. Em uma pilha implementada por meio de arranjos (vetores), é necessário um cursor para controlar a posição do item no topo da pilha.
II. As pilhas possuem a seguinte propriedade: o último item inserido é o primeiro item que pode ser retirado da lista.
III. Os itens da pilha são colocados um sobre o outro, com o item inserido mais recentemente no fundo e o item inserido menos recentemente no topo.
IV. As pilhas são chamadas de listas lifo (last in, first out).
I. Não é possível inserir e retirar elementos sem necessidade de deslocar os itens seguintes da lista.
II. A implementação de listas por meio de apontadores permite utilizar posições não contíguas de memória.
III. Uma das desvantagens deste tipo da implementação de listas, por meio de apontadores, é a utilização de memória extra para armazenar os apontadores.
IV. Em aplicações em que não existe previsão sobre o crescimento da lista, é conveniente utilizar listas encadeadas por apontadores, porque neste caso o tamanho máximo da lista não precisa ser definido a priori.
A pesquisa binária, em relação à pesquisa sequencial, possui a vantagem de executar menos comparações, em média, para encontrar a chave procurada em uma lista ordenada.
A árvore representada na figura acima tem profundidade igual a 4.
Se fosse implementado um algoritmo que simulasse o movimento em uma rua sem saída, onde passa um carro de cada vez, a fila seria a estrutura de dados que melhor armazenaria as informações dos carros.
Considere que o grafo não orientado representado na figura acima possua as seguintes características:Nesse caso, é correto afirmar que o grafo G1 possui quatro vértices, nomeados de A, B, C e D, e cinco arcos, que conectam pares de vértices, conforme especificado em A1.

O nó 5 possui grau:
início
VET1,VET2 : vetor [1..100] numérico
CONTADOR : numérico
para CONTADOR de 1 até 100 faça
leia "Digite um número: ",VET1[CONTADOR]
VET2[CONTADOR] ← (VET1[CONTADOR] * 3)
fim-para
fim
I. O modo de acesso de uma fila é conhecido como UEPS.
II. POPe PUSHsão, respectivamente, operações de empilhamento e desempilhamento de pilhas.
III. Os nós de uma árvore binária são numerados por níveis a partir do nó-raiz, de modo que os da esquerda são numerados antes dos da direita.
É (são) verdadeira(s) apenas:
é para indicar um ponteiro e o símbolo
para tratar atribuição de valor, o valor final de RET encontrado pelo programa é:
algoritmo Teste
var vet: vetor[0..4] inteiro
var n, p, u, aux: inteiro
início
para (p de 0 até 4 passo 1) faça
leia (n)
vet[p] ← n
fim_para
p ← 0
u ← 4
aux ← 0
enquanto (u<>1) faça
enquanto (p<>u) faça
se(vet[p]>vet[p+1])
então aux ← vet[p]
vet[p] ← vet[p+1]
vet[p+1] ← aux
fim_se
p ← p+1
fim_enquanto
p ← 0
u ← u-1
fim_enquanto
fim
O pseudocódigo apresentado
é executada nas linguagens de programação seguindo a ordem de precedência dos operadores na matemática. A figura abaixo representa uma estrutura de dados que mostra a ordem das operações, que são realizadas dos elementos, desde os mais abaixo para os mais acima, em cinco níveis. 
Esse tipo de estrutura pode ser definido como um(a)
, 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
contíguo, portanto, não temos acesso direto aos elementos da lista. Para que seja possível percorrer todos os elementos da
, devemos explicitamente guardar o encadeamento dos elementos, o que é feito armazenando-se, junto com a informação de cada elemento, um
para o próximo elemento da
. As lacunas de I a V, são preenchidas, corretas e respectivamente, por: