57
QUICK SORT Algoritma Pengurutan

Alpro : Quick sort

Embed Size (px)

DESCRIPTION

Algoritma Quick Short

Citation preview

Page 1: Alpro : Quick sort

QUICK SORTAlgoritma Pengurutan

Page 2: Alpro : Quick sort

SIMULASI QUICKSORT

3 2 5 1 4

31 52 4

1 2

21

5 4

4 5

Page 3: Alpro : Quick sort

RESULT

1 2 3 4 5

3

21 4 5

Page 4: Alpro : Quick sort

SIMULASI ALGORITMA QUICKSORT

3 2 5 1 4

Page 5: Alpro : Quick sort

QuickSORT(Array, indexawal, indexakhir)

3 2 5 1 4

QuickSORT(data, 1,5)

data

indexawal indexakhir

Page 6: Alpro : Quick sort

QuickSORT(data, 1, 5)

3 2 5 1 4

data

indexawal indexakhir

STEP 1IF(indexawal < indexakhir)

Page 7: Alpro : Quick sort

3 2 5 1 4

Indexhigher

Indexlower

pivot

While index lower < index higher

Cek Lower

Cek Higher

If(indexlower < index higher)

Swap

Swap

QuickSORT(data, indexawal,

indexhigher-1)

QuickSORT(data, indexawal,

indexhigher+1)

See Code

Page 8: Alpro : Quick sort

3 2 5 1 4

Indexhigher

Indexlower

pivot

While index lower < index higher

Page 9: Alpro : Quick sort

3 2 5 1 4

Indexhigher

Indexlower

pivot

While index lower < index higher Cek Lower

Page 10: Alpro : Quick sort

3 2 5 1 4

Indexhigher

Indexlower

pivot

While index lower < index higher Cek Lower

Page 11: Alpro : Quick sort

3 2 5 1 4

Indexhigher

Indexlower

pivot

While index lower < index higher Cek Lower

Page 12: Alpro : Quick sort

3 5 1 4

Indexhigher

Indexlower

pivot

2

While index lower < index higher Cek Lower

Page 13: Alpro : Quick sort

3 5 1 4

Indexhigher

Indexlower

pivot

2

While index lower < index higher Cek Lower

Page 14: Alpro : Quick sort

3 2 5 1 4

Indexhigher

Indexlower

pivot

While index lower < index higher Cek Higher

Page 15: Alpro : Quick sort

3 2 5 1 4

Indexhigher

Indexlower

pivot

While index lower < index higher Cek Higher

Page 16: Alpro : Quick sort

3 2 5 1 4

Indexhigher

Indexlower

pivot

While index lower < index higherIf(indexlower < index higher)

Swap

Page 17: Alpro : Quick sort

3 2 1 5 4

Indexhigher

Indexlower

pivot

While index lower < index higherIf(indexlower < index higher)

Swap

Page 18: Alpro : Quick sort

3 2 1 5 4

Indexhigher

Indexlower

pivot

While index lower < index higher

Page 19: Alpro : Quick sort

3 2 1 5 4

Indexhigher

Indexlower

pivot

While index lower < index higher Cek Lower

Page 20: Alpro : Quick sort

3 2 1 5 4

Indexhigher

Indexlower

pivot

While index lower < index higher Cek Lower

Page 21: Alpro : Quick sort

3 2 1 5 4

Indexhigher

Indexlower

pivot

While index lower < index higher Cek Lower

Page 22: Alpro : Quick sort

3 2 1 5 4

Indexhigher

Indexlower

pivot

While index lower < index higher Cek Higher

Page 23: Alpro : Quick sort

3 2 1 5 4

Indexhigher

Indexlower

pivot

While index lower < index higher Cek Higher

Page 24: Alpro : Quick sort

3 2 1 5 4

Indexhigher

Indexlower

pivot

While index lower < index higher Cek Higher

Page 25: Alpro : Quick sort

3 2 1 5 4

Indexhigher

Indexlower

pivot

While index lower < index higher Cek Higher

Page 26: Alpro : Quick sort

3 2 1 5 4

Indexhigher

Indexlower

pivot

While index lower < index higherIf(indexlower < index higher)

Swap

Page 27: Alpro : Quick sort

3 2 1 5 4

Indexhigher

Indexlower

pivot

Swap

Page 28: Alpro : Quick sort

1 2 3 5 4

Indexhigher

Indexlower

pivot

Swap

Page 29: Alpro : Quick sort

1 2 3 5 4

Indexhigher

Indexlower

pivot

Quicksorting(1,2) Quicksorting(4,5)

Page 30: Alpro : Quick sort

1 2

Indexhigher

Indexlower

pivot

Quicksorting(1,2)

While index lower < index higher

Page 31: Alpro : Quick sort

1 2

Indexhigher

