<prompt> Kwa mfano, unaweza kuandika programu ya Java ambayo inachukua safu iliyopangwa na thamani ya lengo kama pembejeo na kufanya utafutaji wa binary kwa kutumia recursion. Programu inapaswa kurudisha index ya thamani ya lengo ikiwa iko katika safu na -1 ikiwa haipo. Utekelezaji unapaswa kujumuisha kazi ya recursive ambayo hupunguza nafasi ya utafutaji kwa kila iteration hadi thamani ya lengo inapopatikana au kuamua kuwa haipo. Programu inapaswa kushughulikia kesi za makali kama vile safu tupu na inapaswa kuwa na utata wa wakati wa kukimbia wa O log n.  <response>: Utaratibu wa Utafiti wa Binary: Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary Utafiti wa Binary 