Bubblesort Iteração Analisada
Создано: 13 января 2025 г.
Создано: 13 января 2025 г.
Considere o algoritmo de ordenação Bubblesort aplicado ao seguinte array (4, 2/ 5,0, 1, 7,3, 8).
Indique qual das seguintes sequências corresponde à ordenação do array no fim de cada iteração principal do algoritmo.
a) (2.4,0,1,5.3,7,8)[2,0,1,4,3,5,7,8][0,1,2,3,4,5,7,8][0,1,2,3,4,5,7,8]
b) [2,0,1,4.3,5,7,8][0,1,2,3,4,5,7,81[0,1,2,3,4,5,7,8]
c) (2,4,0,1,3,3,7,8](0,1,2,3,4,5,7,8]
d) (2,4,0,1,3.5,7,8)[0,1,2,3,4,5,7,8](0,1,2,3,4,5,7,8]
é) (2,0.1,4,3,5,7,81(0,1,2,4,3,5,7,8][0,1,2,3,4,5,7,8)
Primeiro, vamos relembrar como funciona o Bubblesort (na sua forma mais “clássica”):
Vamos exibir o estado do array apenas ao final de cada iteração principal.
Array inicial: .
Comparações e trocas dentro dessa 1ª varredura:
Array ao final da 1ª iteração:
Estado inicial desta varredura: .
Comparações e trocas:
Array ao final da 2ª iteração:
Estado inicial desta varredura: .
Comparações e trocas:
Array ao final da 3ª iteração:
Estado inicial: .
Ao comparar todos os pares, não ocorre mais nenhuma troca, pois tudo já está ordenado.
Array ao final da 4ª iteração:
As transformações ao final de cada iteração principal foram:
Comparando com as alternativas fornecidas, a única que exibe exatamente essa sequência de estados (ao final de cada iteração) é a alternativa (a).
Qual o nimero máximo de arestas em um grafo não dirígido com n vértices?
a) n
b) n(n-1)/2
c ) n(n-1)
d) 2^n
e) n^2
Para um grafo não dirigido (sem laços ou múltiplas arestas) com vértices, o número máximo de arestas ocorre no grafo completo . Nesse caso, cada vértice se liga a todos os outros, e a quantidade total de arestas é dada por:
Portanto, a resposta correta é:
(b) .
Quando comparamos tabelas de dispersão com encadeamento separado e tabelas de dispersão com endereçamento aberto, quais das seguintes desvantagens se aplica ás tabelas de dispersão com encadeamento separado?
a) Maior complexidade do código devido à utilização de dupla dispersão.
b) Uso adicional de memória.
c)Maior probabilidade de colisões devido à utilização de lístas ligadas.
d)Desempenho mau quando a tabela está muito cheia.
e)Incapacidade de reutilizar facilmente espaço de chaves apagadas na tabela.
Vamos analisar sucintamente cada alternativa no contexto de tabelas de dispersão (hash) com:
Encadeamento separado (Separate Chaining):
Endereçamento aberto (Open Addressing):
a) Maior complexidade do código devido à utilização de dupla dispersão.
b) Uso adicional de memória.
c) Maior probabilidade de colisões devido à utilização de listas ligadas.
d) Desempenho ruim quando a tabela está muito cheia.
e) Incapacidade de reutilizar facilmente espaço de chaves apagadas na tabela.
A desvantagem que realmente se aplica às tabelas de dispersão com encadeamento separado é:
(b) Uso adicional de memória.