Pagini recente » Diferente pentru blog/cautare-binara intre reviziile 52 si 53 | Pattern | Pavare | Diferente pentru limeeval intre reviziile 30 si 29 | Diferente pentru blog/cautare-binara intre reviziile 46 si 47
Nu exista diferente intre titluri.
Diferente intre continut:
* siruri in care x apare in apropiere de inceput sau final
*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. Ai un pas logic in plus la care trebuie sa fi atent. Cazurile la una din marginile sirului pot deveni mai dificile. Sau putem avea probleme de genul hi devine mai mic decat lo.
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 sa reduci mai mult problema folosind hi = mid - 1 sau lo = mid + 1. Optimizarea e mica si adauga un pas logic in plus la care trebuie sa fi atent. Cazurile la una din marginile sirului pot deveni mai dificile sau putem avea probleme de genul hi devine mai mic decat lo.
Multe implementari sunt "blindate" ca să evite bug-urile de mai sus. Problema e că lumea le blindează cu cod duplicat si error prone, repetand conditii.
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.