UNPKG

@figliolia/data-structures

Version:

Efficient data structures for every day programming

26 lines (25 loc) 689 B
/** * Binary Search * * A log(N) search for sorted lists * * ```typescript * import { binarySearch } from "@figliolia/data-structures"; * * binarySearch([1, 2, 3, 4], 3) // true * binarySearch([1, 2, 3, 4], 5) // false * * binarySearch( * [ // list * { id: 1, name: "Jeff" }, * { id: 2, name: "Steve" }, * { id: 3, name: "Dave" }, * { id: 4, name: "Alex" }, * ], * { id: 3, name: "Dave" }, // target * item => item.id // extractor * ) // true * ``` */ export declare function binarySearch(list: number[], target: number): boolean; export declare function binarySearch<T>(list: T[], target: T, extractor?: (currentItem: T) => number): boolean;