Com a lista abaixo, responder as questões 1, 2, 3 e 4.
lista =[4,8,12,14,16,2,5,18,3,10,11,19,7,13,1]
Dada uma lista, retorne a lista reversa.
lista =[4,8,12,14,16,2,5,18,3,10,11,19,7,13,1]
Dada uma lista, retorne a lista reversa.
Passo 1
O enunciado dá uma lista e pede que você retorne a lista reversa. A lista fornecida é:
Pergunta que vamos responder: “Dada essa lista, qual é a lista reversa?” (ou seja, os elementos na ordem inversa).
Passo 2
O que significa “lista reversa” e como pensar nela (passo-a-passo didático).
- Se a lista tem
elementos, indexamos os elementos de até . Aqui vamos usar indexação começando em porque é a forma mais comum em programação e na matemática discreta. - A ideia simples: o primeiro elemento da lista reversa é o último elemento da lista original, o segundo da reversa é o penúltimo da original, e assim por diante.
- Fórmula genérica (muito útil para provar ou implementar): se chamarmos a lista original de
e a lista reversa de , então para cada índice com vale
- Aqui
é o número de elementos da lista e é a posição (contando a partir de zero). Essa fórmula diz: para montar a posição da lista reversa, pegue a posição da lista original.
Exemplo pequeno para fixar: se
então
e
portanto
.
Passo 3
Calcular
para a lista dada (contagem explícita para não sobrar dúvida).
- A lista tem os seguintes elementos (vou contar):
. - Contando cada um temos
elementos. - Logo o último índice é
. Isso significa que é o último elemento da lista original.
Passo 4
Aplicar a fórmula
passo a passo para cada posição
de
até
. Vou mostrar cada atribuição explicitamente (isso é exatamente o que você faria num rascunho da prova):
-
. -
. -
. -
. -
. -
. -
. -
. -
. -
. -
. -
. -
. -
. -
.
Essas atribuições descrevem, elemento a elemento, a construção da lista reversa. Na prova você pode escrever esse procedimento em palavras ou montar a lista final a partir desses valores.
Passo 5
Observações práticas (dicas rápidas para a prova):
- Complexidade: percorrer os
elementos para montar a reversa dá tempo . Se você criar uma nova lista precisa de espaço extra . Existe um método in-place (sem memória extra) que troca pares simétricos: para até troca com . Isso também leva de tempo, mas usa de espaço extra. - Na prova, se pedirem só “retorne a lista reversa”, sempre escreva claramente os elementos na ordem inversa (como vou colocar na resposta final). Se pedirem algoritmo, explique com a fórmula ou com o algoritmo de trocas acima.