TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

O Dividir Para Conquistar

Por:   •  12/3/2021  •  Trabalho acadêmico  •  352 Palavras (2 Páginas)  •  143 Visualizações

Página 1 de 2

def maiorElemento(lista, n):

n = len(lista) - 1

pivo = lista[int(n/2)]

aux = []

n2 = 0

for j in range(0, n):

if lista[j] >= pivo:

aux.append(lista[j])

n += 1

if n + 1 == 2:

return max(lista[0], lista[1])

elif n + 1 == 1:

return lista[0]

else:

maiorElemento(aux, n2)

print(maiorElemento([1,5,2,7,3,4], 6))

def QuickSelection(A, k):

r = len(A) - 1

p = A[r]

i = -1

for j in range(0, r):

if A[j] >= p:

i = i + 1

temp = A[j]

A[j] = A[i]

A[i] = temp

print(A)

i += 1

temp = A[r]

A[r] = A[i]

A[i] = temp

print("-----", i, "------")

print(A)

if i == r - k + 1:

return A[i]

elif i > r - k + 1:

return QuickSelection(A[:i], k - (r - i + 1))

else:

return QuickSelection(A[i + 1:r + 1], k)

A = [1, 2, 5, 4, 10, 3]

print("Lista", A)

k = int(input("K-ésimo: "))

print("O", k, "º menor elemento da lista", A, "é", QuickSelection(A, k))

...

Baixar como (para membros premium)  txt (1 Kb)   pdf (27.9 Kb)   docx (7.5 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com