当前位置: 首页 > news >正文

Go语言数据结构和算法(二十六)线性搜索算法

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

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) }

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

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

念何架构之路

http://www.rkmt.cn/news/108219.html

相关文章:

  • Khoj邮箱验证终极指南:5步配置法解决特殊字符难题
  • oeasy玩py110列表_最大值_最小值_平均值_max_min_avg_sum
  • 终极指南:用ag-ui与LangGraph构建智能AI工作流
  • NutUI分类组件终极指南:5分钟构建专业电商分类页面
  • LangFlow支持异步任务处理,提升AI响应速度
  • Socket.IO-Client-Swift终极指南:构建高效实时协作应用
  • Dify循环节点反复调用Anything-LLM直到满足终止条件
  • 利用Anything-LLM实现ChatGPT级别的本地化智能问答系统
  • Flutter Web渲染演进:从DOM到CanvasKit的架构革命
  • flink的barrier对齐
  • Flux.1 Kontext Dev终极指南:从零开始掌握开源AI图像编辑
  • 18、利用 Microsoft Face API 进行图像人脸检测
  • 16、密码学与网络服务:实用编程指南
  • Typst数学排版精要:从对齐原理到实践优化
  • 终极效率指南:PDFMathTranslate与Zotero完美整合方案
  • 现代前端复制技术的革命性突破:clipboard.js深度解析与实践指南
  • Stressapptest专业指南:打造坚不可摧的系统稳定性防线
  • 终极指南:3步上手Quasar远程管理工具,轻松掌控Windows系统
  • DataX Web UI:企业数据同步的终极可视化解决方案
  • 微信机器人开发神器:Puppet PadLocal 完全指南
  • 分布式训练终极指南:同步与异步策略深度解析
  • Excalidraw SEO优化实践:让搜索引擎收录你的图表
  • 系统可观测性架构实战指南:从基础监控到全链路追踪的5步演进
  • Noria高性能数据流系统实战指南:架构解析与部署优化
  • GitHub Actions自动化部署Anything-LLM到云服务器的CI/CD流程
  • 像素画打印终极指南:从数字创作到实体艺术的完美转换
  • Docker Run命令大全:快速运行LLama-Factory容器的20种方式
  • 基于Kotaemon的开源大模型框架搭建全流程详解
  • 基于Socket.IO-Client-Swift构建高性能iOS多人游戏:从入门到精通
  • 从告警风暴到精准监控:Orleans智能告警聚合实战