21
Quick Sort DIK-013 Data Structure Diploma 3 Years in Informatics Management Irvanizam Zamanhuri, M.Sc Informatics (Computer Science) Study Program Syiah Kuala University http://www.informatika.unsyiah.ac.id/irvanizam Email: [email protected]

Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:

  • Upload
    tranbao

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:

Quick SortDIK-013 Data Structure

Diploma 3 Years in Informatics Management

Irvanizam Zamanhuri, M.ScInformatics (Computer Science) Study ProgramSyiah Kuala Universityhttp://www.informatika.unsyiah.ac.id/irvanizamEmail: [email protected]

Page 2: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:

Quick Sorto Quick sort is a fast sorting algorithmo On the average, it has O(n log n) complexity, o Making quicksort suitable for sorting big data volumes.o The idea of the algorithm is quite simple.o Quick sort is a sort method using a partition.o Quick sort is a sort method using a partition.o There are two partitions (left and right), where the

data in the left partition are always smaller than the data in the right partition.

o However the data in those partitions have not sorted yet.

o Therefore, we need to sort those data separately.

Page 3: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:

Algorithmo Quick sort menggunakan strategi devide and conqure.

Berikut langkah rekursi nya adalah: 1. Pilih sebuah nilai pivot x.

Nilai x bisa merupakan nilai tengah dari elemen atau sembarang nilai dari elemen-element yang mau diurutkan.Baca data dari ujung kanan ke kiri sampai ditemukan data 2. Baca data dari ujung kanan ke kiri sampai ditemukan data a[i] sehingga a[i] < x (partisi kiri).

3. Baca data dari ujung kiri ke kanan sampai ditemukan data a[j] sehingga a[j] >= x (partisi kanan).

4. Tukar kedua data a[i] dan a[j].5. Ulangi proses 2 – 4, sampai seluruh data terbagi dua bagian

kiri yang lebih kecil dari x dan kanan yang lebih besar dari x.

Page 4: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:

Algoritma Partisi secara Detailq Terdapat dua indeks i dan j, dan awalnya index i

ditunjukkan pada elemen pertama didalam array dan index j ditunjukkan pada elemen terakhir di dalam array.

q Algoritma memindahkan indeks i secara increment, sampai sebuah elemen yang nilainya lebih besar atau sama dengan nilai pivot x ditemukan.sama dengan nilai pivot x ditemukan.

q Algoritma memindahkan indeks j secara decrement, sampai sebuah elemen yang nilainya lebih kecil atau sama dengan nilai pivot ditemukan.

q Jika i ≤ ≤ ≤ ≤ j maka elemen pada posisi i dan j ditukarkan.

q Dan indeks i dipindahkan ke (i+1) dan indeks j dipindahkan ke (j-1). Algoritma berhenti ketika i > j

Page 5: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:

Algoritma (continue)q Setelah partisi, semua nilai sebelum i-th elemen lebih

kecil atau sama dengan nilai pivot x.

q Semua nilai setelah j-th elemen lebih besar atau sama dengan nilai pivot x.

Page 6: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:

Example

q Sort {1, 12, 5, 26, 7, 14, 3, 7, 2} using quicksort.

q Answer:

Page 7: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:

Continue

Page 8: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:

Contoh 2

Page 9: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:
Page 10: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:
Page 11: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:
Page 12: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:
Page 13: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:
Page 14: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:
Page 15: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:
Page 16: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:
Page 17: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:
Page 18: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:
Page 19: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:
Page 20: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:

Animasi Quick Sort

Page 21: Dinamik Linked Listinformatika.unsyiah.ac.id/irvanizam/teaching/SD/ds-09.pdfAnimasi Quick Sort. Reference o  ... Dinamik Linked List Author: Irvanizam Zamanhuri Created Date:

Referenceo http://www.informatika.unsyiah.ac.id/tfa/ds/quicksort.pdf o http://lecturer.eepis-its.edu/~arna/Modul_ASD/8.5%20Quick-

Sort.pdf o http://www.algolist.net/Algorithms/Sorting/Quicksort o http://en.wikipedia.org/wiki/Quick_sort