//COMPUTER SCIENCE 161.01 //MONDAY APRIL 8TH //BINARY SEARCH //THE PROGRAM BELOW PERFORMS THE BINARY SEARCH ALGORITHM //IT IS MUCH MORE EFFICIENT THAN SEQUENTIAL SEARCH //BUT IT REQUIRES THAT THE lastNames ARRAY BE IN ALPHABETICAL ORDER //HERE, N is 15. firstNames = new Array("Devin", "Paul", "Derek", "Kyle", "Hunter", "Elijah", "Loren", "Brian", "Tanner", "Tyler", "Cody", "Tyler", "Charles", "Alex", "Aaron"); lastNames = new Array("Baker", "Boydoh", "Fimian", "Fraser", "Guttendorf", "Hawkins", "Hubbard", "Hulsizer", "Iglio", "Johnson", "Joyner", "Lange", "MacSherry", "Smith", "Van Allen"); N = lastNames.length; desired = prompt("Enter last name of desired person: "); first = 0; last = N-1; found = false; count = 0; //to count loop iterations while (first <= last && found == false) { mid = (first + last)/2; alert("first = " + first + " last = " + last + " mid = " + mid); if (desired > lastNames[mid]) first = mid + 1; else if (desired < lastNames[mid]) last = mid - 1; else found = true; count++; } if (found == true) alert("Happy Monday to " + firstNames[mid]); else { alert("first = " + first + " last = " + last); alert("Could not find " + desired); } //REPORT AT BOTTOM… count + " comparisons"