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
23
Resposta:
Mergesort
Explicação:
Respondido por
12
Resposta:
Mergesort
Explicação:
Para facilitar, geralmente é o código mais longo que tem a palavra "meio"
Perguntas interessantes
Matemática,
5 meses atrás
Química,
5 meses atrás
Física,
5 meses atrás
Física,
8 meses atrás
Inglês,
8 meses atrás
Matemática,
11 meses atrás
Matemática,
11 meses atrás