ForHosting KIT · Ferramentas para dev

Calculadora de índices dos filhos de heap binário

Um heap binário armazena uma árvore em um array plano, por isso navegar a partir de um nó pai exige um cálculo de índices pequeno, mas importante.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Esta calculadora retorna as posições exatas dos filhos esquerdo e direito do nó informado. Você pode selecionar a indexação iniciada em zero, comum nas linguagens de programação, ou iniciada em um, frequente em livros e pseudocódigo. O resultado é determinístico, imediato e validado para impedir raízes inválidas ou operações além do intervalo de inteiros seguros do JavaScript.

Escolha o esquema de indexação antes de aplicar a fórmula

Heaps binários mantêm a mesma estrutura de árvore independentemente da numeração do array, mas as fórmulas dos filhos dependem do ponto inicial. Na indexação iniciada em zero, a raiz ocupa o índice 0. Assim, o filho esquerdo de um nó no índice i fica em 2i + 1, enquanto o direito fica em 2i + 2. Na indexação iniciada em um, a raiz ocupa o índice 1, e as fórmulas passam a ser 2i para o filho esquerdo e 2i + 1 para o direito. Selecione o esquema utilizado pelo array ou algoritmo que você está analisando; trocar o esquema sem alterar o índice do nó indica outra posição física. A calculadora repete o esquema escolhido e o índice original ao lado dos dois resultados, deixando a interpretação explícita. Isso é especialmente útil ao comparar código-fonte com um livro, pois muitas linguagens adotam arrays iniciados em zero, enquanto explicações didáticas podem reservar a posição 0 e iniciar o heap na posição 1. Confirmar primeiro a convenção evita um resultado deslocado em uma unidade que ainda poderia parecer plausível.

Informe um índice válido e consulte as duas posições filhas

Forneça a posição inteira do nó pai e selecione o esquema de indexação do array. Em um heap iniciado em zero, o índice do nó pode ser 0 ou qualquer inteiro seguro maior. Em um heap iniciado em um, ele deve ser pelo menos 1, pois o índice 0 não pertence a essa convenção. A resposta fornece left_child_index e right_child_index como inteiros que você pode usar diretamente para inspecionar um array, criar uma travessia ou verificar uma implementação. Esses valores são posições estruturais, não uma garantia de que existam elementos nelas. Um heap com menos elementos pode não ter nenhum dos filhos ou pode conter apenas o filho esquerdo no final do array. Compare cada índice retornado com o tamanho do array antes de acessá-lo no código. Na indexação iniciada em zero, um filho só existe quando seu índice é menor que o tamanho do array. Na indexação iniciada em um, o limite correto depende de a posição 0 estar fisicamente reservada; faça a comparação de acordo com a representação do seu programa. Essa separação mantém o cálculo preciso sem presumir o tamanho do heap.

Use o resultado para testar e depurar operações de heap

Os índices dos filhos são fundamentais para descida, construção de heap, remoção em fila de prioridade e visualização de árvore. Durante a descida, uma implementação calcula ambas as posições, verifica quais filhos estão presentes, compara as prioridades armazenadas e troca o pai pelo filho adequado quando a propriedade do heap é violada. Uma convenção incorreta pode ignorar o verdadeiro filho esquerdo, ler além do array ou comparar elementos sem relação, mesmo quando o código parece matematicamente coerente. Esta calculadora oferece uma verificação independente e rápida para exemplos, testes unitários, exercícios técnicos e revisões de código. Teste a raiz, um nó interno e um nó próximo ao fim do heap para abranger os casos mais reveladores. O cálculo aceita somente inteiros seguros e rejeita resultados além do intervalo inteiro exato, evitando índices silenciosamente arredondados em entradas excessivamente grandes. Não há solicitações de rede nem valores aleatórios ou dependentes do horário. O cálculo no navegador e o manipulador da API compartilham a mesma função pura; portanto, uma entrada idêntica produz a mesma saída nos dois ambientes por US$ 0,002 em cada solicitação de API.

Depurar uma implementação de descida

Verifique se uma fila de prioridade examina as duas posições corretas do array depois de remover a raiz.

Converter fórmulas de livros em código

Compare pseudocódigo iniciado em um com uma linguagem iniciada em zero sem introduzir um erro de uma posição.

Criar casos de teste para heap

Gere posições esperadas dos filhos para raízes, nós internos e casos de limite em testes determinísticos.

Quais fórmulas são usadas na indexação iniciada em zero?

Para um nó no índice i, o filho esquerdo fica em 2i + 1 e o direito, em 2i + 2.

Quais fórmulas são usadas na indexação iniciada em um?

Para um nó no índice i, o filho esquerdo fica em 2i e o direito, em 2i + 1.

Um índice retornado garante que o filho existe?

Não. O resultado fornece posições estruturais. Compare cada posição com os limites reais do array antes de ler um elemento.

Por que o índice zero é inválido no modo iniciado em um?

Um heap iniciado em um coloca a raiz na posição 1, portanto a posição 0 não representa um nó nesse esquema.

Quanto custa o cálculo pela API?

Cada solicitação de API custa US$ 0,002. Você também pode executar o mesmo cálculo determinístico no navegador.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/dev/heap-children-index

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/dev/heap-children-index \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"node_index":5}'
{
  "node_index": 5
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.heap_children_index",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →