Heap

Um heap é uma estrutura de dados formada por "nós" que contêm valores. Um heap típico tem um nó raiz no topo, que pode ter dois ou mais nós filhos diretamente abaixo dele. Cada nó pode ter dois ou mais nós filhos, o que faz o heap ficar mais largo a cada nó filho. Quando exibido visualmente, um heap se parece com uma árvore de cabeça para baixo, e o formato geral é semelhante a um monte.

Embora cada nó em um heap possa ter dois ou mais nós filhos (também chamados de "filhos"), a maioria dos heaps limita cada nó a dois filhos. Esses tipos de heap também são chamados de heaps binários e podem ser usados para armazenar dados ordenados. Por exemplo, um "heap binário máximo" armazena o maior valor no nó raiz. O segundo e o terceiro maiores valores são armazenados nos nós filhos da raiz. Em toda a árvore, cada nó tem um valor maior que o de qualquer um de seus nós filhos. Um "heap binário mínimo" é o oposto: o nó raiz armazena o menor valor, e cada nó tem um valor menor que o de seus filhos.

Na ciência da computação, os heaps geralmente são desenhados como diagramas simples. No entanto, armazenar dados de fato em um heap é mais complexo. Para criar um heap, os programadores precisam escrever algoritmos individuais para inserir e excluir dados. Os valores inseridos em um heap geralmente são armazenados em uma matriz, que pode ser referenciada por um programa. Como os dados em um heap já estão ordenados, ele oferece uma maneira eficiente de pesquisar valores específicos.

NOTE: "O heap" também é um termo de programação que pode ser usado para descrever memória alocada dinamicamente. Esse bloco de memória pode ser acessado por aplicativos ativos. Como a memória no heap é alocada dinamicamente, ele pode aumentar ou diminuir dependendo de quanta memória está sendo usada.

Atualizado August 2, 2012 por Per C.

quizTeste seus conhecimentos

Which of the following color models is subtractive?

A
HSB
0%
B
RGB
0%
C
CMYK
0%
D
HCL
0%
Correct! Incorrect!     View the CMYK definition.
More Quizzes →

O dicionário de informática Tech Terms

A definição de Heap nesta página é uma definição original escrita pelos autores do TechTerms.com. Se você quiser fazer referência a esta página ou citar esta definição, use a barra de citação verde logo abaixo da definição.

Nosso objetivo é explicar a terminologia de informática de um jeito fácil de entender. Buscamos precisão e clareza em cada definição que publicamos. Se você tiver comentários sobre esta definição ou quiser sugerir um novo termo técnico, entre em contato.

A newsletter do Tech Terms

Amplie seus conhecimentos técnicos com nossa newsletter diária ou semanal! Assine hoje e receba novos termos e quizzes na sua caixa de entrada.

Assine a newsletter gratuita do TechTerms

Com que frequência você gostaria de receber um e-mail?

Você pode cancelar a assinatura ou alterar a frequência a qualquer momento usando os links disponíveis em cada e-mail. Dúvidas? Entre em contato.

Observação: a newsletter é enviada em inglês.