The element being searched for is not found in an array of
100 elements. What is the average number of comparisons
needed in a sequential search to determine that the element
is not there, if the elements are completely unordered?

Answer Posted / tek002

The question is asking for the average number of
comparisons, not the particular realization... On average
you need 50 comparisons since the element you are searching
could just as likely be at the end of the array, as in the
beginning of the array. (for a brute force sequential
search)

If you really want to be fancy, you can actually do it with
10 (sqrt(N)) steps. Since a comparison search is an oracle
based search, you can implement the Grover's Algorithm
which is a unsorted database searching algorithm which is
the best known oracle based search for unsorted databases
(in fact is is provably the best oracle based search for
unsorted arrays).

Is This Answer Correct ?    3 Yes 4 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

How does quicksort partition work?

543


What is array simple?

503


How dynamic arrays are created?

481


Which sorting algorithms are in place?

497


How do we search a specific element in an array?

555






How do you rotate an AVL tree?

567


What is the difference between array sort () and array sort t >()?

460


What is modcount in hashmap?

500


What are priority queues?

515


Is bubble sort slow?

525


What actions are performed when a function is called?

573


Explain the types of linked lists.

559


How can we reverse the order in the treemap?

488


Are linked lists considered linear or non-linear data structures?

577


Explain about map and their types?

594