12/3/2015
1
1-1Analisis Algoritma:
Fakultas Teknologi dan Desain Program Studi Teknik Informatika Anany Levitin, Introduction to Design and Analysis of Algorithm, 3rdEdition,
Pearson Education, Inc., Addison-Wesley
Bab 5: Devide-and-Conquer
Agenda.
• Introduction
• Mergesort
• Quicksort
• Binary Tree Traversals and Related Properties
Analisis Algoritma | 2
Introduction
Analisis Algoritma | 3
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.
Mergesort
• Mergesort merupakan sebuah kasus yang cocok untuk penerapan teknik devide-and-conquer.
• 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.
12/3/2015
2
Mergesort
• Contoh kasus: Mergesort (devide-and-conquer) 17 12 57 8 16 25
Problem: Urutkan deret bilangan acak di atas menggunakan metode
mergesort yang mengakomodir algoritma devide-and-conquer!
Analisis Algoritma | 5
Mergesort
Latihan 1.
Kasus: Mergesort (devide-and-conquer).
21 5 9 16 30 7
Problem 1: Urutkan deret bilangan acak di atas menggunakan
metode mergesort yang mengakomodir algoritma devide-and-conquer!
Analisis Algoritma | 6
• Quicksort membagi deret bilangan yang akan diurutkan berdasarkan nilainya, bukan berdasarkan letak/posisi elemen deret bilangan.
• Membutuhkan elemen yang digunakan sebagai elemen yang membagi deret bilangan menjadi 2 bagian.
• Contoh kasus: Quicksort (devide-and-conquer).
Problem: Urutkan deret bilangan di bawah ini menggunakan metode
quicksort!
17 12 57 8 16 25
Analisis Algoritma | 7
Quicksort
Mergesort
Latihan 2.
Kasus: Quicksort (devide-and-conquer).
21 5 9 16 30 7
Problem 1: Urutkan deret bilangan acak di atas menggunakan metode
quicksort!
12/3/2015
3
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).
Analisis Algoritma | 9
Binary Tree Traversals and Related Properties
• Simpul yang digunakan dalam penyajian pohon biner terbagi atas original nodesdan 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 | 10
Binary Tree Traversals and Related Properties
• Algoritma yang paling penting dalam penerapan metode devide-and-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
Binary Tree Traversals and Related Properties
12/3/2015
4
Binary Tree Traversals and Related Properties
Latihan 3.
Kasus: Binary tree.
Problem 1: Tentukan urutan
penelusuran pohon biner di samping ini secara preorder, inorder, dan postorder
Analisis Algoritma | 13 1-14