Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Algoritma dan Struktur Data

Presentasi serupa


Presentasi berjudul: "Algoritma dan Struktur Data"— Transcript presentasi:

1 Algoritma dan Struktur Data
Pertemuan 4 : Sorting Disusun oleh : Silvester Dian Handy Permana, S.T., M.T.I. Fakultas Telematika, Universitas Trilogi

2 Outline Beberapa algoritma untuk melakukan sorting: Bubble sort
Selection sort Insertion sort Shell sort Merge sort Untuk masing-masing algoritma: Ide dasar Contoh eksekusi Algoritma Analisa running time/kompleksitas

3 Sort Sorting = pengurutan
Sorted = terurut menurut kaidah/aturan tertentu Data pada umumnya disajikan dalam bentuk sorted. Contoh: Nama di buku telpon Kata-kata dalam kamus File-file di dalam sebuah directory Indeks sebuah buku Data mutasi rekening tabungan CD di toko musik Bayangkan jika data di atas tidak terurut!

4 Bubble sort

5 Bubble sort: Ide dasar Bubble = busa/udara dalam air – apa yang terjadi? Busa dalam air akan naik ke atas. Mengapa? Ketika busa naik ke atas, maka air yang di atasnya akan turun memenuhi tempat bekas busa tersebut. Pada setiap iterasi, bandingkan elemen dengan sebelahnya: yang busa naik, yang air turun!

6 Bubble sort: Sebuah iterasi

7 Bubble sort: Iterasi berikutnya
Perhatikan bahwa pada setiap iterasi, dapat dipastikan satu elemen akan menempati tempat yang benar

8 Bubble sort: Terminasi algoritma
Berhenti di sini! Mengapa?

9 Bubble sort Running time: Variasi: Worst case: O(n2 ) Best case: O(n)
original bubble sort: hanya bergerak ke satu arah bi-directional bubble sort bergerak dua arah (bolak balik)

10 Selection sort

11 Selection sort: Ide dasar
Kondisi awal: Unsorted list = data Sorted list = kosong Ambil yang terbaik (select) dari unsorted list, tambahkan di belakang sorted list. Lakukan terus sampai unsorted list habis

12 Selection sort: Contoh

13 Selection sort: Contoh

14 Selection sort: Contoh

15 Selection sort: Analisis
Running time: Worst case: O(n2) Best case: O(n2) Apakah running time yang sebenarnya merefleksikan analisis tersebut?

16 Insertion sort: Ide dasar
Kondisi awal: Unsorted list = data Sorted list = kosong Ambil sembarang elemen dari unsorted list, sisipkan (insert) pada posisi yang benar dalam sorted list. Lakukan terus sampai unsorted list habis. Bayangkan anda mengurutkan kartu.

17 Insertion sort: Ide dasar

18 Insertion sort: Ide dasar

19 Insertion sort: Contoh

20 Insertion sort: Contoh (lanj.)

21 Insertion sort: Contoh (lanj.)

22 Insertion sort: Contoh (lanj.)

23 Insertion sort: Analisis
Running time analysis: Worst case: O(n2) Best case: O(n) Apakah insertion sort lebih cepat dari selection sort?

24 Merge sort: Ide dasar Divide and conquer approach Idenya:
Menggabungkan (merge) 2 sorted array butuh waktu O(n) Membagi sebuah array jadi 2 hanya butuh waktu O(1)

25 Merge sort: Algoritma rekursif
Base case: jika jumlah elemen dalam array yang perlu di-sort adalah 0 atau 1. Recursive case: secara rekursif, sort bagian pertama dan kedua secara terpisah. Penggabungan: Merge 2 bagian yang sudah di-sort menjadi satu

26 Merge sort: Algoritma rekursif

27 Merge sort: Algoritma rekursif

28 Merge sort: Algoritma rekursif

29 Merge sort: Analisis Running Time: O(n log n)

30 QA


Download ppt "Algoritma dan Struktur Data"

Presentasi serupa


Iklan oleh Google