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