Questões de Concurso Comentadas sobre algoritmos e estrutura de dados

Foram encontradas 2.112 questões

Q2518082 Algoritmos e Estrutura de Dados
Para acelerar a busca sobre uma lista de mensagens, Beatriz adotou uma tabela de dispersão, na qual o e-mail do emissor é quem define o hash.

N: INTEIRO V: VETOR [0..N-1] de LISTA<MENSAGEM> Algoritmo Adicionar (M: MENSAGEM) H <- 0 Para i de 0 até Tamanho (M.email) - 1 H <- H + Ord (M.email[i]) Fim Para H <- H Mod N V[H].Incluir(M) Fim Algoritmo

O hash é dado pelo resto da divisão entre a soma dos códigos ASCII do email e o tamanho do vetor de listas. Para que Beatriz obtenha a melhor distribuição das mensagens nas listas:

Alternativas
Q2518081 Algoritmos e Estrutura de Dados
Pedro adotou o algoritmo apresentado a seguir para ordenar um vetor de inteiros V, com índices variando de 1 até n.

Para K de 2 até n faça:
X <- V[K]
W <- (K – 1)
Enquanto W > 0 e V[W] > X faça:
V[W+1] <- V[W]
W <- (W-1)
Fim Enquanto
V[W+1] <- X
Fim Para

O algoritmo utilizado por Pedro foi o:
Alternativas
Q2518080 Algoritmos e Estrutura de Dados
O cálculo da complexidade computacional é essencial para verificar a viabilidade do algoritmo. Observe o código a seguir, em Python, para o problema da torre de Hanoi.

def hanoi(n, o, d, a):
if n==1:
print("D1 de "+o+" p/ "+d)
else:
hanoi(n-1, o, a, d)
print("D"+str(n)+" de "+o+" p/ "+d)
hanoi(n-1, a, d, o)

A complexidade desse algoritmo no pior caso é:
Alternativas
Q2518079 Algoritmos e Estrutura de Dados
Diversas operações matemáticas podem ser implementadas de forma recursiva, como no algoritmo seguinte.

Função X (J: inteiro, K: inteiro)
Início
Se J < K Então
Retorne J
Senão
Retorne X (J-K, K)
Fim


Considerando o domínio dos inteiros positivos, a função terá como resultado o(a):
Alternativas
Q2518070 Algoritmos e Estrutura de Dados
A analista Ana precisou implementar rapidamente uma função hash denominada AHash. A AHash deve determinar um valor numérico entre 0 e 5 para uma chave de entrada. Ana optou por implementar em AHash o método de hashing denominado Método da Divisão. Para compatibilizar possíveis chaves alfanuméricas com o Método da Divisão, Ana implementou um dicionário que atribui a cada caracter um valor numérico. Internamente, a AHash utiliza como chave o produto dos números correspondentes aos caracteres da chave original.
Sabendo que os caracteres C, V e M correspondem, respectivamente, aos números 67, 86 e 77, a AHash retornará para a chave “CVM”:
Alternativas
Q2518068 Algoritmos e Estrutura de Dados
O analista José precisa escolher entre dois algoritmos, Abusca e Cbusca. José sabe que, sendo N o tamanho da entrada do algoritmo, Abusca requer 2N + log2(N) operações para ser executado. Já o Cbusca requer N4 + N operações para ser executado. José determinou, na notação O-grande, a complexidade de tempo no pior caso para cada algoritmo e, por fim, deve escolher o algoritmo que apresenta a menor ordem de complexidade no pior caso.

José deve escolher o algoritmo:
Alternativas
Q2518064 Algoritmos e Estrutura de Dados
O analista Joaquim precisou ordenar um array com N elementos. Para economizar tempo, Joaquim optou por usar um algoritmo já disponível na biblioteca de ordenação. A biblioteca contém as implementações originais dos algoritmos Quicksort, Selection Sort, Insertion Sort, Merge Sort e Heap Sort. O analista escolheu o algoritmo que, no pior caso, apresenta uma relação quadrática entre a quantidade de operações necessárias para a ordenação e o número de elementos do array. No caso médio, a quantidade de operações necessárias se aproxima de N multiplicado por um logaritmo de N.

