Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.113 questões
Para armazenar os dados a serem utilizados por um sistema, o desenvolvedor pode fazer uso de uma, entre várias estruturas de dados existentes, em que cada uma é adequada a determinados contextos. Sobre as estruturas de dados, marque a alternativa CORRETA.
Considere a estrutura de dados árvore binária de busca e que cada um de seus elementos possua três campos.
➢ left: um ponteiro para o elemento à sua esquerda;
➢ value: informação armazenada pelo elemento; e
➢ right: um ponteiro para o elemento à sua direita.
Considere ainda uma árvore binária de busca preexistente armazenada na variável root “e uma função newNode que cria um novo elemento de árvore com o valor dentro (seus ponteiros são inicializados como nulos)”.
Analisando-se o trecho de pseudocódigo apresentado, qual é a
tarefa realizada por ele?
Considere a árvore binária apresentada.
Percorrer essa árvore utilizando o algoritmo de pre-oder
resultará na seguinte sequência:
A pilha é uma estrutura de dados que permite a inserção e a remoção desses dados sempre por meio de regras predefinidas. Para que essas operações sejam realizadas, são utilizadas duas funções: push e pop. Com base nessa informação, considere que um programa possua uma pilha p, inicialmente vazia, e que as seguintes operações foram realizadas: PUSH(p, 10); PUSH(p, 5); PUSH(p, 3); PUSH(p, 50); POP(p); PUSH(p, 11); PUSH(p, 9); PUSH(p, 20); POP(p); POP(p).
Ao fim da execução desses comandos, quais serão o topo da pilha e o somatório dos elementos ainda dentro da pilha, respectivamente?
Para responder a questão, considere os dados a seguir:
No portal do TCE-RS há os seguintes dados com relação ao indicador “Despesas com Educação” no município de Porto Alegre:
PORTO ALEGRE
Despesa: R$ 635.024.252,88
Receita: R$ 2.325.564.053,44
Percentual:
2012 27,31%
2011 26,90%
2010 27,10%
2009 27,72%
2008 25,33%
O indicador “Despesas com Educação” também foi medido em diversos municípios do estado do Rio Grande do Sul e as seguintes atividades deverão ser realizadas com base nestes dados:
I. Unir aos dados ordenados dos anos de 2008 a 2012, os dados já ordenados dos anos de 2000 a 2011, criando um único novo vetor ordenado.
II. Construir uma estrutura de dados que permita inserir o indicador de 2012 relativo às “Despesas com Educação” e os nomes de todos os municípios do Estado. A estrutura deve permitir realizar uma consulta eficiente pelo nome do município para obter o valor do indicador e também mostrar os nomes dos municípios em ordem alfabética junto com seu indicador.
Para as tarefas I e II, optou-se, de forma correta e mais adequada, por utilizar
Determinada estrutura de dados foi projetada para minimizar o número de acessos à memória secundária. Como o número de acessos à memória secundária depende diretamente da altura da estrutura, esta foi concebida para ter uma altura inferior às estruturas hierarquizadas similares, para um dado número de registros. Para manter o número de registros armazenados e, ao mesmo tempo, diminuir a altura, uma solução é aumentar o grau de ramificação da estrutura (o número máximo de filhos que um nó pode ter). Assim, esta estrutura possui um grau de ramificação geralmente muito maior que 2. Além disso, a cada nó são associados mais de um registro de dados: se o grau de ramificação de um nó for g, este pode armazenar até g-1 registros.
Esta estrutura de dados é utilizada em banco de dados e sistema de arquivos, sendo denominada
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 é:
Considere um método busca que recebe como parâmetros um elemento x do tipo inteiro e um vetor V de inteiros. O objetivo do método é verificar se o elemento x está contido no vetor V. Em caso positivo, a posição de x em V é retornada. Caso contrário, o valor -1 é retornado. Assim, por exemplo, se o método busca é executado com V = [1,7,5] e x = 2, o valor -1 é retornado. Se o método busca é chamado com V = [1,7,5] e x = 7, o valor 1 é retornado.
Usando a técnica de teste funcional, a seguinte partição do domínio de entrada foi definida:
Característica: localização do elemento na lista
Bloco 1: elemento é o primeiro da lista
Bloco 2: elemento é o último da lista
Bloco 3: elemento está em alguma posição na lista, exceto na primeira e na última
Tendo em vista que cada teste é composto por uma tupla (V, x), assinale a alternativa que apresenta, de forma correta, o conjunto de testes definidos com base na partição acima.