Consider the following C switch statement: switch (i) { case 15: week = 3; day =
ID: 3766269 • Letter: C
Question
Consider the following C switch statement:
switch (i) {
case 15: week = 3; day = 1; break;
case 16: week = 3; day = 2; break;
case 17: week = 3; day = 3; break;
case 18: week = 3; day = 4; break;
case 19: week = 3; day = 5; break;
case 20: week = 3; day = 6; break;
case 21: week = 3; day = 7; break;
case 22: week = 4; day = 1; break;
case 23: week = 4; day = 2; break;
case 24: week = 4; day = 3; break;
case 25: week = 4; day = 4; break;
case 26: week = 4; day = 5; break;
case 27: week = 4; day = 6; break;
case 28: week = 4; day = 7; break;
case 29: week = 5; day = 1; break;
case 30: week = 5; day = 2; break;
case 31: week = 5; day = 3; break;
}
How many comparisons would be performed, on average, if linear search were used to implement this switch statement? (Assume that i always matches one of the case values listed and that each value is equally likely.) A “comparison” involves testing whether the value of i matches one of the case values.
Explanation / Answer
Total number of comparisons = 1+2+3+.....+17 = 153
Avg comparisons = Total Compariosn / Total Elements = 153 / 17 = 9
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.