Questões de Concurso
Sobre estrutura de dados em algoritmos e estrutura de dados
Foram encontradas 1.673 questões
Considere o trecho de código a seguir:

O trecho de código corresponde à definição de
Fonte: Nina Mar. Aula prática 12 Listas Encadeadas. UFPE.
Pautando-se nas informações e seu conhecimento sobre lista encadeada simples, informe se é verdadeiro (V) ou falso (F) para o que se afirma e assinale a alternativa com a sequência correta.
( ) O ponteiro do último nó deve ser explicitamente definido como NULL. Todos os algoritmos detectam o fim por esse ponteiro nulo.
( ) Mesmo havendo apenas um ponteiro, pode-se percorrer a lista em várias direções.
( ) As únicas operações que podem ser executadas em listas encadeadas simples são: inserção e exclusão.
( ) Em uma lista encadeada simples, cada nó contém um segundo campo de link ao lado do link do próximo nó que aponta para os nós na sequência.
I Listas são estruturas de dados mais simples, que podem ser implementadas de forma dinâmica.
II Pilhas são um tipo de Lista, em que o elemento a ser removido é sempre o último inserido.
III Matrizes são estruturas de dados sempre definidas com o número de linha igual ao número de colunas.
IV Árvores são um tipo especial de matriz, em que cada linha possui o dobro de elementos da linha anterior.
Das afirmações, estão corretas
Utilize o código fonte em linguagem C seguinte para responder a questão.


I – A função list() percorre a árvore e imprime os elementos em ordem crescente.
II – A função search() realiza uma busca recursiva na árvore binária e retorna um ponteiro para o nó que contém o elemento procurado, se encontrado.
III – A função list() não é recursiva.
Assinale a alternativa correta:
I – Se o grafo contém um ciclo, nenhuma ordenação topológica é possível.
II – O algoritmo de Kruskal é usado para encontrar a árvore geradora mínima em um grafo.
III – O algoritmo de caminhos mínimos de Dijkstra considera que todos os pesos de arestas no grafo de entrada são não negativos.
CORMEN, Thomas H. Algoritmos: teoria e prática. Rio de Janeiro: Elsevier, 2012.
Assinale a alternativa CORRETA:
Uma ___________ é uma estrutura de dados que segue o princípio LIFO (Last In, First Out). Os elementos são inseridos no topo (push) e removidos do topo (pop). Um(a) ___________ é uma coleção de vértices (ou nós) e arestas que conectam esses vértices. Pode ser dirigido(a) (as arestas têm uma direção) ou não dirigido(a).
( ) Lista é uma estrutura na qual as operações “inserir”, “retirar” e “localizar” são definidas. São estruturas muito flexíveis porque podem crescer ou diminuir de tamanho durante a execução de um programa, de acordo com a demanda.
( ) Listas são adequadas para aplicações em que não é possível prever a demanda por memória, permitindo a manipulação de quantidades imprevisíveis de dados, de formato também imprevisível.
( ) Uma pilha é uma lista linear em que todas as inserções, retiradas e geralmente todos os acessos são feitos em apenas um extremo da lista.
( ) Uma fila é uma lista linear em que todas as inserções são realizadas em um extremo da lista, e todas as retiradas e geralmente os acessos são realizados no outro extremo da lista.
Para gerenciar a ordem de execução de chamadas de função em um programa recursivo, a estrutura de dados mais adequada é a pilha (stack), pois sua característica LIFO (last-in, first-out) espelha o fluxo de execução em que a última função chamada é a primeira a finalizar sua execução e retornar.
I. Um arquivo é um conjunto de registros (ou seja, é uma estrutura de dados) no qual cada registro não ocupa uma posição fixa dentro da estrutura, não possuindo, portanto, tamanho preestabelecido.
II. Os registros são formados por unidades de informação denominadas campos e, por serem do mesmo tipo, tornam os registros um tipo de dado homogêneo por definição.
III. Os arquivos têm como principal finalidade o armazenamento de grandes quantidades de informação por um grande período de tempo.
IV. De forma genérica, podemos admitir que todo arquivo possui maneiras semelhantes de ser manipulado, independentemente de como foi concebido.
Estão CORRETAS as afirmações:
class No: def __init__(self, dado): self.dado = dado self.proximo = None
Considere ainda o trecho de código em Python que manipula a Lista Simplesmente Encadeada e que está declarado dentro da classe ListaEncadeada:
A classe ListaEncadeada contém outros métodos que permitem a sua completa manipulação, como inserir elemento no início, inserir elemento no final, exibir conteúdo da lista e remover elementos. Assinale a alternativa que apresenta o conteúdo retornado pelo metodoZ, quando for enviado como parâmetro a seguinte Lista Ligada: [15, 28, 2, 10, 50, 14, 77]
Considere o seguinte trecho de pseudocódigo, que utiliza uma pilha:
inicialize pilha vazia
para i de 1 até 4:
empilhar(i)
enquanto pilha não estiver vazia:
x < desempilhar ()
imprimir (x)
A esse respeito, qual será a saída do programa, considerando-se o comportamento padrão de uma pilha?
Considere que os códigos apresentados a seguir estão implementados na linguagem de programação Java. Além disso, considere o construtor da classe Node, representando o nó, e o trecho inicial da classe Lista, conforme descritos nas figuras 1 e 2, respectivamente.
Diante do exposto, marque a opção que contém, na linguagem Java, o método para adicionar um novo nó (Node) ao final da Lista (método da classe Lista).