Joaquim escolheu o algoritmo de ordenação:
Alternativas
Q2517633 Algoritmos e Estrutura de Dados
Uma certa organização busca melhorar a qualidade e agilidade do seu atendimento eletrônico. Para isso um projeto foi criado para agrupar os e-mails recebidos de acordo com o tipo de problema a ser resolvido e assim repassá-los para o setor mais apropriado.

A equipe responsável pela implementação do projeto resolveu utilizar um modelo de linguagem recente para representar o máximo possível de informação contida num e-mail em um vetor de dimensão 768. Entretanto, depararam-se com o seguinte problema: as distâncias entre os vetores se mostraram muito pequenas, tornando o agrupamento por diversos algoritmos muito pouco significativo.

Com esse último problema em mente, a sequência mais apropriada de algoritmos a ser aplicada sobre os vetores, de forma a obter um agrupamento significativo dos e-mails, é:
Alternativas
Q2517619 Algoritmos e Estrutura de Dados
O cientista de dados Pedro trabalha em um projeto que envolve a previsão dos movimentos de um braço robótico em um ambiente complexo. Pedro tem um fluxograma de um algoritmo de aprendizado por reforço que é capaz de se adaptar dinamicamente ao ambiente e ajustar suas ações com base nos resultados de ações anteriores.

O algoritmo representado pelo referido fluxograma que deve ser empregado para a realização da tarefa de Pedro é o:
Alternativas
Q2517027 Algoritmos e Estrutura de Dados

As estruturas de dados utilizadas em programação determinam como as informações serão armazenadas, organizadas e acessadas, sendo uma parte importante no projeto de software, com impacto no seu desempenho e eficiência.


Sobre estruturas de dados lineares, analise as afirmativas a seguir.


I. Para realizar uma busca por um elemento em uma lista simplesmente encadeada pode-se começar a busca pelo início ou fim da lista.


II. Listas duplamente encadeadas não permitem a exclusão de elementos que não sejam o último ou o primeiro elemento da lista.


III. Uma lista circular pode ser simplesmente encadeada ou duplamente encadeada.


Está correto o que se afirma em 

Alternativas
Q2517026 Algoritmos e Estrutura de Dados

A Notação Polonesa Reversa (RPN, do inglês Reverse Polish Notation) foi desenvolvida como uma forma de escrever expressões lógicas e aritméticas sem usar parênteses. Essa notação ganhou popularidade ao ser implementada em calculadoras científicas, onde permite reduzir a quantidade de acionamento de teclas no cálculo de expressões.

Quando uma calculadora opera no modo RPN, os operandos são inseridos previamente em uma estrutura de dados e, ao utilizar-se um operador (soma, subtração, ...), a quantidade de operandos necessários são retirados da estrutura na ordem inversa da inserção e, após o cálculo da operação, o resultado é inserido na estrutura de dados. Assim, por exemplo, caso se deseje calcular a expressão A + (B – C)*D em uma calculadora operando no modo RPN, pode-se seguir o seguinte procedimento: 


• Insere A

• Insere B

• Insere C

• Realiza a operação de subtração

• Insere D

• Realiza a operação de multiplicação

• Realiza a operação de soma


De acordo com a descrição acima, assinale a opção que indica a estrutura de dados que melhor caracteriza a utilizada pelo modo RPN para armazenar os operandos e resultados.

Alternativas
Q2516990 Algoritmos e Estrutura de Dados

Com relação à formulação de algoritmos e suas formas de representação, analise as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.


( ) O refinamento passo a passo de cima para baixo é um processo para refinar o pseudocódigo, mantendo uma representação completa do programa durante cada refinamento.


( ) A técnica conhecida como “repetição controlada por contador” é muitas vezes denominada como “repetição definida”, porque o número de repetições é conhecido antes do laço começar a ser executado.


( ) O fluxograma é uma representação gráfica de um algoritmo. É desenhado com alguns símbolos especiais, como retângulos, elipses, círculos e losangos, conectados por setas.


As afirmativas são, respectivamente,

