Sorting dan Searching
Sorting
- Jenis penyortiran:
Ascending (A-Z)
Descending (Z-A)
Algoritma Sorting:
1. Internal Sorting
Semua data yang akan diurutkan dimuat ke RAM.
2. External Sorting
Proses sorting menggunakan penyimpanan sekunder.
Simpel Sorting
Bubble Sort
- Membandingkan dua nilai yang berdekatan.
- Membandingan dan dan menukar nilai (jika diperlukan)
- Algoritma:
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
Algortima:
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 ]
}
- Jenis penyortiran:
Ascending (A-Z)
Descending (Z-A)
Algoritma Sorting:
1. Internal Sorting
Semua data yang akan diurutkan dimuat ke RAM.
2. External Sorting
Proses sorting menggunakan penyimpanan sekunder.
Simpel Sorting
Bubble Sort
- Membandingkan dua nilai yang berdekatan.
- Membandingan dan dan menukar nilai (jika diperlukan)
- Algoritma:
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
Algortima:
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
Algortima:
for(i=1; i<n; i++) {
x = A[i], insert x to its suitable place between A[0] and A[i-1].
}
Intermediate Sorting
Quick Sort
Algoritma:
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
- Merge Sort terdiri dari "divide-and-conquer" algoritma.
- Divide: membagi input data ke dalam 2 subset disjoin.
- Recur: menyelesaikan sub masalah/problem terkait dengan subset.
- Conquer: menggabungkan solusi-solusi tiap subset.
Searching
Searching adalah tindakan untuk mengambil/mencari informasi berdasarkan key (kata kunci) tertentu dari beberapa informasi yang disimpan.
Tipe-Tipe Searching
Linear Search
Linear search adalah jenis pencarian dilakukan secara sekuensial dari awal sampai akhir data.
Binary Search
Binary search adalah pencarian secara biner yang dapat dilakukan jika data sudah terurut.
Interpolation Search
Interpolation search adalah metode pencarian dengan menggunakan teknik perkiraan data. Metode ini didasari pada proses pencarian nomor telepon dalam buku telepon yang mana manusia mencari berdasarkan kata kuncinya. Rumus:
Sources:
http://www.thecshandbook.com/Quick_Sort
https://en.wikipedia.org/wiki/Merge_sort
https://www.academia.edu/11731001/Apa_itu_Linier_Search_Interpolation_Search_and_Binary_Search_serta_contoh_programnya









Comments
Post a Comment