Shpjegoni pse funksionon ky algoritëm.
def binary_search(lista, target):
  më e ulët = 0
  sipërme = len (lista) - 1
    
  ndërsa poshtë <= sipër:
    mesi = (i poshtëm + i sipërm) // 2 # Divizioni i Katit
    me mend = listë[mesi]
    nëse hamendësoni == objektiv:
      kthehu në mes
    nëse me mend > objektiv:
      sipër = mesi - 1
    tjetër:
      më e ulët = mes + 1
 
  kthye Asnjë
Ky algoritëm funksionon duke përdorur një qasje përçaj dhe sundo. Fillon duke e ndarë listën e dhënë në dy pjesë dhe gjen një pozicion të akorduar duke e përgjysmuar vazhdimisht listën derisa të gjendet elementi i synuar. Kjo qasje është e dobishme sepse zvogëlon në masë të madhe numrin e krahasimeve të nevojshme për të gjetur vlerën e synuar. Nëse elementi nuk gjendet, kufijtë e sipërm dhe të poshtëm për kërkimin bëhen të barabartë, që do të thotë se elementi nuk ekziston në listë. Prandaj, algoritmi është i garantuar të gjejë objektivin (nëse ekziston) ose të kthejë Asnjë nëse nuk ekziston.