notes49

notes49 - CS251: Data Structures 1/30/2006 - 2/3/2006 Class...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
CS251: Data Structures 1/30/2006 - 2/3/2006 Class Notes Selection Sort and Priority Queues (PQ) With a list, O(n 2 ) is the best we can do to sort a PQ Heaps are a more efficient representation of a PQ Heaps are a special binary tree o A heap stores keys at its internal nodes and satisfies the following properties: Heap Order: for every internal node 'v' other than the root, key(v) ≤ key(parent(v)) Complete binary tree: let h be height. For i = 0. .. h-1, there are 2 i nodes of depth i. At depth h-1, the internal nodes are to the left of the external nodes. The heap must be left-full (Filled from left to right) To reorder the heap on insertion, we use a mehtod called upheap . Inserting into the heap is O(log 2 (n)). Removal is O(log 2 (n)) as well. To reorder the heap on removal, use a downheap by checking the children and swapping with the smallest child. On removal, you grab the last element in the heap and swap it with the one you want to remove. Therefore, an array is the best implementation of a heap. On a zero indexed array: o Left(i) = 2i + 1 o Right(i) = 2i + 2 Heap Sort Heap sort is O(n log(n)) instead of O(n 2 ). Heaps Heaps are an efficient implementation of PQs. A heap is a binary tree that satisfies:
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 5

notes49 - CS251: Data Structures 1/30/2006 - 2/3/2006 Class...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online