Diferente pentru blog/cautare-binara intre reviziile #28 si #29

Nu exista diferente intre titluri.

Diferente intre continut:

*Optimizari premature*
Am vazut tot felul de variante, de exemplu unii testeaza daca a[mid] e egal cu x si scurt circuiteaza cautarea. Aceasta optimizare nu ajuta in cazul general, doar complica codul. Alta varianta e ca poti reduce ceva mai mult problema folosind hi = mid - 1 sau lo = mid + 1. Pentru mie e putin mai greu de verificat invariantul cautarii, avand un pas logic in plus. Pe langa asta cazurile in care ajungem la una din marginile sirului pot deveni mai dificile.
Am vazut tot felul de variante, de exemplu unii testeaza daca a[mid] e egal cu x si scurt circuiteaza cautarea. Aceasta optimizare nu ajuta in cazul general, doar complica codul. Alta varianta e ca poti reduce ceva mai mult problema folosind hi = mid - 1 sau lo = mid + 1. Ai un pas logic in plus la care trebuie sa fi atent. Pe langa asta cazurile in care ajungem la una din marginile sirului pot deveni mai dificile.
*Variante:*
}
==
Mie nu imi place aceasta varianta. Un dezavantaj e ca un programator are nu stie trucul intelege codul de mai sus mai greu. Nu am incercat sa vad cat de flexibila e solutia pentru cazuri in care x nu e in sir sau nu vrem prima aparitie a lui x in sir.
Mie nu imi place aceasta varianta. Un dezavantaj e ca un programator are nu stie trucul intelege codul de mai sus mai greu. Nu am incercat sa vad cat de flexibila e solutia pentru variantele problemei de care vorbeam mai sus.
*Cum sa implementezi o cautare binara corecta:*

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.