Saturday, August 1, 2009

Data structure interview questions Part 6

Data structure interview question|:Sort the given values using Quick Sort?
           
65
70
75
80
85
60
55
50
45

          Sorting takes place from the pivot value, which is the first value of the given elements, this is marked bold. The values at the left pointer and right pointer are indicated using  and  respectively. 


65
70L
75
80
85
60
55
50
45R


Since pivot is not yet changed the same process is continued after interchanging the values at and  positions.


65
45
75 L
80
85
60
55
50 R
70
                 
65
45
50
80 L
85
60
55 R
75
70
65
45
50
55
85 L
60 R
80
75
70
65
45
50
55
60 R
85 L
80
75
70
When the L and R pointers cross each other the pivot value is interchanged with the value at right pointer. If the pivot is changed it means that the pivot has occupied its original position in the sorted order (shown in bold italics) and hence two different arrays are formed, one from start of the original array to the pivot position-1 and the other from pivot position+1 to end.


60 L
45
50
55 R
65
85 L
80
75
70 R


55 L
45
50 R
60
65
70 R
80 L
75
85
50 L
45 R
55
60
65
70
80 L
75 R
85


In the next pass we get the sorted form of the array.
45
50
55
60
65
70
75
80
85





No comments:

Post a Comment