Alternativas
Q2516599 Algoritmos e Estrutura de Dados
Um sistema de banco de dados normalmente possui estruturas de dados auxiliares, chamadas de índices ou estruturas de indexação, que são utilizadas para agilizar a recuperação de registros em resposta a certas condições de pesquisa. Existem diversos métodos de indexação, tanto para dados convencionais, baseados em tipos numéricos e textuais, quanto para dados espaciais representados por pontos, linhas e polígonos.
Nesse contexto, analise as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.
( ) Tanto as Árvores-B+ quanto as Árvores-R são árvores balanceadas. ( ) Em uma Árvore-B+, uma busca por um valor de chave iniciada pelo nó raiz percorre apenas um único caminho até um nó folha (ou terminal). ( ) Em uma Árvore-R, uma busca iniciada pelo nó raiz pode exigir a verificação de mais de uma sub-árvore desse nó raiz para selecionar os itens que satisfazem o critério de busca. ( ) Uma quad-tree sempre é uma árvore balanceada. ( ) Uma das desvantagens de um Árvore-k-d (k-d-tree) é que ela é uma estrutura sensível à ordem nos quais os pontos são inseridos.
As afirmativas são, respectivamente,
Alternativas
Q2513838 Algoritmos e Estrutura de Dados
Ao realizar a soma dos números binários 00011010(2) e 00100111(2), obtém-se como resposta o número binário
Alternativas
Q2511221 Algoritmos e Estrutura de Dados
Qual é a finalidade principal da análise de algoritmos?
Alternativas
Q2510164 Algoritmos e Estrutura de Dados
Considere as assertivas abaixo sobre criptografia e funções do tipo hash:

I. O MD5 não é propriamente um modelo criptográfico, existindo limitações até mesmo de segurança. Seu hash é constituído por uma estrutura hexadecimal de 32 caracteres.
II. O AES (Advanced Encryption Standard) é um algoritmo de criptografia, porém é unidirecional, não permitindo a descriptografia.
III. O RSA (Rivest-Shamir-Adleman) é um algoritmo de criptografia assimétrica bidirecional.

Conforme as assertivas, responda a alternativa verdadeira:
Alternativas
Q2498263 Algoritmos e Estrutura de Dados
Julgue as sentenças abaixo como VERDADEIRAS ou FALSAS.

1. (__) Vetores (arrays bidimensionais) e matrizes (arrays unidimensionais) são estruturas de dados que permitem armazenar e manipular coleções de dados de forma eficiente.
2. (__) Fluxogramas são representações gráficas de algoritmos, utilizando símbolos padronizados para denotar diferentes tipos de instruções ou operações (como processos, decisões, entrada/saída de dados, entre outros).
3. (__) Ao utilizar uma sintaxe simplificada e próxima da língua nativa do aprendiz, o Portugol permite uma compreensão mais intuitiva dos conceitos fundamentais de programação, como variáveis, estruturas de controle e lógica de programação.

A sequência CORRETA é:
Alternativas
Q2498259 Algoritmos e Estrutura de Dados
Qual das seguintes opções melhor descreve o conceito de uma estrutura de sequência em programação?
Alternativas
Q2498248 Algoritmos e Estrutura de Dados
Um analista de sistemas está projetando um sistema que requer a implementação de uma estrutura de dados para representar um conjunto de elementos, onde a busca por um elemento específico deve ser realizada de forma eficiente. Qual estrutura de dados é mais apropriada para essa situação?
Alternativas
Q2495477 Algoritmos e Estrutura de Dados
Considere as seguintes características, encontradas em alguns algoritmos de ordenação:

I - É estável, ou seja, não altera a ordem relativa dos elementos que possuem o mesmo valor de chave de ordenação.
II - Percorre repetidamente a lista a ser ordenada, comparando o elemento corrente com o seguinte e, se necessário, trocando os seus valores.
III - Divide a lista a ser ordenada em duas partes: uma sublista ordenada de elementos, que é construída da esquerda para a direita (ordem crescente), à frente de uma sublista referente aos elementos não ordenados, sendo que, inicialmente, a primeira lista é vazia, enquanto a segunda contém todos os elementos a serem ordenados.

Essas características se aplicam, respectivamente, aos seguintes métodos de ordenação:
Alternativas
Respostas
121: C
122: B
123: A
124: C
125: E
126: C
127: A
128: D
129: D
130: C
131: C
132: D
133: D
134: D
135: B
136: C
137: B
138: C
139: E
140: A