André Luiz do Vale Soares

103 

Full text

(1)

27/11/2013 1

Ordenação de Vetores

(2)

27/11/2013 2

Problema

Ordenar os elementos de um vetor em

ordem crescente.

Um vetor com elementos ordenados

(3)

27/11/2013 3

Métodos mais simples

Ordenação por Inserção

Ordenação por Seleção

Ordenação pelo método de “bolhas”

(4)

27/11/2013 4

Outros métodos

Quicksort

Mergesort

Heapsort

(5)

27/11/2013 5

Ordenação por Inserção

Baseia-se na forma como muitas pessoas

ordenam elementos de um conjunto:

(6)

27/11/2013 6

Ordenação por Inserção

Consiste em percorrer o vetor da esquerda para a

direita.

À medida em que avança, vai deixando os elementos

mais à esquerda ordenados.

Ou seja, à medida em que avança, se encontra um

elemento “fora de lugar”, desloca todos os

elementos que estão à sua esquerda, até achar o

lugar correto do elemento em consideração.

Começa-se a ordenar a partir do segundo elemento

(7)

27/11/2013 7

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 6 8 5 9 7 4 3 1 0 2

(8)

27/11/2013 8

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 6 8 5 9 7 4 3 1 0 2

(9)

27/11/2013 9

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

(10)

27/11/2013 10

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 6 8

5

(11)

27/11/2013 11

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 6 8

5

(12)

27/11/2013 12

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 6 8

5

(13)

27/11/2013 13

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

(14)

27/11/2013 14

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

(15)

27/11/2013 15

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

(16)

27/11/2013 16

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 5 6 8 9

7

(17)

27/11/2013 17

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 5 6 8 9

7

(18)

27/11/2013 18

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 5 6 8 9

7

(19)

27/11/2013 19

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

(20)

27/11/2013 20

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

(21)

27/11/2013 21

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 5 6 7 8 9

4

(22)

27/11/2013 22

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 5 6 7 8 9

4

(23)

27/11/2013 23

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 5 6 7 8 9

4

(24)

27/11/2013 24

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 5 6 7 8 9

4

(25)

27/11/2013 25

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 5 6 7 8 9

4

(26)

27/11/2013 26

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 5 6 7 8 9

4

(27)

27/11/2013 27

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

(28)

27/11/2013 28

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

(29)

27/11/2013 29

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 4 5 6 7 8 9

3

(30)

27/11/2013 30

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 4 5 6 7 8 9

3

(31)

27/11/2013 31

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 4 5 6 7 8 9

3

(32)

27/11/2013 32

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 4 5 6 7 8 9

3

(33)

27/11/2013 33

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 4 5 6 7 8 9

3

(34)

27/11/2013 34

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 4 5 6 7 8 9

3

(35)

27/11/2013 35

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 4 5 6 7 8 9

3

(36)

27/11/2013 36

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

(37)

27/11/2013 37

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

(38)

27/11/2013 38

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 3 4 5 6 7 8 9

1

(39)

27/11/2013 39

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 3 4 5 6 7 8 9

1

(40)

27/11/2013 40

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 3 4 5 6 7 8 9

1

(41)

27/11/2013 41

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 3 4 5 6 7 8 9

1

(42)

27/11/2013 42

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 3 4 5 6 7 8 9

1

(43)

27/11/2013 43

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 3 4 5 6 7 8 9

1

(44)

27/11/2013 44

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 3 4 5 6 7 8 9

1

(45)

27/11/2013 45

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 3 4 5 6 7 8 9

1

(46)

27/11/2013 46

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

(47)

27/11/2013 47

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

(48)

27/11/2013 48

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 1 3 4 5 6 7 8 9

(49)

27/11/2013 49

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 1 3 4 5 6 7 8 9

(50)

27/11/2013 50

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 1 3 4 5 6 7 8 9

(51)

27/11/2013 51

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 1 3 4 5 6 7 8 9

(52)

27/11/2013 52

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 1 3 4 5 6 7 8 9

(53)

27/11/2013 53

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 1 3 4 5 6 7 8 9

(54)

27/11/2013 54

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 1 3 4 5 6 7 8 9

(55)

27/11/2013 55

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 1 3 4 5 6 7 8 9

(56)

27/11/2013 56

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 1 3 4 5 6 7 8 9

(57)

27/11/2013 57

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

(58)

27/11/2013 58

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

(59)

27/11/2013 59

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 3 4 5 6 7 8 9

(60)

