Go语言数据结构和算法(二十六)线性搜索算法
2026/6/16 17:29:10 网站建设 项目流程

线性搜索是一种顺序搜索算法.它从一端开始遍历列表中的每个元素.直到找到所需的元素.否则搜索将一直持续到数据集的末尾.

1.步骤:

从数组左边的元素开始.将x与数组中的每个元素一一比较.

如果元素与x匹配.则返回索引.

如果所有元素都不匹配.则返回-1.

2.应用场景:

小型数据集:线性搜索算法对于小型数据集非常有效.因为其他算法的开销对性能影响很大.

精确匹配:线性搜索算法在搜索精确匹配时很有用.因为它会找到数据集中第一次出现的目标元素.

3.实现:

3.1方法:
package data func LinearSearch(dataList []int, key int) bool { for _, value := range dataList { if value == key { return true } } return false }
3.2main方法:
func main() { array := []int{95, 78, 46, 58, 45, 86, 99, 251, 320} search := data.LinearSearch(array, 100) fmt.Println(search) }

4.实战:

给定一个严格递增顺序排序的正整数数组array和一个整数k.查找此数组中缺少的第

k个正整数.

4.1方法:
func FindKeyNumber(array []int, k int) int { number, index := 1, 0 for index < len(array) { if array[index] != number { k-- } else { index++ } if k == 0 { break } number++ } if k != 0 { number += k - 1 } return number }
4.2main方法:
func main() { array := []int{1, 2, 3, 4, 5, 6, 7, 8, 99, 251, 320} search := data.FindKeyNumber(array, 6) fmt.Println(search) }

寻寻觅觅.凄凄惨惨戚戚.

如果大家喜欢我的分享的话.可以关注我的微信公众号

念何架构之路

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询