* Checking to see if a given value is present in a set of values
[[InformationThe retrieval]],classic suchsearch asproblems described above and [[web search]] isare inboth someproblems sensein solving[[information aretrieval]], searchbut problemare bygenerally findingstudied whichas documentsseparate outsubfields ofand aare large pool to display,solved and howevaluated to order themdifferently. But[[Category:Internet thesearch problem of how to rank documents of relevance to humanalgorithms|Web search queriesalgorithms]] is sufficiently specialized that this type of problem isare generally studiedfocused separatelyon fromfiltering and solved[[Category:Ranking andfunctions|ranking evaluatedalgorithms]] differentlythat thanfind thedocuments classicmost searchrelevant problemsto abovehuman queries. Classic search algorithms are typically evaluated on how fast they can find a solution, and whether or not that solution is guaranteed to be optimal. Though information retrieval algorithms must be fast, the quality of ranking is more important, as is whether or not good results have been left out and bad results included.
The appropriate search algorithm often depends on the data structure being searched, and may also include prior knowledge about the data. Some database structures are specially constructed to make search algorithms faster or more efficient, such as a [[search tree]], [[hash map]], or a [[database index]]. {{Sfn|Beame|Fich|2002|p=39}}{{Sfn|Knuth|1998|loc=§6.5 ("Retrieval on Secondary Keys")}}