У меня проблема с различием между квадратичными и линейными алгоритмами зондирования. Когда я читаю концептуальные объяснения, я вижу, что I^2 неоднократно добавляется к последнему испробованному индексу. Как обстоит дело здесь? Во что это изменит линейное зондирование? Из того, что я читаю, приведенный ниже метод реализует квадратичное зондирование.
private int findPosQuadratic( 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;
}