Algorithm

From CDOT Wiki
Revision as of 19:46, 5 October 2012 by Sskrishnamoo (talk | contribs)
Jump to: navigation, search


GPU610/DPS915 | Student List | Group and Project Index | Student Resources | Glossary

Algorithm

Team Members

  1. sskrishnamoo


Program

A simple program that generates random number is N size of arrays and generate a random search key based on N size of arrays. It uses quickSort to sort the unsorted arrays and uses the binarySearch to see if the search key exists or not.


Profile

These results were taken with an execution of 300000000 size of arrays

Flat profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total          
 time   seconds   seconds    calls  Ts/call  Ts/call  name   
100.00     68.72    68.72                             quickSort(long*, long, long)
  0.00     68.72     0.00        1     0.00     0.00  _GLOBAL__sub_I_A

Code Snippet

void quickSort(long arr[], long left, long right) {
       long i = left, j = right;
       long tmp;
       long pivot = arr[(left + right) / 2];

       while (i <= j) {
             while (arr[i] < pivot)
                   i++;
             while (arr[j] > pivot)
                   j--;
             if (i <= j) {
                   tmp = arr[i];
                   arr[i] = arr[j];
                   arr[j] = tmp;
                   i++;
                   j--;
             }
       };
       if (left < j)
             quickSort(arr, left, j);
       if (i < right)
             quickSort(arr, i, right);
 }


Instructor's Comments