Pesquisa e Ordenação - Aula 07 - Métodos de Ordenação (Bin sort - Bucket sort)

  • View
    22

  • Download
    0

Embed Size (px)

Text of Pesquisa e Ordenação - Aula 07 - Métodos de Ordenação (Bin sort - Bucket sort)

  • # Pesquisa e Ordenao #Aula 07 Mtodos de Ordenao

    (Bin Sort - Bucket Sort)

    Prof. Leinylson Fontinele Pereira

  • Na aula anterior...

    Mtodos de Ordenao# Quick Sort

    09:21 Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • O que vamos aprender?

    Mtodos de Ordenao# Bucket Sort

    09:21 Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Vamos comear?

    09:21 4 Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • 09:21 5

    Ordenao comBucket Sort

    Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

    Pressupe que a entrada consiste em nmeros inteirosdistribudos uniformemente sobre um intervalo

    Ou seja, h um limite nos valores das chaves.

    O intervalo ento dividido em subintervalos detamanhos iguais, os chamados buckets (baldes)

    Cada chave vai para o balde correspondente suafaixa de valor

  • Ordenao com Bucket Sort

    09:20Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

    Complexidade:()

    Quantidade de dados:

    Muitos, porm, com valores limitados.

    Um Bucket Sort com apenas dois buckets na verdade oQuicksort (com pivoteamento ruim).

    Estabilidade e Adaptabilidade

    Dependem do algoritmo de ordenao interna dos buckets.

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

    A lista de idades : 41, 15, 17, 32, 18, 28, 77 54

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

    A lista de idades : 41, 15, 17, 32, 18, 28, 77 54

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

    A lista final ser: 15, 17, 18, 28, 32, 41, 54, 77

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

    Cada balde posteriormente ordenado, isoladamente dos demais

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

    Considerando o limite [0,1), e chaves com dois dgitosdecimais, determinamos o nmero de baldes como:

    N = 10 (0, 9) A funo para determinao do ndice balde correto

    [ [] ]

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

    = (0.5, 0.1, 0.3, 0.4, 0.3, 0.2, 0.1, 0.1, 0.5, 0.4, 0.5)

    Lista ordenada

    0.1, 0.1, 0.1, 0.2, 0.3, 0.3, 0.4, 0.4, 0.5, 0.5, 0.5

  • Bucket

    A

    1 2 3 4 5 6

    .74 .17 .26 .72 .39 .21

  • Bucket: Loop 1

    A

    1 2 3 4 5 6

    .74 .17 .26 .72 .39 .21

    B

    0 1 2 3 4 5

    n=6

  • Bucket: Loop 2

    A

    1 2 3 4 5 6

    .17 .26 .72 .39 .21

    B

    0 1 2 3 4 5

    B[ n A[i] ] = B[ 6X.74 ]=B[ 4.44 ]=B[4]

    Para n=6, i=1

    .74

  • Bucket: Loop 2

    A

    1 2 3 4 5 6

    .74 .26 .72 .39 .21

    B

    0 1 2 3 4 5

    B[ n A[i] ] = B[ 6X.17 ]=B[ 1.02 ]=B[1]

    Para n=6, i=2

    .17

    .74

  • Bucket: Loop 2

    A

    1 2 3 4 5 6

    .74 .17 .72 .39 .21

    B

    0 1 2 3 4 5

    B[ n A[i] ] = B[ 6X.26 ]=B[ 1.56 ]=B[1]

    Para n=6, i=3

    .74

    .26

    .17

  • Bucket: Loop 2

    A

    1 2 3 4 5 6

    .74 .17 .26 .39 .21

    B

    0 1 2 3 4 5

    B[ n A[i] ] = B[ 6X.72 ]=B[ 4.32 ]=B[4]

    Para n=6, i=4

    .74

    .72

    .17.26

  • Bucket: Loop 2

    A

    1 2 3 4 5 6

    .74 .17 .26 .72 .21

    B

    0 1 2 3 4 5

    B[ n A[i] ] = B[ 6X.39 ]=B[ 2.34 ]=B[2]

    Para n=6, i=5

    .74

    .39

    .17.26

    .72

  • Bucket: Loop 2

    A

    1 2 3 4 5 6

    .74 .17 .26 .72 .39

    B

    0 1 2 3 4 5

    B[ n A[i] ] = B[ 6X.94 ]=B[ 5.64 ]=B[5]

    Para n=6, i=6

    .74

    .94

    .17.26

    .72.39

  • Bucket: Fim do Loop 2

    A

    1 2 3 4 5 6

    .74 .17 .26 .72 .39 .94

    B

    0 1 2 3 4 5

    .74.17

    .26

    .72.39 .94

  • Bucket: Loop 3

    A

    1 2 3 4 5 6

    .74 .17 .26 .72 .39 .94

    B

    0 1 2 3 4 5

    Aplica insertion sort em cada balde

    .17 .26 .72 .74 .94.39

  • Bucket

    A

    1 2 3 4 5 6

    .74 .17 .26 .72 .39 .94

    B

    0 1 2 3 4 5

    Concatena os baldes em ordem

    .17 .26 .72 .74 .94.39

    B0 1 2 3 4 5

    .17 .26 .39 .72 .74 .94

    Sada ordenada

  • Exemplo - Bucket Sort

    .78

    .17

    .39

    .26

    .72

    .94

    .21

    .12

    .23

    .68

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    .21

    .12 /

    .72 /

    .23 /

    .78

    .94 /

    .68 /

    .39 /

    .26

    .17

    /

    /

    /

    /

    A B

    Distribuindo dentro dos buckets

  • Exemplo - Bucket Sort0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    .23

    .17 /

    .78 /

    .26 /

    .72

    .94 /

    .68 /

    .39 /

    .21

    .12

    /

    /

    /

    /

    Ordenando cada bucket

  • Exemplo - Bucket Sort

    .17.12 .23 .26.21 .39 .68 .78.72 .94 /

    Vetor ordenado

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Ordenao com Bucket Sort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Concluindo...

    09:36 45 Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Teorema do macaco infinito

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • BozoSort (Bogo Sort)

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • BozoSort

    09:36Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Nesta aula aprendemos...Mtodos de Ordenao

    # Bucket Sort

    09:36 Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Na prxima aula veremos...Mtodos de Ordenao

    # Shell Sort

    09:36 Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Material: https://sites.google.com/site/leinylsonnassau

    09:36

    Material baseado nas aulas de:

    MD. Shakhawat Hossain, Student of Computer Science & Engineering Dept. University of Rajshahi

    Pesquisa e Ordenao: Aula 07 Mtodos de Ordenao (Bin Sort - Bucket Sort)

  • Alguma Dvida?

    09:36

    At a prxima aula...

    leinylson@gmail.com