File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes what is a binary heap? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "what is a binary heap?" Watch "what is a binary heap?" New topic

what is a binary heap?

Frederik Vig

Joined: May 22, 2005
Posts: 1
hey, can someone tell what a binary heap is? I've surched through a bunch of textbooks without finding a clear answer.
[ May 31, 2005: Message edited by: Frederik Vig ]
Svend Rost
Ranch Hand

Joined: Oct 23, 2002
Posts: 904

A binary heap is a complete binary tree.

Let me elaborate:

- It's a heap, so every node n (other than the root), is greater than it's
- It's a complete binary tree, that is it's a tree T, where all the levels
in the tree have the maximum number of nodes possible.


Feel free to reply back, if you need further explaination.

/Svend Rost
Adam Vinueza
Ranch Hand

Joined: Apr 16, 2001
Posts: 76
Another way of talking about a binary heap is as a binary tree which has the property of being heap-ordered and left-to-right filled. A tree is heap-ordered if, given an ordering operator, the parent node is no later in the ordering than its children. Being left-to-right filled means that if there is a space available on a level, nodes are added left-to-right.

The space property of binary heaps makes them complete binary trees, except possibly for the lowest level. It is the heap property that makes them heaps.

Any decent data structures text should have basic information on binary heaps. They're usually just called heaps in your more basic texts, and are often discussed in the context of sorting, because binary heaps provide an efficient means for sorting items. A very good and comprehensive discussion is in the chapter on Heapsort in the big Intro to Algorithms book by Cormen et al.
[ May 31, 2005: Message edited by: Adam Vinueza ]
I agree. Here's the link:
subject: what is a binary heap?
It's not a secret anymore!