Encyclopedia > Search algorithm

  Article Content

Search algorithm

Search algorithms are algorithms that find one element of a set by some key (perhaps containing other information related to the key). As this is a common problem in computer science, the computational complexity of searching algorithms has been well studied.

The simplest search algorithm is linear search. It has O(n) running time, but can operate on a list containing the elements of the set.

A more sophisticated search algorithm is binary search. It runs in O(log(n)). This is significantly better than linear search for large lists of data, but it requires that the list be sorted before searching (see sort algorithm) and also be random access.

Interpolation search is better than binary search for large sorted lists. However, the underlying data structure must allow such kind of searching.

There is a family of tree search algorithms that compare ordered keys with one another to see if they are greater or less; the simplest one uses a binary search tree; and there is a family of tree data structures known as tries that don't require a key compare until the end of the search.

Hash tables are also used for search; they are the method of choice in most circumstances today.

There are also string search algorithms, which are related but different.

Grover's algorithm is a quantum algorithm that offers quadratic speedup over the classical linear search for unsorted lists.



All Wikipedia text is available under the terms of the GNU Free Documentation License

 
  Search Encyclopedia

Search over one million articles, find something about almost anything!
 
 
  
  Featured Article
Dynabee

... externally applied force will cause one end of the axis to push against the upper rim of the groove, while the other end of the axis pushes against the lower rim of the ...

 
 
 
This page was created in 30.4 ms