Open main menu

WikiJournal of Science/Binary search algorithm/XML

<?xml version="1.0" encoding="UTF-8"?>
<doi_batch version="4.4.0" xmlns="" xmlns:xsi="" xsi:schemaLocation="">
   <email_address><span class="nowrap">Contact[[File:At sign.svg|15px|@|link=]]</span></email_address>
    <full_title>WikiJournal of Science/Binary search algorithm</full_title>
    <issn media_type='electronic'></issn>
    <publication_date media_type='online'>     
   <journal_article publication_type='full_text'>   
     <title>Binary search algorithm</title>
    <person_name sequence='first' contributor_role='author'>
    </person_name><person_name sequence='additional' contributor_role='contributors'>
     <surname>et al.</surname><affiliation>Wikipedia editors of Binary_search_algorithm</affiliation><link></link>
    <publication_date media_type='online'>     
     <resource> of Science/Binary search algorithm</resource>
    <license license-type="open-access">
     <license-p>[[File:Open_Access_logo_PLoS_white.svg|11px|link=Wikipedia:Open Access]] [[|16px|link=Wikipedia:Creative Commons]]
This is an open access article distributed under the&nbsp;[ Creative Commons Attribution ShareAlike License], which permits unrestricted use, distribution, and reproduction, provided the original author and source are credited.</license-p>
In computer science, binary search, also known as half-interval search, logarithmic search, or binary chop, is a search algorithm that finds a position of a target value within a sorted array. Binary search compares the target value to an element in the middle of the array. If they are not equal, the half in which the target cannot lie is eliminated and the search continues on the remaining half, again taking the middle element to compare to the target value, and repeating this until the target value is found. If the search ends with the remaining half being empty, the target is not in the array.Binary search runs in logarithmic time in the worst case, making  comparisons, where  is the number of elements in the array, the  is Big O notation, and  is the logarithm. Binary search is faster than linear search except for small arrays. However, the array must be sorted first to be able to apply binary search. There are specialized data structures designed for fast searching, such as hash tables, that can be searched more efficiently than binary search. However, binary search can be used to solve a wider range of problems, such as finding the next-smallest or next-largest element in the array relative to the target even if it is absent from the array.There are numerous variations of binary search. In particular, fractional cascading speeds up binary searches for the same value in multiple arrays. Fractional cascading efficiently solves a number of search problems in computational geometry and in numerous other fields. Exponential search extends binary search to unbounded lists. The binary search tree and B-tree data structures are based on binary search.
  1. Willams, Jr., Louis F. (22 April 1976). A modification to the half-interval search (binary search) method. Proceedings of the 14th ACM Southeast Conference. ACM. pp. 95–101. doi:10.1145/503561.503582. Retrieved 29 June 2018.
  2. Knuth 1998, §6.2.1 ("Searching an ordered table"), subsection "Binary search".
  3. Butterfield & Ngondi 2016, p. 46.
  4. Cormen et al. 2009, p. 39.
  5. Flores, Ivan; Madpis, George (1 September 1971). "Average binary search length for dense ordered lists". Communications of the ACM 14 (9): 602–603. doi:10.1145/362663.362752. ISSN 0001-0782. Retrieved 29 June 2018.