Algoritmo de ordenação shell sort com sequencia de h = (4^k) + 3*( 2^k-1) +1

1 resposta
phpjavaprogramaçãoalgortimo
E

Pessoal estou com duvida se o algoritmo abaixo estar correto;
sequencia de h = (4^k) + 3*( 2^k-1) +1;

private static void shellSort(long[] nums) {

int h = 1;

int n = nums.length;
while(h < n) {
            h = (4^n) * 3 *(2^n-1+ 1);
    }
    
    h = h / 3;
    long c;
	int j;
    
    while (h > 0) {
        for (int i = h; i < n; i++) {
            c = nums[i];
            j = i;
            while (j >= h && nums[j - h] > c) {
                nums[j] = nums[j - h];
                j = j - h;
            }
            nums[j] = c;
        }
        h = h / 2;
    }

1 Resposta

S

Se no seu enunciado o ^ representa uma exponenciação, então está errado pois o operador ^ no Java é uma operação XOR da álgebra de Boole.

Criado 5 de novembro de 2021
Ultima resposta 6 de nov. de 2021
Respostas 1
Participantes 2