81
Fasilkom UI IKI10400 Struktur Data & Algoritma 2010/11 Genap Kuliah 10 1 IKI10400 Struktur Data & Algoritma: Fakultas Ilmu Komputer Universitas Indonesia Slide acknowledgments: Bayu Distiawan Tim dosen: Ruli Manurung, Tisha Melia , Bayu Distiawan , Clara Vania , Zaki Rahman AVL Tree Example Operation

AVL Example

Embed Size (px)

Citation preview

Page 1: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      1

IKI10400 • Struktur Data & Algoritma:

Fakultas Ilmu Komputer • Universitas Indonesia

Slide acknowledgments:Bayu DistiawanTim dosen:

Ruli Manurung, Tisha Melia , Bayu Distiawan , Clara Vania , Zaki Rahman 

AVL Tree Example Operation

Page 2: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      2

Gambarkan step by step hasil operasi berikut:

Insert:10, 85, 15, 70, 20, 60, 30, 50, 65, 80, 90, 40, 5, 55

Page 3: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      3

Insert 10, 85, 15, 70, 20, 60, 30, 50, 65, 80, 90, 40, 5, 55

10

Page 4: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      4

Insert 85, 15, 70, 20, 60, 30, 50, 65, 80, 90, 40, 5, 55

10

85

Page 5: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      5

Insert 15, 70, 20, 60, 30, 50, 65, 80, 90, 40, 5, 55

10

85

15

Page 6: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      6

Insert 15, 70, 20, 60, 30, 50, 65, 80, 90, 40, 5, 55

10

85

15

Double rotation right 

left

Page 7: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      7

Insert 15, 70, 20, 60, 30, 50, 65, 80, 90, 40, 5, 55

10

15

85

Double rotation right 

left

Page 8: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      8

Insert 15, 70, 20, 60, 30, 50, 65, 80, 90, 40, 5, 55

15

8510

Page 9: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      9

Insert 70, 20, 60, 30, 50, 65, 80, 90, 40, 5, 55

15

8510

70

Page 10: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      10

Insert 20, 60, 30, 50, 65, 80, 90, 40, 5, 55

15

8510

70

20

Page 11: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      11

Insert 20, 60, 30, 50, 65, 80, 90, 40, 5, 55

15

8510

70

20

Single rotation right

Page 12: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      12

Insert 20, 60, 30, 50, 65, 80, 90, 40, 5, 55

15

7010

20 85

Page 13: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      13

Insert 60, 30, 50, 65, 80, 90, 40, 5, 55

15

7010

20 85

60

Page 14: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      14

Insert 60, 30, 50, 65, 80, 90, 40, 5, 55

15

7010

20 85

60

Double rotation right 

left

Page 15: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      15

Insert 60, 30, 50, 65, 80, 90, 40, 5, 55

15

2010

85

70

60

Double rotation right 

left

Page 16: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      16

Insert 60, 30, 50, 65, 80, 90, 40, 5, 55

20

7015

856010

Page 17: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      17

Insert 30, 50, 65, 80, 90, 40, 5, 55

20

7015

856010

30

Page 18: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      18

Insert 50, 65, 80, 90, 40, 5, 55

20

7015

856010

30

50

Page 19: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      19

Insert 50, 65, 80, 90, 40, 5, 55

20

7015

856010

30

50

Double rotation left 

right

Page 20: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      20

Insert 50, 65, 80, 90, 40, 5, 55

20

7015

856010

50

30

Double rotation left 

right

Page 21: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      21

Insert 50, 65, 80, 90, 40, 5, 55

20

7015

855010

30 60

Page 22: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      22

Insert 65, 80, 90, 40, 5, 55

20

7015

855010

30 60

65

Page 23: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      23

Insert 65, 80, 90, 40, 5, 55

20

7015

855010

30 60

65

Double rotation left 

right

Page 24: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      24

Insert 65, 80, 90, 40, 5, 55

20

7015

856010

50 65

30

Double rotation left 

right

Page 25: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      25

Insert 65, 80, 90, 40, 5, 55

20

15

705010

30 65 85

60

Page 26: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      26

Insert 80, 90, 40, 5, 55

20

15

705010

30 65 85

60

80

Page 27: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      27

Insert 80, 90, 40, 5, 55

20

15

705010

30 65 85

60

80

Single rotation left

Page 28: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      28

Insert 80, 90, 40, 5, 55

20 70

5015

30

65 85

80

Single rotation left

10

60

Page 29: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      29

Insert 90, 40, 5, 55

20 70

5015

30

65 85

8010

60

90

Page 30: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      30

Insert 40, 5, 55

20 70

5015

30

65 85

8010

60

90

40

Page 31: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      31

Insert 40, 5, 55

20 70

5015

30

65 85

8010

60

90

40

Double rotation left 

right

Page 32: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      32

Insert 40, 5, 55

20 70

