Logo Passei Direto
Buscar

Ferramentas de estudo

Questões resolvidas

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

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

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

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

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

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

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

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

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

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

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

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Prévia do material em texto

Counting Sort 
O que e o Counting Sort?
a) Um algoritmo de ordenacao baseado em comparacao.
b) Um algoritmo de ordenacao estavel que utiliza contagem de elementos.
c) Um algoritmo que utiliza listas encadeadas para ordenar numeros.
d) Um algoritmo de ordenacao que sempre precisa de memoria extra igual ao dobro do tamanho do
vetor.
Resposta: b) Um algoritmo de ordenacao estavel que utiliza contagem de elementos.
Explicacao: O Counting Sort nao compara elementos entre si, ele conta quantas vezes cada
elemento ocorre e usa essas contagens para determinar a posicao correta de cada valor na
sequencia final, garantindo estabilidade na ordenacao.
Em que situacao o Counting Sort e mais eficiente?
a) Quando os elementos sao strings longas.
b) Quando os elementos estao espalhados por um grande intervalo de valores.
c) Quando os elementos sao inteiros em um intervalo pequeno.
d) Quando os elementos ja estao parcialmente ordenados.
Resposta: c) Quando os elementos sao inteiros em um intervalo pequeno.
Explicacao: O Counting Sort e eficiente para inteiros dentro de um intervalo limitado, pois a
complexidade depende do tamanho do vetor de contagem, que cresce com o maior valor do
conjunto de dados.
O Counting Sort e um algoritmo estavel. O que isso significa?
a) Ele sempre ordena os elementos do menor para o maior.
b) Ele mantem a ordem relativa dos elementos iguais.
c) Ele nunca precisa de memoria adicional.
d) Ele sempre termina em tempo constante.
Resposta: b) Ele mantem a ordem relativa dos elementos iguais.
Explicacao: Estabilidade significa que, se dois elementos tem o mesmo valor, sua ordem relativa no
vetor original sera preservada apos a ordenacao, o que e util em algoritmos de ordenacao multipla
ou quando se precisa manter informacoes associadas.
Qual e a complexidade de tempo do Counting Sort?
a) O(n2)
b) O(n log n)
c) O(n + k), onde n e o numero de elementos e k e o valor maximo
d) O(k2)
Resposta: c) O(n + k), onde n e o numero de elementos e k e o valor maximo.
Explicacao: A eficiencia do Counting Sort vem do fato de ele contar cada elemento uma vez e
depois construir o vetor ordenado, resultando em tempo linear relativo ao tamanho do vetor e ao
maior valor contido nele.
O Counting Sort pode ser usado para ordenar numeros negativos diretamente?
a) Sim, sem nenhuma modificacao.
b) Nao, e necessario ajustar os valores para serem nao-negativos.
c) Sim, mas apenas se forem pares.
d) Nao, numeros negativos nao podem ser ordenados por nenhum algoritmo de contagem.
Resposta: b) Nao, e necessario ajustar os valores para serem nao-negativos.
Explicacao: O Counting Sort usa indices em um vetor de contagem, e indices de vetor nao podem
ser negativos. Para numeros negativos, e preciso deslocar todos os valores somando um numero
que torne o menor valor igual a zero.
Por que o Counting Sort nao e recomendado para todos os tipos de dados?
a) Porque sempre precisa de mais memoria que Quick Sort.
b) Porque so funciona com tipos de dados que podem ser mapeados para indices de vetor.
c) Porque nunca e estavel.
d) Porque tem complexidade O(n2) na pior situacao.
Resposta: b) Porque so funciona com tipos de dados que podem ser mapeados para indices de
vetor.
Explicacao: Counting Sort exige que os valores possam ser usados como indices, portanto nao e
adequado para dados com intervalos muito grandes, numeros decimais ou strings longas sem
conversao previa.
Como o vetor de contagem e construido no Counting Sort?
a) Inicialmente com zeros e depois incrementando a posicao correspondente a cada elemento.
b) Copiando os elementos do vetor original.
c) Ordenando o vetor original primeiro.
d) Dividindo os elementos em pares e somando os valores.
Resposta: a) Inicialmente com zeros e depois incrementando a posicao correspondente a cada
elemento.
Explicacao: Cada indice do vetor de contagem representa um valor possivel do vetor original. A
cada ocorrencia do valor, a posicao correspondente no vetor de contagem e incrementada,
registrando a quantidade de vezes que cada numero aparece.
Depois de construir o vetor de contagem, qual e o proximo passo do Counting Sort?
a) Subtrair 1 de cada posicao do vetor de contagem.
b) Transformar o vetor de contagem em contagem cumulativa.
c) Ordenar o vetor de contagem com Quick Sort.
d) Copiar o vetor original para a posicao correspondente.
Resposta: b) Transformar o vetor de contagem em contagem cumulativa.
Explicacao: A contagem cumulativa indica a posicao final de cada elemento no vetor ordenado.
Esse passo e essencial para garantir que o algoritmo seja estavel.
Qual e a principal limitacao do Counting Sort em termos de memoria?
a) Ele nao pode ser usado em sistemas com mais de 1 GB de RAM.
b) Ele cria um vetor de contagem que depende do maior valor do conjunto de dados.
c) Ele duplica o vetor original sem necessidade.
d) Ele nao tem limitacoes de memoria.
Resposta: b) Ele cria um vetor de contagem que depende do maior valor do conjunto de dados.
Explicacao: Se o valor maximo dos elementos for muito grande, o vetor de contagem tambem sera
grande, tornando o algoritmo impraticavel para datasets com intervalos extensos de valores.
O Counting Sort e considerado um algoritmo de ordenacao nao comparativo. O que isso significa?
a) Que ele nao usa operacoes de adicao.
b) Que ele nao compara os elementos diretamente entre si.
c) Que ele nao pode ser implementado em C++.
d) Que ele nao precisa de loops.
Resposta: b) Que ele nao compara os elementos diretamente entre si.
Explicacao: Diferente de algoritmos como Quick Sort ou Merge Sort, o Counting Sort ordena os
elementos usando a contagem de ocorrencias, eliminando a necessidade de comparar valores
diretamente.
Como o Counting Sort lida com elementos repetidos?
a) Ele ignora os elementos repetidos.
b) Ele mantem a ordem relativa dos elementos repetidos.
c) Ele coloca todos os repetidos no inicio do vetor.
d) Ele os mistura aleatoriamente.
Resposta: b) Ele mantem a ordem relativa dos elementos repetidos.
Explicacao: A estabilidade do Counting Sort garante que elementos iguais aparecam na mesma
ordem em que estavam no vetor original, preservando informacoes associadas aos dados.
Qual seria uma alternativa ao Counting Sort para ordenar numeros com grande intervalo de
valores?
a) Radix Sort ou Quick Sort
b) Merge Sort ou Bubble Sort
c) Heap Sort apenas
d) Nenhuma, Counting Sort e obrigatorio
Resposta: a) Radix Sort ou Quick Sort
Explicacao: Para numeros com grande intervalo, Counting Sort exige muita memoria. Algoritmos
baseados em comparacao, como Quick Sort, ou algoritmos distribuidos, como Radix Sort, podem
ser mais adequados.
O Counting Sort e mais adequado para ordenar quais tipos de dados?
a) Numeros inteiros em um intervalo limitado.
b) Strings longas.
c) Estruturas de dados complexas com ponteiros.
d) Objetos com propriedades aleatorias.
Resposta: a) Numeros inteiros em um intervalo limitado.
Explicacao: O algoritmo funciona melhor com valores que podem ser facilmente mapeados para
indices de vetor, como inteiros pequenos ou categorias discretas limitadas.
O que acontece se voce aplicar Counting Sort diretamente em um vetor com valores muito grandes
e poucos elementos?
a) Ele sera extremamente eficiente.
b) Ele usara muita memoria desnecessaria para o vetor de contagem.
c) Ele nao funcionara de forma alguma.
d) Ele transformara os valores em negativos automaticamente.
Resposta: b) Ele usara muita memoria desnecessaria para o vetor de contagem.
Explicacao: A memoria exigida depende do valor maximo do conjunto de dados, nao do numero de
elementos. Um valor maximo muito grande com poucos elementos resulta em desperdicio de
memoria.
Qual e a diferenca principal entre Counting Sort e Radix Sort?
a) Counting Sort e nao comparativo e Radix Sort e comparativo.
b) Counting Sort trabalha com contagem direta de valores, enquanto Radix Sort processa os digitos
de cada numero em varias passadas.
c) Counting Sort ordenastrings, Radix Sort nao.
d) Nao ha diferenca significativa.
Resposta: b) Counting Sort trabalha com contagem direta de valores, enquanto Radix Sort
processa os digitos de cada numero em varias passadas.
Explicacao: Radix Sort utiliza Counting Sort como sub-rotina para ordenar digitos individualmente,
permitindo ordenar numeros com intervalos grandes sem desperdicar memoria com um vetor de
contagem gigante.
Como o Counting Sort pode ser adaptado para ordenar strings de comprimento fixo?
a) Nao e possivel adaptar.
b) Convertendo cada caractere em um valor inteiro e aplicando o algoritmo em multiplas passadas
por posicao de caractere (semelhante ao Radix Sort).
c) Apenas ordenando pelo primeiro caractere.
d) Substituindo caracteres por simbolos aleatorios.
Resposta: b) Convertendo cada caractere em um valor inteiro e aplicando o algoritmo em multiplas
passadas por posicao de caractere (semelhante ao Radix Sort).
Explicacao: Ao tratar cada posicao de caractere como um valor numerico e usar Counting Sort em
cada digito, e possivel ordenar strings de forma eficiente mantendo estabilidade.
Se temos um vetor de 10 elementos com valores entre 0 e 5, quantas posicoes tera o vetor de
contagem?
a) 5
b) 6
c) 10
d) 11
Resposta: b) 6
Explicacao: O vetor de contagem precisa de uma posicao para cada valor possivel, de 0 a 5,
totalizando 6 posicoes.
Qual e o efeito de transformar o vetor de contagem em contagem cumulativa?
a) Ele indica quantas vezes cada elemento aparece no vetor original.
b) Ele indica a posicao final de cada elemento no vetor ordenado.
c) Ele reduz o numero de elementos repetidos.
d) Ele remove valores negativos automaticamente.
Resposta: b) Ele indica a posicao final de cada elemento no vetor ordenado.
Explicacao: A contagem cumulativa transforma as contagens em posicoes finais, permitindo inserir
cada elemento diretamente no vetor de saida na posicao correta.
O Counting Sort e recomendado para ordenar dados que ja estao parcialmente ordenados?
a) Sim, ele se beneficia dessa condicao.
b) Nao, ele ignora a ordem inicial dos elementos.
c) Sim, mas apenas se os elementos forem negativos.
d) Nao, ele so funciona com vetores totalmente desordenados.
Resposta: b) Nao, ele ignora a ordem inicial dos elementos.
Explicacao: O algoritmo depende da contagem de ocorrencias e nao se beneficia de elementos ja
ordenados, ao contrario de algoritmos como Insertion Sort.
Qual das seguintes afirmativas e verdadeira sobre a implementacao do Counting Sort?
a) Ele pode ser implementado sem criar um vetor de saida adicional.
b) Ele precisa de um vetor de saida para manter a estabilidade.
c) Ele nao pode ser implementado em linguagens que nao suportam arrays.
d) Ele funciona apenas com vetores de tamanho par.
Resposta: b) Ele precisa de um vetor de saida para manter a estabilidade.
Explicacao: Para preservar a ordem relativa dos elementos iguais, e necessario usar um vetor de
saida separado ao inves de sobrescrever diretamente o vetor original.
Se voce quiser, posso continuar criando mais perguntas para chegar a um documento bem acima
de 1000 palavras. Quer que eu faca isso agora?

Mais conteúdos dessa disciplina