Please enable JavaScript.
Coggle requires JavaScript to display documents.
Heaps and Heapsort - Coggle Diagram
Heaps and Heapsort
Notion of the Heap**
Definition
Um heap pode ser definido como uma binary tree com chaves alocadas para os nós, uma chave por nó, desde que as seguintes condições sejam seguidas.
O formato da árvore: todos os níveis da árvore binária estão lotados, a exceção pode ser feita para a folhas mais a direita.
Dominância parental / heap property: A chave de cada nó é maior ou igual para as chaves de seus filhos (Condição tem que satisfazer em todos os níveis)
Podemos definir também um heap como um array H[1..n] em que todos os elementos na posição i na primeira metade do array são maiores ou iguais para os elementos nas posições 2i e 2i + 1
Propriedades
-
-
-
Um heap pode ser implementado como um array por gravando seus elementos no top-down, left-to-right
É conveniente armazenar os elementos do heap na posição 1 a n de cada um array, deixando o H[0] sem uso ou colocando um sentinela lá o qual seu valor seja maior do que todos os elementos no heap.
A chave de nó parental deverá ser o primeiro [n/2] posições no array, enquanto a chave da folha ocupará as últimas [n/2] posições.
Os filhos de uma chave na posição parental de um array i ( 1 <= i <= n/2) estarão na posição 2i e 2i + 1, e, de modo correspondente, o parente de uma chave na posição i ( 2 <= i <= n) estará na posição ([ i / 2])
-
-
-
-