5015

40

65 85

8010

60

90

30

Double rotation left 

right

Page 33: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      33

Insert 40, 5, 55

20 70

15

30

65 85

8010

60

9050

Double rotation left 

right

40

Page 34: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      34

Insert 5, 55

20 70

15

30

65 85

8010

60

9050

40

5

Page 35: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      35

Insert 5, 55

20 70

15

30

65 85

8010

60

9050

40

5

Single rotation right

Page 36: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      36

Insert 5, 55

20 70

30

65 85

805

60

9050

40

15

10

Page 37: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      37

Insert 55

20 70

30

65 85

805

60

9050

40

15

10

55

Page 38: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      38

AVL Trees: Latihan

Coba simulasikan urutan proses pada sebuah AVL Tree berikut ini

insert 10, 85, 15, 70, 20, 60, 30,

delete 15, 10,

insert 50, 65, 80,

delete 20, 60,

insert 90, 40, 5, 55

delete 70

Gambarkan kondisi akhir dari AVL Tree tersebut.

Page 39: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      39

Insert 10, 85, 15, 70, 20, 60, 30

10

Page 40: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      40

Insert 85, 15, 70, 20, 60, 30

10

85

Page 41: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      41

Insert 15, 70, 20, 60, 30

10

85

15

Page 42: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      42

Insert 15, 70, 20, 60, 30

10

85

15

Double rotation right 

left

Page 43: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      43

Insert 15, 70, 20, 60, 30

10

15

85

Double rotation right 

left

Page 44: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      44

Insert 15, 70, 20, 60, 30

15

8510

Page 45: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      45

Insert 70, 20, 60, 30

15

8510

70

Page 46: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      46

Insert 20, 60, 30

15

8510

70

20

Page 47: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      47

Insert 20, 60, 30

15

8510

70

20

Single rotation right

Page 48: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      48

Insert 20, 60, 30

15

7010

20 85

Page 49: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      49

Insert 60, 30

15

7010

20 85

60

Page 50: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      50

Insert 60, 30

15

7010

20 85

60

Double rotation right 

left

Page 51: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      51

Insert 60, 30

15

2010

85

70

60

Double rotation right 

left

Page 52: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      52

Insert 60, 30

20

7015

856010

Page 53: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      53

Insert 30

20

7015

856010

30

Page 54: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      54

Delete 15, 10

20

7015

856010

30

Page 55: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      55

Delete 15, 10

20

7010

8560

30

Page 56: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      56

Delete 15, 10

20

7010

8560

30

Double rotation right 

left

Page 57: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      57

Delete 15, 10

20

6010

7030

Double rotation right 

left

85

Page 58: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      58

Delete 15, 10

60

20 70

30

Double rotation right 

left

8510

Page 59: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      59

Delete 10

60

20 70

30 85

Page 60: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      60

Insert 50, 65, 80

60

20 70

30 85

Page 61: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      61

Insert 50, 65, 80

60

20 70

30 85

50

Page 62: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      62

Insert 50, 65, 80

60

20 70

30 85

50

Single rotation left

Page 63: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      63

Insert 50, 65, 80

60

70

50 8520

Single rotation left30

Page 64: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      64

Insert 65, 80

60

70

50 8520

30

65

Page 65: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      65

Insert 80

60

70

50 8520

30

65

80

Page 66: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      66

Delete 20, 60

60

70

50 8520

30

65

80

Page 67: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      67

Delete 20, 60

60

70

50 85

30

65

80

Page 68: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      68

Delete 60

70

50 85

30

65

80

Gantikandengan

predecessor inordernya

Page 69: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      69

Delete 60

70

50 8565

80

Gantikandengan

predecessor inordernya

30

Page 70: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      70

Delete 60

50

7030

8565

80

Page 71: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      71

Delete 60

50

7030

8565

80

Single rotation left

Page 72: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      72

Delete 60

70

50 85

65 80

Single rotation left

30

Page 73: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      73

Insert 90, 40, 5, 55

70

50 85

65 8030

Page 74: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      74

Insert 90, 40, 5, 55

70

50 85

65 8030 90

Page 75: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      75

Insert 40, 5, 55

70

50 85

65 8030 90

40

Page 76: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      76

Insert 5, 55

70

50 85

65 8030 90

405

Page 77: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      77

Insert 55

70

50 85

65 8030 90

405 55

Page 78: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      78

Delete 70

70

50 85

65 8030 90

405 55

Page 79: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      79

Delete 70

50 85

65 8030 90

405 55

Gantikandengan

predecessor inordernya

Page 80: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      80

Delete 70

50 85

65 8030 90

405 55

Gantikandengan

predecessor inordernya

Page 81: AVL Example

Fasilkom UI • IKI10400 Struktur Data & Algoritma 2010/11 • Genap • Kuliah 10      81

Delete 70

65

50 85

8030 90

405

55