Saat melakukan kata kode kedua (yang meminta Anda untuk menerapkan algoritma pencarian biner lima kali, setiap kali dengan metode yang berbeda), saya telah menghasilkan solusi yang sedikit berbeda yang berfungsi sebagai berikut:
Jika saya memiliki array yang disortir dengan panjang 100 dan saya melihat bidang awalnya berisi angka 200 dan bidang akhirnya berisi angka 400, saya, sebagai matematika yang mempelajari manusia, kemungkinan akan mulai mencari di sekitar bidang 35 jika saya mencari di angka 270, dan bukan bidang 50 seperti dalam algoritma pencarian biner normal.
Kemudian, jika angka pada bidang 35 array adalah 270, 35 adalah indeks yang saya cari.
Jika bukan itu masalahnya saya dapat membandingkan angka yang saya dapatkan (katakanlah 280) dan ulangi operasi dengan mengambil bagian bawah array (jadi saya memiliki 35 bidang dengan bidang awal berisi 200 dan bidang akhir berisi 280) jika nomor yang saya temukan lebih besar dari apa yang saya cari, atau bagian atas array (katakan saya mendapat 260: sekarang saya memiliki 65 indeks, yang pertama berisi 260 dan yang terakhir berisi 400). Orientatif, saya akan menuju ke atas indeks 4 dari sub array ini, yang merupakan indeks 39 dari seluruh array) jika angka yang saya dapatkan lebih kecil dari angka yang saya cari.
Pertanyaannya adalah: dapatkah algoritma ini dianggap sebagai algoritma pencarian biner? Jika tidak, apakah sudah mendapat namanya sendiri?