Quick Start: Using Go Language Functions to Implement Binary Search Algorithm

王林
Release: 2023-07-30 10:51:24
Original
1627 people have browsed it

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, "不在数组中") } }
Copy after login

The above code first defines abinarySearchfunction, which accepts an ordered integer arrayarrand a target valuetargetas parameters. The function uses two variablesstartandendto represent the start and end positions of the search range.

Then, in a loop, calculate the middle positionmid, and updatestartandend# 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.

In the

mainfunction, an ordered integer arrayarrand the target valuetargetare defined. Call thebinarySearchfunction to perform a binary search and perform corresponding output based on the value of the returned index.

Through the above code examples, we can quickly learn how to use Go language functions to implement the binary search algorithm. This algorithm is very efficient when processing large-scale ordered data and can significantly reduce search time. In practical applications, we can flexibly use the binary search algorithm according to specific scenarios to improve code execution efficiency.

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!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!