Logo Passei Direto
Buscar

Algoritmos: Conceitos e Tipos

User badge image
Lolo Barbosa

em

Ferramentas de estudo

Questões resolvidas

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

Questões resolvidas

Prévia do material em texto

Algoritmos
O que e um algoritmo?
a) Um conjunto de instrucoes que define uma tarefa a ser realizada por um computador.
b) Um tipo de codigo de programacao.
c) Uma linguagem de programacao especifica para maquinas.
d) Um programa que executa tarefas repetitivas.
Resposta correta: a)
Um algoritmo e um conjunto de instrucoes ou passos bem definidos que sao seguidos para realizar
uma tarefa especifica. Ele pode ser implementado em diversas linguagens de programacao e e a
base para a criacao de programas de computador.
Qual das alternativas abaixo e uma caracteristica essencial de um algoritmo?
a) Ele deve ser codificado em uma linguagem especifica.
b) Ele deve produzir um resultado, independentemente das entradas.
c) Ele deve ser claro, finito e terminar em um numero determinado de passos.
d) Ele deve ser escrito apenas em pseudocodigo.
Resposta correta: c)
Um algoritmo deve ser claro, finito e sempre terminar apos um numero determinado de passos.
Essa caracteristica garante que o algoritmo seja executavel e que sempre produza um resultado.
Qual e a diferenca entre um algoritmo e um programa de computador?
a) Um algoritmo e uma forma de representacao de um programa, mas nao realiza nenhuma acao
concreta.
b) Um programa e a implementacao de um algoritmo em uma linguagem de programacao
especifica.
c) Um algoritmo e um tipo de software, enquanto um programa e um algoritmo.
d) Nao ha diferenca, ambos sao a mesma coisa.
Resposta correta: b)
Um programa e a implementacao de um algoritmo em uma linguagem de programacao especifica,
utilizando comandos que o computador pode entender e executar. O algoritmo, por outro lado, e a
solucao teorica para um problema, que pode ser implementada de diversas formas.
O que significa a complexidade de um algoritmo?
a) O tempo e o espaco necessarios para executar o algoritmo.
b) A dificuldade de entender o algoritmo.
c) A quantidade de linhas de codigo no algoritmo.
d) O numero de passos necessarios para criar o algoritmo.
Resposta correta: a)
A complexidade de um algoritmo refere-se ao tempo e ao espaco necessarios para executa-lo,
geralmente expressos em termos de entrada. Isso e importante para avaliar a eficiencia de um
algoritmo.
Qual e o objetivo principal de se analisar a complexidade de um algoritmo?
a) Para verificar se o algoritmo esta livre de erros.
b) Para determinar se o algoritmo funciona corretamente.
c) Para avaliar a quantidade de recursos (tempo e memoria) necessarios para executar o algoritmo.
d) Para saber qual linguagem de programacao e mais eficiente.
Resposta correta: c)
O objetivo principal da analise de complexidade de um algoritmo e avaliar a quantidade de
recursos, como tempo e memoria, que ele consome em relacao ao tamanho da entrada, ajudando
a identificar se ele e eficiente ou nao.
Em qual situacao o algoritmo de ordenacao "Bubble Sort" e mais eficiente?
a) Quando a lista a ser ordenada esta em ordem crescente.
b) Quando a lista a ser ordenada esta em ordem decrescente.
c) Quando o tamanho da lista e muito grande.
d) Quando a lista contem elementos de tipos de dados diferentes.
Resposta correta: a)
O algoritmo "Bubble Sort" e mais eficiente quando a lista a ser ordenada ja esta quase ordenada,
ou seja, esta em ordem crescente, pois ele realiza menos trocas e comparacoes em tal cenario.
Qual e a caracteristica principal do algoritmo "Merge Sort"?
a) Ele e um algoritmo de ordenacao simples e de facil implementacao.
b) Ele usa a tecnica de divisao e conquista para ordenar os elementos.
c) Ele realiza trocas diretas entre os elementos.
d) Ele possui um desempenho muito ruim em listas pequenas.
Resposta correta: b)
O "Merge Sort" e um algoritmo de ordenacao eficiente que utiliza a tecnica de divisao e conquista.
Ele divide a lista em sublistas menores, ordena essas sublistas e depois as combina para obter a
lista final ordenada.
Qual e a principal vantagem do algoritmo de busca binaria em relacao a busca linear?
a) A busca binaria funciona melhor com listas pequenas.
b) A busca binaria so pode ser aplicada em listas ordenadas e e mais eficiente.
c) A busca binaria nao e afetada pela ordem dos elementos na lista.
d) A busca binaria e mais simples de implementar.
Resposta correta: b)
A busca binaria e mais eficiente do que a busca linear porque ela reduz pela metade o numero de
elementos a serem verificados a cada comparacao. Porem, ela so pode ser aplicada em listas
ordenadas.
O que caracteriza o algoritmo "Quick Sort"?
a) Ele e um algoritmo de ordenacao baseado em insercoes sucessivas.
b) Ele utiliza a tecnica de divisao e conquista, mas de forma mais eficiente que o Merge Sort.
c) Ele funciona bem para listas pequenas, mas nao e eficiente para listas grandes.
d) Ele e um algoritmo de ordenacao estavel.
Resposta correta: b)
O "Quick Sort" e um algoritmo de ordenacao eficiente baseado na tecnica de divisao e conquista.
Ele escolhe um "pivo" e organiza os elementos ao redor desse pivo de maneira recursiva.
Comparado ao "Merge Sort", ele e geralmente mais rapido em listas grandes.
O que e um "algoritmo guloso" (greedy algorithm)?
a) Um algoritmo que sempre escolhe a melhor solucao local em cada passo, na esperanca de que
isso leve a solucao otima global.
b) Um algoritmo que tenta explorar todas as possibilidades antes de tomar uma decisao.
c) Um algoritmo que e baseado em recursao e divide o problema em subproblemas menores.
d) Um algoritmo que sempre toma a decisao mais arriscada em cada passo.
Resposta correta: a)
Um algoritmo guloso faz escolhas locais otimas em cada etapa, na esperanca de que essas
escolhas levem a solucao otima global. No entanto, nem sempre ele garante a melhor solucao,
especialmente em problemas complexos.
O que e a tecnica de "programacao dinamica" (dynamic programming)?
a) E uma tecnica que divide um problema em subproblemas menores e resolve cada um deles de
forma independente.
b) E uma tecnica de otimizacao que resolve problemas utilizando a memoria para armazenar
resultados de subproblemas ja resolvidos.
c) E um metodo que encontra a solucao otima sem precisar de nenhum tipo de subproblema.
d) E um algoritmo que resolve problemas de forma recursiva e nao reutiliza resultados anteriores.
Resposta correta: b)
A programacao dinamica e uma tecnica usada para resolver problemas de otimizacao, dividindo o
problema em subproblemas menores e armazenando as solucoes desses subproblemas para evitar
recomputacoes, economizando tempo.
O que caracteriza um algoritmo recursivo?
a) Ele repete uma serie de operacoes em uma sequencia de passos.
b) Ele resolve um problema dividindo-o em subproblemas semelhantes e resolve cada subproblema
de forma independente.
c) Ele executa um conjunto fixo de operacoes.
d) Ele chama a si mesmo durante a execucao para resolver subproblemas.
Resposta correta: d)
Um algoritmo recursivo chama a si mesmo para resolver subproblemas, repetindo esse processo
ate atingir uma condicao de parada, que e o caso base. Isso e util para resolver problemas que
podem ser quebrados em partes menores e semelhantes.
Qual e a principal desvantagem de um algoritmo recursivo em comparacao a um iterativo?
a) Ele nao pode ser utilizado para resolver problemas grandes.
b) Ele pode consumir mais memoria devido a pilha de chamadas.
c) Ele e mais lento em todos os casos.
d) Ele nao e adequado para algoritmos de ordenacao.
Resposta correta: b)
A principal desvantagem dos algoritmos recursivos e o consumo maior de memoria devido a pilha
de chamadas, especialmente em problemas com muitas iteracoes recursivas. Isso pode levar ao
estouro da pilha (stack overflow) em casos extremos.
O que e um algoritmo de "busca em profundidade" (Depth First Search - DFS)?
a) Um algoritmo que explora todos os vizinhos de um no antes de passar para o proximo nivel.
b) Um algoritmo que explora um caminho ate o final antes de voltar e explorar outros caminhos.
c) Um algoritmo que busca a solucao mais rapida para um problema.
d)Um algoritmo que usa filas para explorar os nos do grafo.
Resposta correta: b)
O algoritmo de busca em profundidade (DFS) explora um caminho do grafo ate o final antes de
retroceder e explorar outros caminhos. Ele e util em problemas de grafos e arvores.
Qual e a principal diferenca entre a busca em largura (BFS) e a busca em profundidade (DFS)?
a) A BFS explora os nos mais distantes primeiro, enquanto a DFS explora os nos mais proximos
primeiro.
b) A BFS utiliza uma fila, enquanto a DFS utiliza uma pilha.

Mais conteúdos dessa disciplina