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

王林
Release: 2023-07-30 10:51:24
Original
1672 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 a binarySearch function, which accepts an ordered integer array arr and a target value target as parameters. The function uses two variables start and end to represent the start and end positions of the search range.

Then, in a loop, calculate the middle position mid, and update start and end# 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

main function, an ordered integer array arr and the target value target are defined. Call the binarySearch function 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
Popular Tutorials
More>
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!