This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.

I had the following question during my test however I don't know how to answer.

"Describe the changes needed if sequential search is used instead of binary search. Which approach is more efficient given that the retrieved Student arrayList is NOT sorted according to their admin number?" (4 marks)

From what I know, I think sequential search is less efficient because the algorithm search the whole list one by one, unlike the binary Search, which split the arrayList into 2 before searching, but I don't know if I'm correct. Anyone can help?

Student arrayList is NOT sorted according to their admin number?

That is the key point.

If you are going to search for a specific admin number by binary search, the array MUST be sorted by admin number, thats the whole idea. If not sorted, how would you know which half to look in next?

Jeanne Boyarsky wrote:Which makes the question:
do you think it is faster to sort the list and then do a binary search vs doing a sequential search with no sort.

I think binary search is more faster. Because the using binary search, the program know where to search from, by splitting the arrayList into half.

Another question: Why is binary search algorithm called binary search? I don't see 1001010101001.

William Brogden
Author and all-around good cowpoke
Rancher

Joined: Mar 22, 2000
Posts: 13018

5

posted

0

Because the list is always split into two parts of course!

You can think of that as deciding one bit of an address if you like.