O algoritmo conhecido como insertion (inserção) é um dos mai...
Assinale o código Python que executa corretamente esse algoritmo.
def inserção(L):
for i in range(2, len(L)):
v = L[i]
j = i
while L[j-1] > v:
L[j] = L[j-1]
j -= 1
L[j] = v
O loop for i in range(2, len(L)): percorre a lista a partir do índice 2. Isso está correto, pois o algoritmo de ordenação por inserção geralmente começa a partir do segundo elemento.
Dentro do loop, v = L[i] armazena o valor atual que está sendo considerado para a ordenação.
j = i inicializa a variável j com o índice atual.
O loop while L[j-1] > v: percorre os elementos à esquerda de v até encontrar a posição correta para inseri-lo.
L[j] = v insere o valor v na posição correta no array.
Portanto, o código segue o algoritmo de ordenação por inserção corretamente, movendo-se através da lista e inserindo cada elemento na posição correta à medida que avança. As outras opções têm problemas como erros de lógica, índices incorretos, ou comparações inadequadas, o que as torna incorretas para o propósito de ordenação por inserção.
Alternativa: B
Mas se começar a partir do índice 2 não estaria começando pelo 3° elemento da lista?
Esse gabarito não faz sentido