Logo Passei Direto
Buscar
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!

Prévia do material em texto

1. O que é um algoritmo?
a) Um conjunto de instruções que resolve um problema específico.
b) Uma linguagem de programação.
c) Um tipo de banco de dados.
d) Um software que executa tarefas automáticas.
Resposta correta: a) Um conjunto de instruções que resolve um problema específico.
Explicação: Um algoritmo é uma sequência finita e bem definida de instruções para
resolver um problema ou realizar uma tarefa.
2. O que significa a complexidade de tempo de um algoritmo?
a) O tempo necessário para um algoritmo ser escrito.
b) O número de linhas de código de um algoritmo.
c) O tempo que um algoritmo leva para executar em função do tamanho da entrada.
d) A quantidade de memória usada por um algoritmo.
Resposta correta: c) O tempo que um algoritmo leva para executar em função do
tamanho da entrada.
Explicação: A complexidade de tempo descreve como o tempo de execução de um
algoritmo cresce à medida que o tamanho da entrada aumenta.
3. O que é a complexidade de espaço de um algoritmo?
a) A quantidade de tempo que o algoritmo leva para ser executado.
b) A quantidade de memória necessária para executar o algoritmo.
c) A eficiência de um algoritmo em manipular dados.
d) A quantidade de operações realizadas pelo algoritmo.
Resposta correta: b) A quantidade de memória necessária para executar o algoritmo.
Explicação: A complexidade de espaço mede a quantidade de memória adicional
necessária para executar um algoritmo, além da memória de entrada.
4. O que é a notação Big O (O grande)?
a) Uma notação usada para descrever o número total de linhas de código de um
algoritmo.
b) Uma forma de medir a complexidade de um algoritmo, representando o pior caso de
desempenho.
c) Uma técnica para otimizar algoritmos.
d) Um tipo de algoritmo usado para ordenar números.
Resposta correta: b) Uma forma de medir a complexidade de um algoritmo,
representando o pior caso de desempenho.
Explicação: A notação Big O é usada para descrever o comportamento de complexidade
de tempo ou espaço de um algoritmo no pior caso, ajudando a entender como o
algoritmo escala com entradas maiores.
5. Qual é a diferença entre os algoritmos de busca linear e busca binária?
a) A busca linear é mais eficiente que a busca binária.
b) A busca binária requer que os dados estejam ordenados, enquanto a busca linear
não.
c) A busca linear é usada em arrays ordenados e a binária em arrays desordenados.
d) A busca binária só pode ser usada em listas de números.
Resposta correta: b) A busca binária requer que os dados estejam ordenados, enquanto
a busca linear não.
Explicação: A busca binária é mais eficiente que a busca linear, mas ela só pode ser
aplicada a listas ordenadas. A busca linear pode ser usada em listas não ordenadas.
6. O que é um algoritmo de ordenação?
a) Um algoritmo que encontra o maior número em uma lista.
b) Um algoritmo que organiza os elementos de uma lista em uma ordem específica.
c) Um algoritmo que divide uma lista em partes iguais.
d) Um algoritmo que encontra a média de uma lista de números.
Resposta correta: b) Um algoritmo que organiza os elementos de uma lista em uma
ordem específica.
Explicação: Algoritmos de ordenação, como Bubble Sort, Merge Sort ou Quick Sort,
organizam os elementos de uma lista em uma ordem crescente ou decrescente.
7. O que é o algoritmo de Dijkstra?
a) Um algoritmo de ordenação de números.
b) Um algoritmo de busca de caminho mais curto em grafos.
c) Um algoritmo de compressão de dados.
d) Um algoritmo para dividir grandes números.
Resposta correta: b) Um algoritmo de busca de caminho mais curto em grafos.
Explicação: O algoritmo de Dijkstra é usado para encontrar o caminho mais curto entre
dois nós em um grafo, onde as arestas possuem pesos (distâncias).
8. Qual é a principal vantagem do algoritmo Quick Sort em relação ao Bubble Sort?
a) O Quick Sort é mais fácil de implementar.
b) O Quick Sort tem uma complexidade de tempo melhor no caso médio, sendo O(n log
n) em vez de O(n²) como o Bubble Sort.
c) O Bubble Sort é mais eficiente em grandes listas de dados.
d) O Quick Sort funciona apenas em listas pequenas.
Resposta correta: b) O Quick Sort tem uma complexidade de tempo melhor no caso
médio, sendo O(n log n) em vez de O(n²) como o Bubble Sort.
Explicação: O Quick Sort tem um desempenho muito melhor no caso médio, com
complexidade de O(n log n), enquanto o Bubble Sort tem complexidade O(n²),
tornando-o mais ineficiente em listas grandes.
9. O que é um algoritmo recursivo?
a) Um algoritmo que repete operações de forma iterativa.
b) Um algoritmo que chama a si mesmo para resolver um problema.
c) Um algoritmo que divide um problema em subproblemas.
d) Um algoritmo que encontra o maior valor em uma lista.
Resposta correta: b) Um algoritmo que chama a si mesmo para resolver um problema.
Explicação: A recursão ocorre quando uma função chama a si mesma para resolver
subproblemas. Cada chamada recursiva normalmente aborda uma parte do problema
original.
10. O que é um algoritmo de divisão e conquista?
a) Um algoritmo que resolve problemas grandes resolvendo-os em subproblemas
menores e combinando as soluções.
b) Um algoritmo que divide uma lista ao meio e executa uma busca linear em cada
parte.
c) Um algoritmo que busca o maior valor em uma lista.
d) Um algoritmo que usa uma estrutura de dados de árvore para resolver problemas.
Resposta correta: a) Um algoritmo que resolve problemas grandes resolvendo-os em
subproblemas menores e combinando as soluções.
Explicação: O paradigma de "divisão e conquista" divide um problema em
subproblemas menores, resolve cada subproblema e depois combina as soluções, como
nos algoritmos Merge Sort e Quick Sort.

Mais conteúdos dessa disciplina