Questões de Concurso Sobre algoritmos em algoritmos e estrutura de dados

Foram encontradas 2.320 questões

Q836970 Algoritmos e Estrutura de Dados
O Quicksort é um dos métodos de ordenação mais eficientes disponíveis e a técnica de busca por espalhamento ou hashing é muito utilizada em diversas aplicações. Em relação a estes métodos é correto afirmar:
Alternativas
Q836969 Algoritmos e Estrutura de Dados

O gráfico abaixo mostra a relação de dominação assintótica entre funções de complexidade de algoritmos. Os valores de tempo e tamanho do problema são apenas referenciais. Considere apenas os seus valores crescentes.


Imagem associada para resolução da questão


Com base no gráfico, é correto afirmar que

Alternativas
Q825548 Algoritmos e Estrutura de Dados

A ordenação de elementos em um vetor pode ser executada a partir de diversos algoritmos conhecidos e que são adequados para situações específicas. Sobre algoritmos de ordenação, dadas as seguintes afirmativas,

I. O algoritmo Bubble Sort é eficiente para ordenar poucos elementos, mas é lento para ordenar muitos itens.

II. O algoritmo Selection Sort para ordenação crescente consiste em mover o menor valor do vetor para a primeira posição, depois o segundo menor para a segunda posição e assim sucessivamente até os dois últimos valores.

III. O algoritmo Quick Sort ordena os valores de um vetor através de sucessivas seleções do elemento correto a ser posicionado em um segmento ordenado.

verifica-se que está(ão) correta(s)  

Alternativas
Q825520 Algoritmos e Estrutura de Dados
Desempenho é a grande vantagem da tabela na utilização hash. O tempo de busca na tabela hash tem complexidade O(1), se desconsiderarmos as colisões; entretanto, se as colisões são tratadas usando uma lista encadeada, qual é o tempo de busca máximo para uma tabela hash com n colisões?
Alternativas
Q825514 Algoritmos e Estrutura de Dados

Um robô foi programado para arrumar cada um dos 6 objetos diferentes em uma prateleira do móvel, representado a seguir, de modo que a arrumação de um dia nunca era a mesma dos dias anteriores.

Imagem associada para resolução da questão

Ele conseguiu fazer isso

Alternativas
Q579117 Algoritmos e Estrutura de Dados

Os exemplos de pseudocódigo a seguir resolvem Xn para X en inteiros maiores que 0:

ALGORITMO EXEMPLO 1

VAR A, N, X, CONT: INTEIRO

INÍCIO

LEIA (X, N)

CONT ← 1

A ← 1

ENQUANTO (CONT <=N) FAÇA

A ← A * X

CONT ← CONT + 1

FIM_ENQUANTO

IMPRIMA(A)

FIM

ALGORITMO EXEMPLO 2

VAR A, N, X, CONT: INTEIRO

INÍCIO

LEIA (X, N)

A ←1

PARA CONT ← 1 ATÉ N PASSO 1

A ← A * X

FIM_PARA

IMPRIMA(A)

FIM

Sobre os exemplos apresentados, é correto afirmar que:

Alternativas
Ano: 2012 Banca: OBJETIVA Órgão: EPTC Prova: OBJETIVA - 2012 - EPTC - Analista de Sistemas |
Q562523 Algoritmos e Estrutura de Dados
Considerar o fragmento de algoritmo a seguir:  

                Algoritmo "Fatorial";

                variável:

                             RESULTADO,VAR1,VAR2: inteiro;

                 inicio

                             Escreva("Digite um numero");

                              Leia(VAR1);

                              RESULTADO ← 1;

                              Para VAR2 de 1 ate VAR1 faca

                                           RESULTADO ← RESULTADO + VAR2;

                              Fimpara;

                              Escreva (“O fatorial de “, VAR1, “ e: “, RESULTADO);

               fim. 

O objetivo desse algoritmo é calcular o fatorial de um número informado pelo usuário. Embora o algoritmo esteja bem formatado (seguindo as regras de codificação), existe um erro lógico que impede o algoritmo de apresentar o resultado correto, que é:  
Alternativas
Q486634 Algoritmos e Estrutura de Dados
O seguinte trecho de código em Java foi copiado de uma classe que implementa um método de ordenação de vetores.

1.    for ( int i=0; i < n; i ++) {
2.            for (int j=1; j < (n-i) ; j ++) {
3.                   if (intArray[ j-1] > intArray[ j ] ) {
4.                        temp = intArray[ j-1] ;
5.                         intArray[ j-1] = intArray[ j ] ;
6.                         intArray[ j ] = temp ;
7.                   }
8.            }
9.    }

Para expressar propriedades desse código, na linguagem da lógica proposicional, considere as proposições lógicas p, q e r e as seguintes interpretações:

• p é verdadeiro se e somente se i = 0
• q é verdadeiro se e somente se j ≠ (n-i)
• r é verdadeiro se e somente se intArray[j-1] > intArray[j]

