Handout TIF207 Ch 5 Devide and Conquer
12/3/2015
Bab 5: Devide-and-Conquer
Analisis Algoritma:
Agenda.
•
•
•
•
Anany Levitin, Introduction to Design and Analysis of Algorithm, 3rd Edition,
Pearson Education, Inc., Addison-Wesley
Introduction
Mergesort
Quicksort
Binary Tree Traversals and Related Properties
Fakultas Teknologi dan Desain
1-1 Informatika
Program Studi Teknik
Analisis Algoritma |
Introduction
Mergesort
• Mergesort merupakan sebuah kasus yang cocok untuk penerapan
teknik devide-and-conquer.
Devide-and-conquer:
teknik yang digunakan dalam
perancangan algoritma yang
akan membagi ukuran (size)
problem utama menjadi 2
subproblem, mencari solusi
dari tiap subproblem,
kemudian menggabungkan
solusi kedua subproblem
tersebut sebagai solusi untuk
problem utama.
Analisis Algoritma |
2
• Mergesort diselesaikan dengan cara:
(1) membagi deret bilangan yang akan diurutkan menjadi 2 bagian;
(2) mencari deret urut setiap bagian; dan
(3) menggabungkan hasil deret urut kedua bagian tersebut.
3
Analisis Algoritma |
4
1
12/3/2015
Mergesort
• Contoh kasus: Mergesort (devide-and-conquer)
Mergesort
Latihan 1.
17 12 57 8 16 25
Kasus: Mergesort (devide-and-conquer).
Problem: Urutkan deret bilangan acak di atas menggunakan metode
mergesort yang mengakomodir algoritma devide-and-conquer!
21 5 9 16 30 7
Problem 1: Urutkan deret bilangan acak di atas menggunakan
metode mergesort yang mengakomodir algoritma devide-andconquer!
Analisis Algoritma |
5
Analisis Algoritma |
Quicksort
• Quicksort membagi deret bilangan yang akan diurutkan
berdasarkan nilainya, bukan berdasarkan letak/posisi elemen
deret bilangan.
6
Mergesort
Latihan 2.
Kasus: Quicksort (devide-and-conquer).
• Membutuhkan elemen yang digunakan sebagai elemen yang
membagi deret bilangan menjadi 2 bagian.
• Contoh kasus: Quicksort (devide-and-conquer) .
21 5 9 16 30 7
Problem 1: Urutkan deret bilangan acak di atas menggunakan metode
quicksort!
Problem: Urutkan deret bilangan di bawah ini menggunakan metode
quicksort!
17 12 57 8 16 25
Analisis Algoritma |
7
Analisis Algoritma |
8
2
12/3/2015
Binary Tree Traversals and Related Properties
• Binary tree adalah himpunan hingga simpul-simpul yang
memiliki sebuah root dan 2 subpohon, subpohon kiri (Tleft) dan
subpohon kanan (Tright).
Binary Tree Traversals and Related Properties
• Simpul yang digunakan dalam penyajian pohon biner terbagi atas
original nodes dan extension node.
• Original nodes (internal nodes) digambarkan dalam bentuk
lingkaran, sedangkan extension node (external nodes)
digambarkan dalam bentuk bujursangkar.
• Penggunaan simpul internal dan eksternal, pada umumnya
digunakan untuk merepresentasikan notasi aritmatika dalam
bentuk pohon biner.
Analisis Algoritma |
9
Binary Tree Traversals and Related Properties
Analisis Algoritma |
10
Binary Tree Traversals and Related Properties
• Algoritma yang paling penting dalam penerapan metode devideand-conquer pada pohon biner adalah: preorder , inorder , dan
postorder .
• Letak perbedaan tetiga algoritma tersebut adalah pada urutan
penelusuran root pohon.
• Contoh kasus: Binary tree.
Kasus: Tentukan urutan penelusuran pohon biner di bawah ini secara
preorder , inorder , dan postorder !
Analisis Algoritma |
11
Analisis Algoritma |
12
3
12/3/2015
Binary Tree Traversals and Related Properties
Analisis Algoritma:
Latihan 3.
Anany Levitin, Introduction to Design and Analysis of Algorithm, 3rd Edition,
Pearson Education, Inc., Addison-Wesley
Kasus: Binary tree.
Problem 1: Tentukan urutan
penelusuran pohon biner di samping
ini secara preorder , inorder , dan
postorder
Analisis Algoritma |
13
1-14
4
Bab 5: Devide-and-Conquer
Analisis Algoritma:
Agenda.
•
•
•
•
Anany Levitin, Introduction to Design and Analysis of Algorithm, 3rd Edition,
Pearson Education, Inc., Addison-Wesley
Introduction
Mergesort
Quicksort
Binary Tree Traversals and Related Properties
Fakultas Teknologi dan Desain
1-1 Informatika
Program Studi Teknik
Analisis Algoritma |
Introduction
Mergesort
• Mergesort merupakan sebuah kasus yang cocok untuk penerapan
teknik devide-and-conquer.
Devide-and-conquer:
teknik yang digunakan dalam
perancangan algoritma yang
akan membagi ukuran (size)
problem utama menjadi 2
subproblem, mencari solusi
dari tiap subproblem,
kemudian menggabungkan
solusi kedua subproblem
tersebut sebagai solusi untuk
problem utama.
Analisis Algoritma |
2
• Mergesort diselesaikan dengan cara:
(1) membagi deret bilangan yang akan diurutkan menjadi 2 bagian;
(2) mencari deret urut setiap bagian; dan
(3) menggabungkan hasil deret urut kedua bagian tersebut.
3
Analisis Algoritma |
4
1
12/3/2015
Mergesort
• Contoh kasus: Mergesort (devide-and-conquer)
Mergesort
Latihan 1.
17 12 57 8 16 25
Kasus: Mergesort (devide-and-conquer).
Problem: Urutkan deret bilangan acak di atas menggunakan metode
mergesort yang mengakomodir algoritma devide-and-conquer!
21 5 9 16 30 7
Problem 1: Urutkan deret bilangan acak di atas menggunakan
metode mergesort yang mengakomodir algoritma devide-andconquer!
Analisis Algoritma |
5
Analisis Algoritma |
Quicksort
• Quicksort membagi deret bilangan yang akan diurutkan
berdasarkan nilainya, bukan berdasarkan letak/posisi elemen
deret bilangan.
6
Mergesort
Latihan 2.
Kasus: Quicksort (devide-and-conquer).
• Membutuhkan elemen yang digunakan sebagai elemen yang
membagi deret bilangan menjadi 2 bagian.
• Contoh kasus: Quicksort (devide-and-conquer) .
21 5 9 16 30 7
Problem 1: Urutkan deret bilangan acak di atas menggunakan metode
quicksort!
Problem: Urutkan deret bilangan di bawah ini menggunakan metode
quicksort!
17 12 57 8 16 25
Analisis Algoritma |
7
Analisis Algoritma |
8
2
12/3/2015
Binary Tree Traversals and Related Properties
• Binary tree adalah himpunan hingga simpul-simpul yang
memiliki sebuah root dan 2 subpohon, subpohon kiri (Tleft) dan
subpohon kanan (Tright).
Binary Tree Traversals and Related Properties
• Simpul yang digunakan dalam penyajian pohon biner terbagi atas
original nodes dan extension node.
• Original nodes (internal nodes) digambarkan dalam bentuk
lingkaran, sedangkan extension node (external nodes)
digambarkan dalam bentuk bujursangkar.
• Penggunaan simpul internal dan eksternal, pada umumnya
digunakan untuk merepresentasikan notasi aritmatika dalam
bentuk pohon biner.
Analisis Algoritma |
9
Binary Tree Traversals and Related Properties
Analisis Algoritma |
10
Binary Tree Traversals and Related Properties
• Algoritma yang paling penting dalam penerapan metode devideand-conquer pada pohon biner adalah: preorder , inorder , dan
postorder .
• Letak perbedaan tetiga algoritma tersebut adalah pada urutan
penelusuran root pohon.
• Contoh kasus: Binary tree.
Kasus: Tentukan urutan penelusuran pohon biner di bawah ini secara
preorder , inorder , dan postorder !
Analisis Algoritma |
11
Analisis Algoritma |
12
3
12/3/2015
Binary Tree Traversals and Related Properties
Analisis Algoritma:
Latihan 3.
Anany Levitin, Introduction to Design and Analysis of Algorithm, 3rd Edition,
Pearson Education, Inc., Addison-Wesley
Kasus: Binary tree.
Problem 1: Tentukan urutan
penelusuran pohon biner di samping
ini secara preorder , inorder , dan
postorder
Analisis Algoritma |
13
1-14
4