Binary Search: Search a sorted array by repeatedly in-between the search interval in half. Start with an interval covering the entire array. If the value of the search key is less than the item in the middle of the interval, narrow the interval to the lower half. Otherwise narrow it to the upper half. Repeatedly check unless the value is found or the interval is empty.
Hashing gives a fast way to search a large, unsorted data set at the cost of additional memory. It is defined as "directly referencing records in a table by doing arithmetic transformations on keys into table addresses."