Sorting and Searching
Sorting
Sorting dibutuhkan untuk mempercepat proses searching dalam sebuah list. Ada 2 tipe sorting, yaitu ascending dan descending.
Sorting dibagi menjadi yang simple dan intermediate.
Simple :
- Bubble Sort
- Selection Sort
- Insertion Sort
Intermediate :
- Quick Sort
- Merge Sort
Bubble Sort
Dengan membandingkan kedua nilai yang berdekatan, lalu ditukar jika dibutuhkan. Juga disebut sebagai exchange sort.
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
Algorithm :
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
Algorithm :
for(i=1; i<n; i++) {
x = A[i], insert x to its suitable place between A[0] and A[i-1].
}
Quick Sort
Algorithm:
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);
}
}
Searching
Searching adalah proses mencari elemen dari sebuah array yang sama. Searching adalah aksi untuk mendapatkan informasi berdasarkan informasi yang sudah ada. Ada beberapa tipe searching algorithm : linear search, binary search, interpolation search.
Linear Search
Mencari sebuah elemen dimulai dari index array paling awal sampai ketemu. Tipe ini dikenal lambat dan memakan proses yang lama terlebih lagi jika semua elemen array belum urut.
Binary Search
Dengan membagi dua jumlah elemen array terlebih dahulu menjadi kanan/kiri, kemudian membaginya terus sampai berjumlah 1 elemen. Selanjutnya adalah menggabungkan satu kumpulan elemen dengan satu kumpulan elemen lainnya.
Nama : Reza Arief Setianto
NIM : 1801427040
Teknik Industri / Algorithm and Programming
binus.ac.id skyconnectiva.com
Komentar
Posting Komentar