# Serial and binary search program in c with explanation

Computers are now very powerful and so checking potentially every element in the list for a match may not be an issue with lists of moderate length. The list does not need to be in any order. Other algorithms only work because they assume that the list is ordered in a certain way. Serial searching makes no assumption at all about the list so it will work just as well with a randomly arranged list as an ordered list. Not affected by insertions and deletions.

Some algorithms assume the list is ordered in a certain way. So if an item is inserted or deleted, the computer will need to re-order the list before that algorithm can be applied. The overhead of doing this may actually mean that serial searching performs better than other methods. May be too slow over large lists.

Computers take a finite amount of time to search each item, So naturally, the longer the list, the longer it will take to search using the serial method. The worst case being no match found and every item had to be checked.

Challenge see if you can find out one extra fact on this topic that we haven't already told you. Click on this link: Revision resources include exam question practice and coursework guides. Topics include network systems, database, data communications, legal issues such as the Data Protection Act, measurement and control, the OSI model along with the ethics and social effects of ICT at work and home..

It eliminates half the data at each iteration. If we have elements to search, binary search takes about 10 steps, linear search steps. Binary Search finds the middle element of the array. Checks that middle value is greater or lower than the search value. If it is smaller, it gets the left side of the array and finds the middle element of that part.

If it is greater, gets the right part of the array. It loops the operation until it finds the searched value. Or if there is no value in the array finishes the search. Also you can see visualized information about Linear and Binary Search here: Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site the association bonus does not count.

Would you like to answer one of these unanswered questions instead? Email Sign Up or sign in with Google. What is the difference between Linear search and Binary search? Bill the Lizard k Please read the appropriate sections in your course material which, has hopefully, been selected and prepared by your instructor s. Failing that, a general wikipedia, c2 or google search can answer may of these sort of questions.

A linear search would ask: The binary search would ask: Binary search requires the input data to be sorted; linear search doesn't Binary search requires an ordering comparison; linear search only requires equality comparisons Binary search has complexity O log n ; linear search has complexity O n as discussed earlier Binary search requires random access to the data; linear search only requires sequential access this can be very important - it means a linear search can stream data of arbitrary size.

Jon Skeet k A better analogy would be the "guess my number between 1 and game" with responses of "you got it", "too high", or "too low". The dictionary analogy seems fine to me, though it's a better match for interpolation search. Dictionary analogy is better for me Apr 4 '14 at With dictionary approach, the take away is sorting. So the importantly you must make sure the data is sorted before the binary search is started. If not you will be jumping all over the oceans without finding the value: If you do not mark the already tried ones, this can become worse.

So always do the sorting. Some Java based binary search implementation is found here digizol. Yes, the requirement that the input data is sorted is my first bullet point Mia Clarke 6, 3 41 I would like to add one difference- For linear search values need not to be sorted. But for binary search the values must be in sorted order. Pick a random name "Lastname, Firstname" and look it up in your phonebook.

Time both methods and report back! Prabu - Incorrect - Best case would be 1, worst , with an average of May 4 '09 at Linear Search looks through items until it finds the searched value. O n Example Python Code: O logn Example Python Code: