Преобразовать квадратичное зондирование в линейное зондирование
У меня есть фрагмент кода, показанный ниже, чтобы найти позицию для Quadratic Probing.
private int findPos( AnyType x )
{
int offset = 1;
int currentPos = myhash( x );
while( array[ currentPos ] != null &&
!array[ currentPos ].element.equals( x ) )
{
currentPos += offset; // Compute ith probe
offset += 2;
if( currentPos >= array.length )
currentPos -= array.length;
}
return currentPos;
}
Я хочу преобразовать его в линейное зондирование. И это то, что я хочу сделать:
private int findPos( AnyType x )
{
int currentPos = myhash( x );
while( array[ currentPos ] != null &&
!array[ currentPos ].element.equals( x ) )
{
currentPos += 1; // Compute ith probe
if( currentPos >= array.length )
currentPos -= array.length;
}
return currentPos;
}
Преобразует ли это изменение в линейное зондирование? Я думаю, что это должно, но не на 100% уверенно.