notes60 - 3/27/06 - 3/31/06 Class Notes QUICKSORT Popular...

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

View Full Document Right Arrow Icon

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

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

Unformatted text preview: 3/27/06 - 3/31/06 Class Notes QUICKSORT Popular sorting algorithm that uses "Divide and Conquer" method It can be implemented "in place" so no external memory is needed Algorithm of QuickSort(s) o Input: unsorted array(s) o Output: sorted array(s) Step-by-Step Process o 1) Divide If there is only one element in s, simply return. Otherwise: Choose element x in s, which we will refer to as the pivot Divide s into three parts: L, E, G; L refers to the elements that are less than x, G refers to the elements that are greater than x, and E refers to the elements that are equal to x S / | \ L E G o 2) Recur QuickSort(L); QuickSort(G); o 3) Conquer Put elements back into S from L, E, and G, respectively In Place QuickSort o We use the same array s for storage of L, E, and G at each step o We use the subranges to represent the set o The last element in the subrange is used as the pivot o In order to separate s into L, E, and G, we will have "left" and "right" indexes that point to the front and back of s o 85 24 63 45 17 31 96 50 o L--> <--R x o (find element > 50) (find element < 50> o When found, simply swap them o Continue until L & R meet, then swap x with R and this will contain L, E, and G o 85 24 63 45 17 31 96 50 o L--> <--R...
View Full Document

This note was uploaded on 02/02/2012 for the course CS 251 taught by Professor Staff during the Fall '08 term at Purdue University-West Lafayette.

Page1 / 4

notes60 - 3/27/06 - 3/31/06 Class Notes QUICKSORT Popular...

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