27/11/2013 60

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 3 4 5 6 7 8 9

(61)

27/11/2013 61

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 3 4 5 6 7 8 9

(62)

27/11/2013 62

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 3 4 5 6 7 8 9

(63)

27/11/2013 63

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 3 4 5 6 7 8 9

(64)

27/11/2013 64

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 3 4 5 6 7 8 9

(65)

27/11/2013 65

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 3 4 5 6 7 8 9

(66)

27/11/2013 66

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 3 4 5 6 7 8 9

(67)

27/11/2013 67

Ordenação por Inserção

Exemplo:

 A: vetor[1..10] de inteiro

(68)

27/11/2013 68

algoritmo “Ordenação pelo Método de Inserção”

var

A: vetor[1..10] de inteiro i,j,pivo: inteiro

inicio

para i de 2 ate 10 faca pivo <- A[i]

j <- i – 1

enquanto (pivo < A[j]) e (j >= 1) faca A[j+1] <- A[j]

j <- j – 1

se (j < 1) entao

interrompa fimse

fimenquanto A[j+1] <- pivo fimpara

fimalgoritmo

(69)

27/11/2013 69

Ordenação por Seleção

Consiste em percorrer o vetor da esquerda para a

direita.

Quando achar o menor elemento, troca-o com o

elemento da posição mais à esquerda.

Desta forma, ao final de cada iteração, garante que

o menor elemento está na posição mais à esquerda

do vetor.

Continua as iterações a partir do elemento

(70)

27/11/2013 70

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 6 8 5 9 7 4 3 1 0 2

(71)

27/11/2013 71

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 6 8 5 9 7 4 3 1 0 2

(72)

27/11/2013 72

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 6 8 5 9 7 4 3 1 0 2

(73)

27/11/2013 73

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 6 8 5 9 7 4 3 1 0 2

(74)

27/11/2013 74

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 6 8 5 9 7 4 3 1 0 2

(75)

27/11/2013 75

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 6 8 5 9 7 4 3 1 0 2

(76)

27/11/2013 76

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 6 8 5 9 7 4 3 1 0 2

(77)

27/11/2013 77

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 6 8 5 9 7 4 3 1 0 2

(78)

27/11/2013 78

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 6 8 5 9 7 4 3 1 0 2

(79)

27/11/2013 79

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 8 5 9 7 4 3 1 6 2

(80)

27/11/2013 80

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 8 5 9 7 4 3 1 6 2

(81)

27/11/2013 81

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 8 5 9 7 4 3 1 6 2

(82)

27/11/2013 82

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 8 5 9 7 4 3 1 6 2

(83)

27/11/2013 83

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 8 5 9 7 4 3 1 6 2

(84)

27/11/2013 84

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 8 5 9 7 4 3 1 6 2

(85)

27/11/2013 85

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 8 5 9 7 4 3 1 6 2

(86)

27/11/2013 86

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 8 5 9 7 4 3 1 6 2

(87)

27/11/2013 87

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 5 9 7 4 3 8 6 2

(88)

27/11/2013 88

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 5 9 7 4 3 8 6 2

(89)

27/11/2013 89

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 5 9 7 4 3 8 6 2

(90)

27/11/2013 90

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 5 9 7 4 3 8 6 2

(91)

27/11/2013 91

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 5 9 7 4 3 8 6 2

(92)

27/11/2013 92

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 5 9 7 4 3 8 6 2

(93)

27/11/2013 93

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 5 9 7 4 3 8 6 2

(94)

27/11/2013 94

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 5 9 7 4 3 8 6 2

(95)

27/11/2013 95

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

A 0 1 5 9 7 4 3 8 6 2

(96)

27/11/2013 96

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

(97)

27/11/2013 97

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

(98)

27/11/2013 98

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

(99)

27/11/2013 99

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

(100)

27/11/2013 100

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

(101)

27/11/2013 101

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

(102)

27/11/2013 102

Ordenação por Seleção

Exemplo:

 A: vetor[1..10] de inteiro

(103)

27/11/2013 103

algoritmo “Ordenação pelo Método de Seleção”

var

A: vetor[1..10] de inteiro i,j,menor, aux: inteiro inicio

para i de 1 ate 9 faca menor <- i

para j de i+1 ate 10 faca se (A[j] < A[menor]) entao

menor <- j fimse

fimpara

aux <- A[menor] A[menor] <- A[i] A[i] <- aux fimpara

fimalgoritmo

Figure

Updating...

References

Updating...

Download now (103 pages)