<prompt> Tengeneza suluhu kwa tatizo lifuatalo linalohusisha utafutaji wa binary  <response>: Mojawapo ya njia bora za kutafuta kipengele x katika safu ni kutumia utafutaji wa binary. Inafanya kazi kwa kugawanya mara kwa mara muda wa utafutaji katika nusu. Ni muhimu kutambua kwamba utafutaji wa binary unahitaji safu ili kupangwa. Hivi ndivyo jinsi ya kuitekeleza: 1. Hebu tufafanue viashiria viwili kushoto na kulia, mwanzoni tukielekeza kwenye kipengele cha kwanza na cha mwisho cha safu, mtawalia. 2. Kokotoa faharasa ya kati kwa kuongeza kushoto na kulia, kisha ugawanye na 2. 3. Ikiwa thamani ya safu kwenye faharasa ya kati ni sawa na thamani x, rudisha faharasa ya kati jinsi kipengele kilipatikana. 4. Ikiwa thamani ya safu katika faharasa ya kati ni chini ya x, tupa nusu ya kushoto ya safu kwa kuleta kielekezi cha kushoto hadi katikati1. 5. Vinginevyo, ikiwa thamani ya safu katika faharasa ya kati ni kubwa kuliko x, tupa nusu ya kulia ya safu kwa kuleta kielekezi cha kulia hadi katikati-1. 6. Rudia mchakato huu hadi kipengele kipatikane au hadi kielekezi cha kushoto kivuke kielekezi cha kulia, ambayo ina maana kwamba kipengele hakikupatikana. Hapa kuna sampuli ya nambari inayotumia utaftaji wa binary katika Python: python def binary_searchsafu, x: kushoto, kulia 0, lensafu -1 wakati kushoto kulia: katikati kushoto kulia 2 ikiwa safukatikati x: rudisha safu ya elif ya katikatikati x: kushoto katikati 1 kingine: kulia katikati - 1 kurudi -1 kipengele hakijapatikana Utafutaji binary una utata wa wakati wa O logi n, na kuifanya kuwa njia bora sana ya kutafuta kipengee katika safu iliyopangwa. 