Quick Start: Using Go language functions to implement the binary search algorithm
The binary search algorithm (Binary Search) is an efficient search algorithm, and its time complexity is O(log n). When dealing with ordered arrays, binary search can quickly locate the location of the target element. This article will use Go language functions to implement the binary search algorithm and provide code examples.
The basic idea of the binary search algorithm is to narrow the search range by comparing the size relationship between the target value and the middle element of the array until the target value is found or the search range is empty.
The following is a code example for the Go language function to implement the binary search algorithm:
package main import "fmt" // 二分查找函数 func binarySearch(arr []int, target int) int { start := 0 end := len(arr) - 1 for start <= end { mid := (start + end) / 2 // 目标值在数组右侧 if arr[mid] < target { start = mid + 1 } // 目标值在数组左侧 else if arr[mid] > target { end = mid - 1 } // 找到目标值 else { return mid } } // 没有找到目标值 return -1 } func main() { arr := []int{1, 3, 5, 7, 9, 11, 13, 15} target := 9 index := binarySearch(arr, target) if index != -1 { fmt.Println("目标值", target, "在数组中的索引为", index) } else { fmt.Println("目标值", target, "不在数组中") } }
The above code first defines abinarySearch
function, which accepts an ordered integer arrayarr
and a target valuetarget
as parameters. The function uses two variablesstart
andend
to represent the start and end positions of the search range.
Then, in a loop, calculate the middle positionmid
, and updatestart
andend# based on the size relationship between the middle element and the target value The value of ## narrows the search scope. If the middle element is equal to the target value, the target value is found and its index is returned. If the search range is empty, it means that the target value is not found and -1 is returned.
mainfunction, an ordered integer array
arrand the target value
targetare defined. Call the
binarySearchfunction to perform a binary search and perform corresponding output based on the value of the returned index.
The above is the detailed content of Quick Start: Using Go Language Functions to Implement Binary Search Algorithm. For more information, please follow other related articles on the PHP Chinese website!