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.
Teste seus conhecimentos