tp 01 - quicksort

15
Q u i c k r t M É T O D O D E O R D E N A Ç Ã O - D I V I S Ã O E C O N Q U I S T A Grupo : Jéssica Neves Jorge Nunes Laura Sanches Renan Arioli Cane Stefanie D'Avila

Upload: laura-cristina-ribeiro-sanches

Post on 04-Nov-2015

229 views

Category:

Documents


0 download

DESCRIPTION

Quicksort

TRANSCRIPT

Quicksort

Quicksortmtodo de ordenao- diviso e conquistaGrupo:Jssica NevesJorge NunesLaura SanchesRenan Arioli CanedoStefanie D'Avila OliveiraO que ?Quicksort um mtodo de ordenao rpido, inventado porCharles Antony Richard Hoare em 1960 ao tentar traduzir um dicionrio de ingls para russo, ordenando as palavras, tendo como objetivo reduzir o problema original em subproblemas que possam ser resolvidos mais fcil e rapidamente.

O Quicksort adota a estratgia de diviso e conquista. A estratgia consiste em rearranjar as chaves de modo que os "menores" precedam as chaves "maiores. Em seguida o Quicksort ordena as duas sublistas de chaves menores e maiores recursivamente at que a lista se encontre ordenada.A estratgia

(a) Fase de Diviso

(b) Fase de Conquista

Inicia-se com a escolha de um elemento da lista, designado piv;A lista ento rearranjada de forma que todos os elementos maiores do que o piv fiquem de um dos lados dele e todos os elementos menores fiquem do outro lado (ficando assim o piv na sua posio definitiva);Recursivamente, repete-se este processo para cada sub-lista; No final, o resultado uma lista ordenada.O algoritmo Rpido em sequencias Mdias; Satisfatria em sequencias grandes; Sem necessidade de espao adicional para armazenamento; Considerado o mais eficiente no geral.

VantagemDesvantagem Complicado para ordenar pequenos vetores; Se a sequncia j estiver quase na ordem perde muito tempo; Sua implementao delicada; No estvel.

Exemplo8139721046Formula para achar o VetorPiv = Vetor[(esquerda + direita) / 2];8139721046PivJI while (i pivo){ j--;}}i = esquerda, j = direita;8139721046 while (i pivo){ j--;}If (i