//###################################################################### // Determine the average case performance of linear search. Generate // SIZE+1 random numbers in array a[0..SIZE]. Randomly pick one of the // SIZE+1 numbers and use linear-search to look for the number in the // a[0..size-1]. This is repeated RUNS times, and the average times of // comparison performed by linear-search is calculated. // The expected value is: // 1/(SIZE+1) (1+2+3+...+SIZE + SIZE) //###################################################################### #include #include #define SIZE 10 #define RUNS 10000 #define RANGE 10000 int linear_search(int val, int arr[], int size) { int i; for(i = 0; i < size; ++i) if(arr[i] == val) return i; return -1; } int main() { int a[SIZE+1], i, j, waldo, total, result; total = 0; for(i=0; i