quartz/content/notes/heap.md
2022-04-07 00:54:31 +12:00

796 B
Raw Blame History

title tags
heap
cosc201
datastructure

A tree where:

  1. every elements should be greater than ites children
  2. the structure should be filled from top to bottom and left to right

To remove an element

  • remove from the top, replace with the last element
  • to fix the first condition swap the top element with the highest of its children until fixed

To Add an element

  • add to the next position
  • If its larger than its parent then swap them

How deep is the tree?

  • each layer is twice as deep and the preceding one
  • layer k can hold 2^k elements
  • to store n elements we use k layers where k = lg n
  • so we need ϴ(lg n) layers
  • So any algorithm that 'walk along a branch' in while or in part will have Ο(n) complexity (assuming constant time work at each node)