Diferente pentru blog/cautare-binara intre reviziile #3 si #4

Nu exista diferente intre titluri.

Diferente intre continut:

Ideea de baza e ca vom folosi invarianti
static public int search(int [] array, int target)
{
    int high = array.length, low = -1, probe;
    while (high - low > 1)
    {
        probe = (low + high) >>> 1;
        if (array[probe] < target)
            low = probe;
== code(c) |
int search(int[] A, int x) {
    int hi = A.length, lo = -1, mid;
    while (hi - lo > 1) {
        mid = (lo + hi) / 2;
        if (A[mid] < x)
            low = mid;
        else
            high = probe;
            hi = mid;
    }
    if (high == array.length || array[high] != target)
    if (hi == A.length || A[hi] != x)
        return -1;
    else
        return high;
        return hi;
}
 
....
===
O data ce ati inteles ideea de mai sus, veti vedea cum puteti schimba invariantul usor pentru a rezolva probleme ca gasirea ultimei aparitii a lui x in sirul sortat, gasirea  predecesorului lui x in sir sau gasirea succesorului.

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.