Golang program for implementation of Binary Search
A binary search is a search strategy used to find elements within a list by consistently reducing the amount of data to be searched and thereby increasing the rate at which the search term is found. To use a binary search algorithm, the list to be operated on must have already been sorted.
Example
package main
import "fmt"
func binarySearch(needle int, haystack []int) bool {
low := 0
high := len(haystack) - 1
for low <= high{
median := (low + high) / 2
if haystack[median] < needle {
low = median + 1
}else{
high = median - 1
}
}
if low == len(haystack) || haystack[low] != needle {
return false
}
return true
}
func main(){
items := []int{1,2, 9, 20, 31, 45, 63, 70, 100}
fmt.Println(binarySearch(63, items))
}
Output
true
Most Helpful This Week
Golang program for implementation LIFO Stack and FIFO Queue
Golang program for implementation of Tower of Hanoi Algorithm
Golang program for implementation of Interpolation Search
Golang program for implementation of Linked List
Golang program for implementation of Shell Sort
Golang program for implementation of AVL Trees
Golang program for implementation of Huffman Coding Algorithm
Golang program for implementation of Radix Sort
Golang program to print all Permutations of a given string
Golang program for implementation of Quick Sort