Materi
Panitia pelatihan memerlukan tiga keluaran dari satu daftar peserta yang sama: daftar urut kedatangan untuk laporan, daftar urut nama untuk meja registrasi, dan ringkasan jumlah peserta per kota untuk penyedia konsumsi. Datanya satu, kuncinya tiga, dan setiap kunci dipilih dari cara daftar itu dibaca orang.
peserta = [{"nama": "Sari", "jam_datang": "07:50", "kota": "Solo"}]Salah satu latihan menambahkan langkah menyisipkan peserta yang mendaftar di tempat ke daftar nama yang sudah urut. Menaruhnya di ujung lalu mengurutkan ulang seluruh daftar memberi hasil yang benar, tetapi titik sisipnya dapat ditemukan langsung dengan pencarian biner, tanpa menyentuh satu pun data lain. Pada daftar berisi ribuan nama, perbedaan biayanya besar dan hasilnya sama persis.