Академический Документы
Профессиональный Документы
Культура Документы
Jawaban Pertemuan 12
1.
BINA NUSANTARA
: 1 0
Terdapat sejumlah record yang sangat banyak dan tidak muat bila seluruhnya ditampung dalam RAM. Dari data tersebut ingin didapatkan 100 record dengan nilai kunci terbesar. Algoritma sorting apa yang paling sesuai untuk menyelesaikan masalah ini? Jelaskan.
Jawab: Quick sort, karena quick sort merupakan algoritma sorting dengan membagi menjadi dua subbagian, kanan dan kiri. Apabila data disebelah kiri sudah mencapai 100, maka hanya membandingkan dari 100 data di bagian kiri saja tanpa harus membuat quick sort bagian kanan.
3.
Dari sejumlah record yang banyak (RAM cukup untuk menampung seluruh record tersebut) hanya diperlukan 100 record dengan nilai kunci terbesar. Algoritma sorting apa yang paling sesuai untuk menyelesaikan masalah ini? Jelaskan.
Jawab: Selection sort secara descending dari posisi data awal, karena selection sort merupakan algoritma sorting dengan memilih elemen terbesar ataupun terkecil. Karena yang ingin dicari adalah 100 record dengan nilai kunci terbesar, maka pemilihan elemen terbesar dilakukan pada proses pengurutan data secara descending dari posisi data paling awal atau sama saja dengan ascending dari posisi data paling akhir.
4.
Sejumlah data telah terurut dari nilai kunci terkecil ke nilai kunci terbesar. Ada satu data baru akan ditambahkan ke dalam data ini. Algoritma sorting apa yang paling efisien digunakan untuk hal ini (jelaskan) apabila a. seluruh data dapat dimuat ke dalam RAM. Jawab: Insertion Sort. Karena, apabila data sudah terurut, maka hanya memerlukan O(n): dalam setiap iterasi, elemen pertama list hanya dibandingkan dengan elemen terakhir dari list. b. RAM tidak cukup menampung seluruh data tersebut. Jawab: Quick sort, karena quick sort merupakan algoritma sorting dengan membagi menjadi dua subbagian, kanan dan kiri. Apabila data disebelah kiri sudah mencapai 100, maka hanya membandingkan dari 100 data di bagian kiri saja tanpa harus membuat quick sort bagian kanan.
5. Buatlah program untuk menginputkan sejumlah bilangan bulat misalnya N kemudian menampilkan bilangan yang sudah diinputkan tersebut dalam keadaan terurut secara ascending. Algoritma yang digunakan adalah Quick sort.
#include <iostream.h> inline void input(float *arr, int n) { for (int i=0; i<=n; i++) { cout<<"Masukkan bilangan ke-"<<i+1<<" : "; cin>>arr[i]; } } inline void tampil(float *arr,int n) {
BINA NUSANTARA
: 1 0
BINA NUSANTARA
: 1 0
BINA NUSANTARA
: 1 0