Download - Merge Sort Minmaks

Transcript

ANALISIS DAN DESAIN ALGORITMAKelompok 8, DAA Kelas JRidlo Sayyidina Auliya-105060800111013Elha Dhanny-115060800111010Regita Ayu P.-115060800111028Gita Widigdo W.-115060807111021Ichwanda Baktiar-115060807111003

1. MERGE SORT1.1 DEFINISIMerge sort merupakan salah satu algoritma yang digunakan untuk mengurutkan kembali data ke dalam urutan tertentu. Algoritma ini merupakan contoh algoritma divide and conquer yang baik. Dalam algoritma terdapat proses merging yakni menggabungkan dua atau lebih bagian yang telah diurutkan ke dalam satu bagian utuh.Proses sorting dengan merge sort dilakukan sebagai berikut :

Penggabungan dua array yang telah tersortir dapat diselesaikan menggunakan indeks array untuk menunjuk elemen pertama dari array yang digabungkan. Elemen yang ditunjuk lalu dibandingkan dan bagian yang lebih kecil ditambahkan pada array baru yang sedang dibentuk. Setelah itu indeks dari elemen yang lebih kecil ditambahkan nilainya agar menunjuk ke pengganti langsung dimana elemen tersebut disalin. Operasi ini dilakukan terus menerus.

1.2 CONTOH a[1:9] = (2 4 6 9 5 8 7 1 3)

PENYELESAIAN : MERGE SORT TREE :

HAND SIMULATION :(2 4 6 9 5 8 7 1 3)(2 4 6 9 5 | 8 7 1 3) split(2 4 6 | 9 5 | 8 7 | 1 3) split(2 4 | 6 | 9 | 5 | 8 7 | 1 3) split(2 | 4 | 6 | 9 | 5 | 8 | 7 | 1 | 3) split...(1 2 3 4 5 6 7 8 9) merge

KODE PROGRAM :import java.util.Scanner;public class MergeSort { public int a[]=new int[20]; public void merge_sort(int lo, int hi) { int mid; if(lo