DOC PREVIEW
MIT 6 006 - Lecture 9- Sorting II- Heaps

This preview shows page 1-2 out of 7 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

MIT OpenCourseWare http://ocw.mit.edu6.006 Introduction to AlgorithmsSpring 2008For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.Lecture 9 Sorting II: Heaps 6.006 Spring 2008 Lecture 9: Sorting II: Heaps Lecture Overview • Review: Heaps and MAX HEAPIFY • Building a Heap • Heap Sort • Priority Queues (Recitation) Readings CLRS 6.1-6.4 Review Heaps: Parent(i) = �i/2� Left(i) = 2i Right(i) = 2i + 1 Max heap property: A[Parent(i)] ≥ A[i] • MAX HEAPIFY(A, 2) heap size(A) = 10 A[2] A[4] ←→ • MAX HEAPIFY(A,4) A[4] A[9] ←→ 1Lecture 9 Sorting II: Heaps 6.006 Spring 2008 Violation 16109341471821234567109816 414 793 281101 2345 6 7 8 9 10etcO(lg n) timeFigure 1: Review from last lecture Building a Heap A[1 n] converted to a max heap Observation: Elements A[�n/2 + 1� · · · n] are all leaves · · · of the tree and can’t have children. BUILD MAX HEAP(A): heap size(A) = length(A) O(n) times for i ← � length[A]/2� downto 1 O(lg n) time do MAX HEAPIFY(A, i) O(n lg n) overall See Figure 2 for an example. 2Lecture 9 Sorting II: Heaps 6.006 Spring 2008 MAX-HEAPIFY (A,5)no changeMAX-HEAPIFY (A,4)Swap A[4] and A[8]161093414718212345671098 4 1 2 16910 1487 3AMAX-HEAPIFY (A,3)Swap A[3] and A[7]161093414718212345671098MAX-HEAPIFY (A,2)Swap A[2] and A[5]Swap A[5] and A[10]161093414718212345671098MAX-HEAPIFY (A,1)Swap A[1] with A[2]Swap A[2] with A[4]Swap A[4] with A[9]161093414718212345671098Figure 2: Example: Building Heaps 3Lecture 9 Sorting II: Heaps 6.006 Spring 2008 Sorting Strategy • Build max heap from unordered array • Find maximum element (A[1]) • Put it in correct position A[n], A[n] goes to A[1] New root could violate max heap property but children remain max heaps. • Discard node n from heap (decrement heapsize) Heap Sort Algorithm O(n lg n) BUILD MAX HEAP(A): n times for i =length[A] downto 2 do exchange A[1] A[i]←→ heap size[A] = heap size[A] − 1 O(lg n) MAX HEAPIFY(A, 1) O(n lg n) overall See Figure 3 for an illustration. 4Lecture 9 Sorting II: Heaps 6.006 Spring 2008 161093414718212345671098109341471821234567989310 4718212345678161093414718212345671098109341471821234567893247181234567161091416109108not part of heapheap_size = 9MAX_HEAPIFY (A,1)Note: cannot run MAX_HEAPIFY with heapsize of 10MAX_HEAPIFY (A,1)MAX_HEAPIFY (A,1)and so on . . .not part of heapnot part of heapFigure 3: Illustration: Heap Sort Algorithm 5Lecture 9 Sorting II: Heaps 6.006 Spring 2008 Priority Queues This is an abstract datatype as it can be implemented in different ways. INSERT(S, X) : inserts X into set S MAXIMUM(S): returns element of S with largest key EXTRACT MAX(S): removes and returns element with largest key INCREASE KEY(S, x, k): increases the value of element x’s key to new value k (assumed to be as large as current value)


View Full Document

MIT 6 006 - Lecture 9- Sorting II- Heaps

Documents in this Course
Quiz 1

Quiz 1

7 pages

Quiz 2

Quiz 2

12 pages

Quiz 2

Quiz 2

9 pages

Quiz 1

Quiz 1

10 pages

Quiz 2

Quiz 2

11 pages

Quiz 1

Quiz 1

12 pages

Graphs

Graphs

27 pages

Load more
Download Lecture 9- Sorting II- Heaps
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 9- Sorting II- Heaps and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 9- Sorting II- Heaps 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?