Nesse contexto, os comandos de atribuição presentes neste trecho de código (linhas 4, 5 e 6) serão executados para:
Alternativas
Q431363 Algoritmos e Estrutura de Dados
Em qual das árvores pode-se alcançar qualquer um de seus n=10 nós em, no máximo, O(log n) passos?
Alternativas
Q431359 Algoritmos e Estrutura de Dados
O esforço computacional despendido pelo algoritmo de ordenação da bolha varia de forma quadrática com o tamanho do problema. Isso ocorre porque são utilizados dois comandos de repetição aninhados. Para melhorar o seu desempenho médio, a repetição externa é encerrada quando nenhuma modificação no vetor for realizada após uma execução completa da repetição interna (i=0..n). Seja o vetor abaixo, que se deseja ordenar de forma ascendente, seguindo a versão do algoritmo da bolha descrita acima.

imagem-085.jpg

Caso um contador, previamente inicializado com o valor zero, seja inserido no início do comando de repetição externo, qual será o seu valor imediatamente após o encerramento desse comando de repetição?
Alternativas
Q431358 Algoritmos e Estrutura de Dados
Um programador recebeu a tarefa de elaborar um algoritmo para criar uma única lista encadeada, não necessariamente ordenada, a partir de duas listas encadeadas ordenadas já existentes.

Cada uma das listas originais possui ponteiros para o primeiro e para o último elementos. Qual é a complexidade do algoritmo mais eficiente que esse programador pode produzir?
Alternativas
Q431331 Algoritmos e Estrutura de Dados
Considera-se que o algoritmo de controle calculado pelo computador é projetado a partir do equivalente em tempo discreto G(z) da planta G(s).

Então, o método apropriado para calcular G(z) é
Alternativas
Q429747 Algoritmos e Estrutura de Dados
Ao entrevistar um conjunto de usuários, uma analista de sistemas coletou os seguintes requisitos:

Os atendentes podem cadastrar, atualizar e excluir pedidos. Todos os pedidos são cadastrados com o status “aberto”. O status de um pedido é único e corresponde à situação em que ele se encontra a cada momento. Após ter suas informações completamente fornecidas, um pedido é passado para o departamento de ativação, que muda seu status para “ativando” e muda, posteriormente, para “atendido” quando o atendimento se encerra. Uma vez que um pedido não está mais em aberto, ele não pode ser modificado para atender a solicitações externas. Sobre um mesmo pedido, considere as seguintes proposições e seu significado pretendido:

P: o pedido está em aberto.
Q: o pedido está ativando.
R: o pedido está atendido.
M: o pedido pode ser modificado.

Para os requisitos descritos, vale a seguinte fórmula da lógica proposicional:
Alternativas
Q429718 Algoritmos e Estrutura de Dados
Um vetor ordenado de inteiros com 2N+1 elementos, com N=0, será usado para criar uma árvore binária de busca da seguinte maneira: o elemento central, de índice N, será usado para criar a raiz; depois, serão inseridos na árvore todos os elementos na seguinte ordem de índices: N-1, N+1, N-2, N+2, ..., 1, 2N-1, 0, 2N.

Assumindo que a altura de uma folha é zero, qual será a altura resultante dessa árvore?
Alternativas
Q424006 Algoritmos e Estrutura de Dados
Os métodos de ordenação correspondem ao processo de rearranjar um conjunto de objetos em ordem ascendente ou descendente. O objetivo da ordenação é facilitar a recuperação posterior dos itens do conjunto ordenado. Um algoritmo de ordenação que pode ser usado em uma ampla variedade de situações é denominado de
Alternativas
Q423754 Algoritmos e Estrutura de Dados
Assinale a alternativa que preenche corretamente as lacunas do enunciado abaixo, na ordem em que aparecem.

Comandos do-while (“faça-enquanto”), while-do (“enquanto-faça”) e for (“para-condição-atualização”), em linguagens de programação, permitem a execução de laços e são necessários em muitos algoritmos.

No comando do-while, a expressão lógica associada ao ________ é avaliada ________ execução do bloco de comandos; no ________, a expressão lógica de controle é avaliada ________.
Alternativas
Q423752 Algoritmos e Estrutura de Dados
Observe a função abaixo, escrita em uma linguagem de programação hipotética.

imagem-002.jpg
Com base nesses dados, é correto afirmar que, se a chamada da função for feita com os parâmetros a = 1 e b = 3, será retornado o valor
Alternativas
Q423712 Algoritmos e Estrutura de Dados
Considere o seguinte conjunto de instruções.

Instruções para se tornar um milionário

1. Retire todo seu dinheiro do banco.
2. Vá a um cassino e compre fichas com esse dinheiro.
3. Jogue em máquinas caça-níqueis até ganhar 1 milhão de reais ou acabarem as fichas.
Este conjunto de instruções NÃO é um algoritmo porque não possui uma propriedade fundamental dos algoritmos, a qual assegura que, se as instruções são seguidas, é certo que o resultado final será atingido. O nome desta propriedade fundamental dos algoritmos é
Alternativas
Q423711 Algoritmos e Estrutura de Dados
Dois algoritmos que sejam diferentes em estrutura, mas idênticos em comportamento, porque produzem os mesmos resultados em todos os casos possíveis, são denominados
Alternativas
Q367105 Algoritmos e Estrutura de Dados
Independente da linguagem de programação, ao passar um parâmetro por referência em uma função, toda a alteração feita .
Alternativas
Respostas
1901: A
1902: E
1903: C
1904: D
1905: B
1906: E
1907: A
1908: B
1909: D
1910: B
1911: E
1912: A
1913: C
1914: C
1915: D
1916: B
1917: C
1918: D
1919: C
1920: D