Indexlower

pivot

Quicksorting(1,2)

While index lower < index higher Cek Lower

Page 32: Alpro : Quick sort

1 2

Indexhigher

Indexlower

pivot

Quicksorting(1,2)

While index lower < index higher Cek Lower

Page 33: Alpro : Quick sort

1 2

Indexhigher

Indexlower

pivot

Quicksorting(1,2)

While index lower < index higher Cek Lower

Page 34: Alpro : Quick sort

1 2

Indexhigher

Indexlower

pivot

Quicksorting(1,2)

While index lower < index higher Cek Lower

Page 35: Alpro : Quick sort

1 2

Indexhigher

Indexlower

pivot

Quicksorting(1,2)

While index lower < index higher Cek Higher

Page 36: Alpro : Quick sort

1 2

Indexhigher

Indexlower

pivot

Quicksorting(1,2)

While index lower < index higher Cek Higher

Page 37: Alpro : Quick sort

1 2

Indexhigher

Indexlower

pivot

Quicksorting(1,2)

While index lower < index higher Cek Higher

Page 38: Alpro : Quick sort

1 2

Indexhigher

Indexlower

pivot

Quicksorting(1,2)

While index lower < index higher

If(indexlower < index higher)

Swap

Page 39: Alpro : Quick sort

1 2

Indexhigher

Indexlower

pivot

Quicksorting(1,2)

Swap

Page 40: Alpro : Quick sort

1 2

Indexhigher

Indexlower

pivot

Quicksorting(1,2)

Quicksorting(1,0) Quicksorting(2,2)

Page 41: Alpro : Quick sort

5 4

Indexhigher

Indexlower

pivot

Quicksorting(4,5)

While index lower < index higher

Page 42: Alpro : Quick sort

5 4

Indexhigher

Indexlower

pivot

Quicksorting(4,5)

While index lower < index higher Cek Lower

Page 43: Alpro : Quick sort

5 4

Indexhigher

Indexlower

pivot

Quicksorting(4,5)

While index lower < index higher Cek Lower

Page 44: Alpro : Quick sort

5 4

Indexhigher

Indexlower

pivot

Quicksorting(4,5)

While index lower < index higher Cek Lower

Page 45: Alpro : Quick sort

5 4

Indexhigher

Indexlower

pivot

Quicksorting(4,5)

While index lower < index higher Cek Lower

Page 46: Alpro : Quick sort

5 4

Indexhigher

Indexlower

pivot

Quicksorting(4,5)

While index lower < index higher Cek Lower

Page 47: Alpro : Quick sort

5 4

Indexhigherpivot

Quicksorting(4,5)

While index lower < index higher Cek Higher

Indexlower

Page 48: Alpro : Quick sort

5 4

Indexhigherpivot

Quicksorting(1,2)

While index lower < index higher Cek Higher

Indexlower

Page 49: Alpro : Quick sort

5 4

pivot

Quicksorting(4,5)

While index lower < index higher

If(indexlower < index higher)

Swap

Indexlower

Indexhigher

Page 50: Alpro : Quick sort

5 4

Indexhigher

Indexlower

pivot

Quicksorting(1,2)

Swap

Page 51: Alpro : Quick sort

4 5

Indexhigher

Indexlower

pivot

Quicksorting(4,5)

Quicksorting(4,4) Quicksorting(6,5)

Page 52: Alpro : Quick sort

RESULT

1 2 3 4 5

Page 53: Alpro : Quick sort

TERIMAKASIH

Page 54: Alpro : Quick sort

C Code for QuickSORTvoid quicksort(int arr[max],int arrawal,int arrakhir){

int pivot,indexhigher,temp,indexlower;

if(arrawal<arrakhir){

pivot = arrawal;

indexlower = arrawal;

indexhigher = arrakhir;

while(indexlower<indexhigher){

while((arr[indexlower]<=arr[pivot])&&(indexlower<arrakhir)){

indexlower++;

}

while(arr[indexhigher]>arr[pivot]&&(indexhigher>arrawal)){

indexhigher--;

}

if(indexlower<indexhigher){

swap(arr,indexlower,indexhigher);

}

}

swap(arr,pivot,indexhigher);

quicksort(arr,arrawal,indexhigher-1);

quicksort(arr,indexhigher+1,arrakhir);

}

}//end

Page 55: Alpro : Quick sort

Swap code

void swap (int a[max], int left, int right){

int temp;

temp=a[left];

a[left]=a[right];

a[right]=temp;

}//end swap

Page 56: Alpro : Quick sort

Cek Lower

If(data[indexlower] <= data[pivot] && indexlower < indexakhir )

Indexlower = indexlower + 1

Page 57: Alpro : Quick sort

If(data[indexhigher] > data[pivot])

Indexhigher = indexhigher + 1

Cek Higher