Sorting & Searching Algoritma dan Pemograman - NJ
Sorting & Searching
Sorting perlu mempercepat operasi pencarian dalam daftar
Jenis sorting ada 2 yaitu : Ascending (Naik) dan Descending (Turun)
Sorting Algoritma ada 2 :
1. Internal Sorting = Semua data yang akan di urutkan dimuat ke RAM
2. External Sorting = Sorting process menggunakan penyimpanan sekunder
Sorting simple ada 3 yaitu :
1. Bubble sort
2. Selection sort
3. Insertion sort
Intermediate ada 2 :
1. Quick sort
2. Merge sort
Bubble sort = Membandingkan dua nilai yang berdekatan,
Bandingkan dan tukar (jika perlu), Juga dikenal sebagai exchange sort.
Selection Sort :
Algortitma :
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 :
Algoritma :
for(i=1; i<n; i++) {
x = A[i], insert x to its suitable place between A[0] and A[i-1].
}
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 adalah algoritma pengurutan berdasarkan algoritma divide-and-conquer
Sorting perlu mempercepat operasi pencarian dalam daftar
Jenis sorting ada 2 yaitu : Ascending (Naik) dan Descending (Turun)
Sorting Algoritma ada 2 :
1. Internal Sorting = Semua data yang akan di urutkan dimuat ke RAM
2. External Sorting = Sorting process menggunakan penyimpanan sekunder
Sorting simple ada 3 yaitu :
1. Bubble sort
2. Selection sort
3. Insertion sort
Intermediate ada 2 :
1. Quick sort
2. Merge sort
Bubble sort = Membandingkan dua nilai yang berdekatan,
Bandingkan dan tukar (jika perlu), Juga dikenal sebagai exchange sort.
Selection Sort :
Algortitma :
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 :
Algoritma :
for(i=1; i<n; i++) {
x = A[i], insert x to its suitable place between A[0] and A[i-1].
}
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 adalah algoritma pengurutan berdasarkan algoritma divide-and-conquer
Divide-and-conquer adalah paradigma desain algoritma umum
Bagilah: membagi input data dalam dua subset yang disatukan
Rekur: pecahkan masalah sub yang terkait dengan subhimpunan
Conquer: menggabungkan solusi untuk setiap bagian menjadi solusi.
Searching
Kita pastinya akan sering bekerja dengan sejumlah besar data yang disimpan dalam Array. Mungkin perlu untuk menentukan apakah suatu Array berisi nilai yang cocok dengan nilai kunci tertentu. Proses pencarian elemen tertentu dari suatu Array disebut "Searching"
Pencarian adalah tindakan untuk mengambil informasi berdasarkan kunci tertentu dari beberapa informasi yang disimpan. Kunci digunakan untuk melakukan pencarian rekaman yang diinginkan dari satu set daftar data Kunci harus unik, artinya tidak boleh ada kunci yang sama dalam data. Contoh : Data siswa terdiri dari nama, nim, jenis kelamin, alamat, tempat dan tanggal lahir. NIM digunakan sebagai kunci dari data, karena itu unik. Beberapa jenis algoritma pencarian ada 3 yaitu : 1. Pencarian linear, 2. Pencarian Biner, 3. Pencarian Interpolasi. Pencarian Linear membandingkan setiap elemen dari array dengan kunci pencarian. Karena larik tidak dalam urutan tertentu, kemungkinan besar nilainya akan ditemukan di elemen pertama seperti yang terakhir. Oleh karena itu, rata-rata program harus membandingkan kunci pencarian dengan setengah elemen dari Array. Pencarian Biner Metode pencarian linier berfungsi baik untuk array kecil atau tidak disortir. Namun, untuk pencarian linear array besar tidak efisien Jika susunan diurutkan, teknik pencarian binari berkecepatan tinggi dapat digunakan. Pencarian Interpolasi, Teknik pencarian interpolasi dilakukan pada data yang diurutkan Proses pencarian ini hampir mirip dengan teknik pencarian biner Teknik pencarian dilakukan dengan perkiraan lokasi data Contoh: Jika kita ingin mencari nama di buku telepon, misalnya yang diawali dengan huruf T, maka kita tidak akan mencari dari awal buku, tetapi kita membukanya di 2/3 atau ¾ dari buku Jadi, Jenis sortir ada ascending dan descending, Simple sorting ada 3 (Bubble sort, insertion sort, dan selection sort.), Intermediate sort ada 2 (Quick sort, dan merge sort.) Proses pencarian elemen tertentu dari suatu array disebut searching, searching adalah tindakan untuk mengambil informasi berdasarkan kunci tertentu dari beberapa informasi yang disimpan, beberapa jenis algo searching ada 3 yanti pencarian linear, pencarian biner, serta pencarian interpolasi. NIM: 2201754425 binus.ac.id skyconnectiva.com NICHOLAS JONATHAN ABDIEL.
Comments
Post a Comment