Skip to content

Instantly share code, notes, and snippets.

@kunigami
Created November 15, 2017 18:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kunigami/5612c56998cb09a6cc14dbe49c099e4e to your computer and use it in GitHub Desktop.
Save kunigami/5612c56998cb09a6cc14dbe49c099e4e to your computer and use it in GitHub Desktop.
let deleteMin (heap: heap) =
match heap with
| Empty -> raise Empty_heap
| Heap(_, primaryHeap) ->
if PrimaryHeap.isEmpty primaryHeap then Empty
else
let (Heap (newMinElem, minPrimaryHeap)) =
PrimaryHeap.findMin primaryHeap
in let restPrimaryHeap = PrimaryHeap.deleteMin primaryHeap
in Heap (newMinElem, PrimaryHeap.merge minPrimaryHeap restPrimaryHeap)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment