Informática, perguntado por ricardobafa, 8 meses atrás

Considere a seguinte implementação em Python de um algoritmo de ordenação:

def func(l, r):
if len(l) == 0:
return r
if len(r) == 0:
return l
res = []
idx_l = idx_r = 0

while len(res) < len(l) + len(r):
if l[idx_l] <= r[idx_r]:
res.append(l[idx_l])
idx_l += 1
else:
res.append(r[idx_r])
idx_r += 1

if idx_r == len(r):
res += l[idx_l:]
break

if idx_l == len(l):
res += r[idx_r:]
break

return res

def ordena(v):
if len(v) < 2:
return v
meio = len(v) // 2
return func(
l = ordena(v[:meio]),
r = ordena(v[meio:]))

O algoritmo de ordenação implementado acima é o:
Mergesort
Heapsort
Quicksort
Insertionsort

Soluções para a tarefa

Respondido por brunomancim
23

Resposta:

Mergesort

Explicação:

Respondido por brunoviskz
12

Resposta:

Mergesort

Explicação:

Para facilitar, geralmente é o código mais longo que tem a palavra "meio"

Perguntas interessantes