Quicksort

716 palavras 3 páginas
QuickSort
Algoritmos e Estuturas de Dados
Inverno 2006

Cátia Vaz

1

QuickSort
Algoritmo do tipo dividir para conquistar Ideia do algoritmo: efectuar partição dos dados e ordenar as várias partes independentemente (de forma recursiva) posicionamento da partição a efectuar depende dos dados de entrada processo de partição é crítico uma vez efectuada a partição, cada uma das partes pode por sua vez ser ordenada pelo mesmo algoritmo .
Cátia Vaz
2

QuickSort-partição public static void quicksort(int a[], int left, int right){ int i; if (right = j) break; exch(a[i], a[j]);

} exch(a[i], a[right]); return i; }

Cátia Vaz

6

QuickSort-partição
Processo de partição não é estável qualquer chave pode ser movida para trás de várias outras chaves iguais a si (que ainda não foram examinadas)

A eficiência do processo de ordenação depende de como a partição divide os dados (do elemento de partição) será tanto mais equilibrada quanto mais perto este elemento estiver do meio do array na sua posição final

Cátia Vaz

7

QuickSort-características
Pode ser muito ineficiente em casos patológicos!
Propriedade: quicksort usa cerca de N2/2 comparações no pior caso.
Demonstração: se o array já estiver ordenado, todas as partições degeneram e o programa chama-se a si próprio N vezes; o número de comparações é de N + (N-1) + (N-2) + … + 2 + 1 = (N + 1) N / 2 (mesma situação se o ficheiro estiver ordenado por ordem inversa) Nota: Não apenas o tempo necessário para a execução do algoritmo cresce quadraticamente como o espaço necessário para o processo recursivo é de cerca de N o que é inaceitável para ficheiros grandes.

Cátia Vaz

8

QuickSort-características
Melhor caso: quando cada partição divide o ficheiro de entrada exactamente em metade número de comparações usadas por quicksort satisfaz a recursão de dividir para conquistar C(N)= 2 C( N /2) + N

e logo

C(N) =O( N log N)

Cátia Vaz

9

QuickSort-características

Relacionados

  • Quicksort
    1164 palavras | 5 páginas
  • quicksort
    1653 palavras | 7 páginas
  • QuickSort
    1183 palavras | 5 páginas
  • QuickSort ( Algoritmo )
    298 palavras | 2 páginas
  • QuickSort 2
    696 palavras | 3 páginas
  • Método de Ordenação Quicksort
    1428 palavras | 6 páginas
  • Trabalho De Estrutura De Dados Quicksort
    301 palavras | 2 páginas
  • Metodos de ordenação - ShellSort e Quicksort
    406 palavras | 2 páginas
  • QuickSort MIPS - recursivo e iterativo
    383 palavras | 2 páginas
  • Comparação algoritmo de ordenação: quicksort x bubblesort
    642 palavras | 3 páginas