Questões de Concurso
Sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 2.344 questões
Considerando o cenário ideal de funcionamento de uma tabela hash, em que a função hash distribui uniformemente as chaves e há baixa ocorrência de colisões, assinale a alternativa que representa CORRETAIVENTE a complexidade da operação de busca nessa estrutura.
I. Estruturas de repetição permitem que um conjunto de instruções seja executado várias vezes, de acordo com uma condição ou quantidade definida. II. Tipos de dados indicam como as informações serão armazenadas e manipuladas, podendo incluir valores inteiros, reais, textuais e logicos. III. Algoritmos representam sequências de instruções organizadas para resolver problemas, podendo ser adaptados conforme a necessidade do contexto. IV. Estruturas condicionais são utilizadas para repetir blocos de comandos em intervalos fixos, substituindo os laços de repetição.
Pode-se afirmar que:
Algoritmos podem ser descritos por meio de pseudocódigo, uma notação que representa a lógica de um programa de forma independente de qualquer linguagem de programação específica. Considerando isso, analise o pseudocódigo apresentado abaixo:

Ao final da execução do algoritmo acima, o valor exibido pela instrução "escreva" será:
Um algoritmo consiste em uma sequência _______________ de instruções destinadas à resolução de um problema ou à execução de uma tarefa.
Considere o código a seguir.

A saída correta no console que é exibida executando esse código Java é
Considere o programa a seguir escrito em linguagem C.
#include <stdio.h>
int TAM(int n) {
int x;
if (n == 1) {
return(1 + n);
}
x = TAM(n/2) + TAM(n/2);
return(x);
}
int main() {
int n = 16;
printf("%d ", TAM(n));
}
Após a execução do programa, o resultado é
função busca1(x) 1. i := 1 2. busca1 := 0 3. enquanto i ≤ n faça 4. se L[i].chave = x então 5. busca1 := i 6. i := n + 1 7. senão i := i + 1
função busca2(x) 1. i := 1 2. L[n + 1].chave := x 3. enquanto L[i].chave ≠ x faça 4. i := i + 1 5. se i ≠ n + 1 então busca2 := i 6. senão busca2 := 0
Com base nas informações dadas, é correto afirmar:
I. Esse método aproveita a possibilidade de acesso randômico à memória para alcançar uma complexidade temporal média por operação de O(1), sendo o pior caso, entretanto, O(log n), em que n é a quantidade de chaves a serem armazenadas na tabela.
II. Uma das estratégias conhecidas para tratar colisões consiste em armazenar as chaves com o mesmo endereço-base em listas encadeadas. As listas podem se encontrar no exterior da tabela ou compartilhar o mesmo espaço dela.
III. A ideia básica do método de endereçamento aberto para tratamento de colisões é, caso ainda haja espaço, armazenar as chaves com o mesmo endereço-base na própria tabela, mas sem a necessidade da criação de listas encadeadas.
Com relação a essas afirmativas, pode-se afirmar que
A estrutura de repetição utilizada é:
Considere a seguinte lista ordenada de números inteiros em Python.
Números = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
Implementando um método de busca, qual a representação correta do código para realizar uma busca binária nessa lista?
contador <-0 PARA I DE 1 ATÉ 10 FAÇA SE habitantes[i] > 50000 ENTÃO contador <- contador + 1 FIM SE FIM PARA
Considerando que a variável "habitantes" é um vetor com pelo menos 100 valores, assinale a alternativa que identifica CORRETAMENTE o que o algoritmo apresentado faz
() Na busca sequencial, não é necessário que o vetor esteja ordenado, pois o algoritmo percorre os elementos um a um até encontrar o valor desejado ou até o final da estrutura.
() A busca sequencial possui complexidade média О (log n), sendo mais eficiente que a busca binária em grandes conjuntos de dados.
() A busca binária exige que o vetor esteja ordenado, pois realiza sucessivas divisões do espaço de busca com base na comparação do elemento central.
() A busca binária pode ser aplicada em vetores não ordenados, desde que o algoritmo ignore a etapa de comparação central e percorra todos os elementos.
Qual alternativa preenche, CORRETAMENTE, de cima para baixo, os parênteses acima?
() Variáveis são espaços de memória que podem ter seus valores alterados durante a execução de um algoritmo, enquanto constantes armazenam valores fixos que não sofrem alteração durante a execução.
() Estruturas condicionais são utilizadas para repetir blocos de comandos um determinado número de vezes ou enquanto uma condição for satisfeita.
() Estruturas de repetição permitem executar um conjunto de instruções várias vezes, com base em uma condição ou contador, como nos laços while e for.
() Funções e procedimentos são blocos de código reutilizáveis, sendo que funções e procedimentos sempre retornam valores ao final da execução.
Qual alternativa preenche, CORRETAMENTE, de cima para baixo, os parênteses acima?
I- FOR - é um laço de repetição usado para executar um bloco de código repetidas vezes.
II - IF - é uma estrutura condicional que executa um bloco de código apenas uma vez, caso a condição seja verdadeira. Não é um laço de repetição.
III - BREAK - (que significa "enquanto") é um laço de repetição (loop) utilizado para executar um bloco de código repetidamente enquanto uma determinada condição for verdadeira.
IV - WHILE - É um comando de controle usado para interromper a execução de um loop (como o while) ou de uma estrutura de decisão (como o switch).