A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Método de Ordenação: InsertionSort Prof(o): Alexandre Parra.

Apresentações semelhantes


Apresentação em tema: "Método de Ordenação: InsertionSort Prof(o): Alexandre Parra."— Transcrição da apresentação:

1 Método de Ordenação: InsertionSort Prof(o): Alexandre Parra

2 Principais Métodos Classificação por Trocas Classificação por Seleção Classificação por Inserção

3 Caracteriza-se por percorrer o conjunto de elementos da esquerda para a direita e à medida que avança vai deixando os elementos mais à esquerda ordenados. Principais Algoritmos: InsertionSort (Ordenação por Inserção) ShellSort

4 InsertionSort (Ordem Crescente) Princípio de classificação (sobre n elementos) A partir do 2º elemento do conjunto de dados: 1) Buscar onde o elemento deve ficar no sub-vetor a esquerda de modo que o sub-vetor fique ordenado. (Obs: Não é a posição definitiva); 2) A busca citada acima pode ser sequencial ou binária. Após ordenar o sub-vetor a esquerda, avançar UMA posição no sub-vetor a direita (não ordenado) e repetir o passo anterior; 3) O processo de ordenação termina quando todos os elementos a partir do 2º elemento forem visitados e inseridos ordenadamente no sub-vetor à esquerda.

5 Exercício Suponha que se deseja classificar crescentemente o vetor abaixo utilizando o método InsertionSort: 9 25 10 18 5 7 15 3 Simule as iterações necessárias para a classificação.

6 Exemplo (ordenação crescente) 1 2 3 4 5 6 7 8 9 25 10 18 5 7 15 3 1 2 3 4 5 6 7 8 1ª 9 25 10 18 5 7 15 3 1ª posição 2ª 9 25 10 18 5 7 15 3 2ª posição 3ª 9 10 25 18 5 7 15 3 3ª posição 4ª 9 10 18 25 5 7 15 3 4ª posição 5ª 5 9 10 18 25 7 15 3 5ª posição 6ª 5 7 9 10 18 25 15 3 6ª posição 7ª 5 7 9 10 15 18 25 3 7ª posição 8ª 3 5 7 9 10 15 18 25 8ª posição (Vetor FINAL) Iteração Vetor INICIAL Parcialmente ordenado até a posição

7 InsertionSort (Seqüencial) - Análise de Desempenho (1) Pior caso: Quando o vetor se encontra na ordem inversa a desejada. O(n 2 ) Melhor caso: Quando o vetor se encontra ordenado. Somente n – 1 comparações. O(n) Caso Médio: Os demais casos exceto os casos do pior e melhor caso. O(n 2 )

8 InsertionSort (Busca Binária) – Análise de Desempenho (2) Pior caso: Quando o vetor está ordenado ou desordenado. O(n 2 ) Melhor caso: Quando o local onde será inserido o elemento no sub-vetor ordenado é próximo do centro. O(n) Caso Médio: Os demais casos exceto os casos do pior e melhor caso. O(n 2 )

9 Site sobre ordenação http://math.hws.edu/TMCM/java/xSortLab/ BubbleSort QuickSort SelectionSort InsertionSort (Busca Seqüencial) MergeSort

10 Exercício 1) Aplicar o método InsertionSort (Busca Binária e Seqüencial) para classificar o vetor [25 48 37 12 57 86 33 92 ] na ordem crescente. 2) Quantas iterações são necessárias para ordenar o vetor ? 3) Qual a complexidade do método SelectionSort nos casos: melhor, pior e caso médio ? 4) Classifique o método InsertionSort quanto: - A Estabilidade. Justifique sua resposta. - A Localidade. Justifique sua resposta.

11 InsertSort (Busca Binária) – Análise de Desempenho (3) Análise do Desempenho quanto a localização o número de comparações para localizar a posição de um elemento, por pesquisa binária, em uma tabela de k entradas é: para k de 1 até n - 1, o total de comparações para localizar as n - 1 posições das chaves a serem inseridas: n-1 log 2 i = log 2 1 + log 2 2 + log 2 3 +... + log 2 (n - 1 ) i=1 = log 2 (1*2*3*...*n - 1) = log 2 ( n - 1 ) ! log 2 k

12 Análise de Complexidade no Gráfico f(n) = n 2 f(n) = log 2 (n!) f(n) = n


Carregar ppt "Método de Ordenação: InsertionSort Prof(o): Alexandre Parra."

Apresentações semelhantes


Anúncios Google