Преобразовать квадратичное зондирование в линейное зондирование

У меня есть фрагмент кода, показанный ниже, чтобы найти позицию для 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% уверенно.

0 ответов

Другие вопросы по тегам