Algoritma sebelumnya:
“Semua bisa sorting…”
Urutkan angka berikut di otakmu:
Kasus A:
Kasus B:
Mana yang lebih cepat?
Mana lebih mahal?
| Algoritma | Kuat | Lemah |
|---|---|---|
| Bubble | Mudah | Lambat |
| Selection | Swap sedikit | Tetap lambat |
| Insertion | Adaptif | Buruk di acak besar |
n = 10 → OK
n = 1.000.000 → ?
| Kelebihan | Kekurangan |
|---|---|
| Cepat untuk data besar | Butuh memori tambahan |
| Algoritma | Tipe |
|---|---|
| Bubble/Selection/Insertion | Sederhana (O(N²)) |
| Shell | Optimasi Insertion |
| Merge | Divide & Conquer (Stabil) |
| Quick | Divide & Conquer (Cepat) |
Data kecil (n < 20)
Data sudah 90% terurut
Data 1 Juta elemen
Implementasikan:
Coba dengan:
Gunakan library <chrono> di C++:
auto s = chrono::high_resolution_clock::now();
// sorting...
auto e = chrono::high_resolution_clock::now();
cout << chrono::duration<double, milli>(e-s).count();
sort()
Pilihan kalian?
Kenapa?