Apa Itu Sorting?
Sorting adalah proses yang mempercepat searching
operation di dalam sebuah list
Jenis-jenis
sorting :
•
Simple:
–
Bubble sort
–
Selection sort
–
Insertion sort
•
Intermediate:
–
Quick Sort
–
Merge Sort
Bubble Sort
Membandingkan 2 value
yang bersebelahan lalu diabandingkan kemudian ditukar jika dibutuhkan.
void Bubble(int *DataArr, int n)
{
int i,
j;
for(i=1; i<n; i++)
for(j=n-1; j>=i; j--)
if(DataArr[j-1] > DataArr[j])
Swap(&DataArr[j-1],&DataArr[j]);
}
Selection Sort
for(i=0; i<N-1; i++){ /*
N=number of data */
Set
idx_smallest equal to i
for(j=i+1; j<N; j++){
If
array[ j ] < array [ idx_smallest ] then idx_smallest = j
}
Swap array[ i ] with array[
idx_smallest ]
}
Insertion Sort
for(i=1; i<n; i++) {
x = A[i], insert x to its suitable place
between A[0] and A[i-1].
}
Quick Sort
void QuickSort(int left, int right)
{
if(left <
right){
//arrange elements
R[left],...,R[right] that
//producing new sequence:
R[left],...,R[J-1] < R[J] and R[J+1],...,R[right] > R[J].
QuickSort(left, J-1);
QuickSort(J+1, right);
}
}
Merge Sort
Algoritma untuk mensorting didasari dari divide and
conquer algorithm
Divide and conquer adalah algoritma general paradigm design
Divide:
membagi inputan data menjadi subset yang disjoin
Recur:
memecahkan masalah dari sub problem yang berhubungan dengan subset
Conquer:
menggabungkan solusi-solusi untuk setiap subset menjadi 1 solusi
No comments:
Post a Comment