master > master: code - designfehler mit index == -1
korrigiert
This commit is contained in:
parent
3f3ccf1059
commit
8ddb4fa427
@ -58,4 +58,6 @@ def BinarySearch(L: List[int], x: int) -> int:
|
||||
else: # x > L[m]
|
||||
logDebug('Suche in L[m+1], L[m+2], ..., L[len(L)-1] fortsetzen, m = {}.'.format(m));
|
||||
index = BinarySearch(L=L[m+1:], x=x);
|
||||
return (m + 1) + index; # NOTE: muss Indexwert kompensieren
|
||||
if index >= 0:
|
||||
index += (m + 1); # NOTE: muss Indexwert kompensieren
|
||||
return index;
|
||||
|
@ -56,7 +56,9 @@ def JumpSearchLinear(L: List[int], x: int, m: int) -> int:
|
||||
if x < elementAfterBlock:
|
||||
logDebug('Element muss sich im Block [{i0}, {i1}) befinden.'.format(i0 = i*m, i1 = (i+1)*m));
|
||||
index = SequentialSearch(L=block, x=x);
|
||||
return offset + index; # NOTE: muss wegen Offset kompensieren
|
||||
if index >= 0:
|
||||
index += offset; # NOTE: muss wegen Offset kompensieren
|
||||
return index;
|
||||
logDebug('Element befindet sich nicht im im Block [{i0}, {i1}) befinden.'.format(i0 = i*m, i1 = (i+1)*m));
|
||||
i += 1;
|
||||
return -1;
|
||||
@ -85,7 +87,9 @@ def JumpSearchExponentiell(L: List[int], x: int) -> int:
|
||||
if x < elementAfterBlock:
|
||||
logDebug('Element muss sich im Block [{i0}, {i1}) befinden.'.format(i0 = i0, i1 = i1));
|
||||
index = SequentialSearch(L=block, x=x);
|
||||
return i0 + index; # NOTE: muss wegen Offset kompensieren
|
||||
if index >= 0:
|
||||
index += i0; # NOTE: muss wegen Offset kompensieren
|
||||
return index;
|
||||
logDebug('Element befindet sich nicht im Block [{i0}, {i1}) befinden.'.format(i0 = i0, i1 = i1));
|
||||
i0 = i1;
|
||||
i1 *= 2;
|
||||
|
Loading…
x
Reference in New Issue
Block a user